Thông báo

Collapse
No announcement yet.

Dùng 16 chân MCU quét 16 led 7 đoạn không dùng IC mở rộng chân.

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Dùng 16 chân MCU quét 16 led 7 đoạn không dùng IC mở rộng chân.

    Dưới đây mình có đính kèm project với ý tưởng như vậy, tất nhiên trên cơ sở ý tưởng, còn mô phỏng thực ra chạy chưa chuẩn thì phải, ai đó nếu có làm lịch vạn niên có thể làm mạch theo ý tưởng này hoặc ít nhất là có thể sử dụng phương pháp lập trình và quét led như mình sử dụng ở đây. Nó rất gọn nhẹ, nếu cần thay đổi thông tin hiển thị trên led nào thì bạn cứ tiến hành ghi vào mảng buf ở vị trí tuơng ứng, timer sẽ làm nhiệm vụ còn lại. Giả sử bạn muốn led số 5 hiển thị số 9 thì bạn cho buf[4]=9; vậy là xong.

    18 chân mà viết nhầm thành 16 sr nhé.
    Attached Files
    Last edited by myth-coder; 26-10-2013, 18:04. Lý do: Xin phép up lại phần code đã được chỉnh sửa

  • #2
    Xong rồi, trước đó có chút sai lầm trong thuật toán giờ thì đã được mình sửa đẹp rồi. mọi thứ giờ khá ổn cho việc hiển thị của 1 bộ lịch vạn niên rồi. Với 16 led 7 đoạn tin rằng đã đủ thông tin cơ bản cho 1 bộ lịch vạn niên, nếu ai đó cần thêm thì có thể thêm vào thoải mái vì quét theo bank nên giờ cứ mỗi bank có nghĩa là mỗi chân cộng thêm mình có thể quét được cho 8 led 7 đoạn nữa đó. Hiện tại đang sử dụng 18 chân cho 16 led 7 đoạn nếu tăng thêm 8 led 7 đoạn nữa thì chỉ cần tốn thêm 1 chân vsl nữa mà thôi .
    Attached Files
    Last edited by myth-coder; 26-10-2013, 18:56. Lý do: Quên không up file đính kèm :)

    Comment


    • #3
      Lại 1 sự chỉnh sửa code nữa, cái này thì tốt hơn cái trước 1 chút, nếu ai đó có làm theo mà muốn thêm bank thì đặt lại giá trị reset cho bank và thay đổi biến clearMask. clearMask dùng trong trường hợp này vì có 1 port để chọn bank nhưng mới chỉ dùng có 2 chân khi chọn bank theo các bài trên thì sẽ làm thay đổi các giá trị của port chọn bank (các chân không dùng), nhưng với việc sử dụng clearMask thì hiện tượng này không còn nữa -> kết quả chuẩn hơn. Trên máy mình thì đã chạy ok, nhưng nếu máy ai đó hơi yếu chút thì có thể LED sẽ không đúng lắm vì CPU đem ra giả lập nhưng không đủ tài nguyên nên hiển thị sẽ hơi giật, nếu đem chạy thực tế thì chuẩn 100%.
      Click image for larger version

Name:	16x7seg.jpg
Views:	1
Size:	64.2 KB
ID:	1387565
      Click image for larger version

Name:	Capture.JPG
Views:	1
Size:	150.6 KB
ID:	1387567
      Last edited by myth-coder; 26-10-2013, 18:55. Lý do: Plus thêm cái ảnh cho nó oách :)

      Comment


      • #4
        Nguyên văn bởi myth-coder Xem bài viết
        nếu đem chạy thực tế thì chuẩn 100%.
        [ATTACH=CONFIG]76910[/ATTACH]
        [ATTACH=CONFIG]76912[/ATTACH]
        quét led 24h/s chỉ là trên lý thuyết,áp dụng vào thực tế thì led sẽ bị nháy.

        Comment


        • #5
          Nguyên văn bởi myth-coder Xem bài viết
          Lại 1 sự chỉnh sửa code nữa, cái này thì tốt hơn cái trước 1 chút, nếu ai đó có làm theo mà muốn thêm bank thì đặt lại giá trị reset cho bank và thay đổi biến clearMask. clearMask dùng trong trường hợp này vì có 1 port để chọn bank nhưng mới chỉ dùng có 2 chân khi chọn bank theo các bài trên thì sẽ làm thay đổi các giá trị của port chọn bank (các chân không dùng), nhưng với việc sử dụng clearMask thì hiện tượng này không còn nữa -> kết quả chuẩn hơn. Trên máy mình thì đã chạy ok, nhưng nếu máy ai đó hơi yếu chút thì có thể LED sẽ không đúng lắm vì CPU đem ra giả lập nhưng không đủ tài nguyên nên hiển thị sẽ hơi giật, nếu đem chạy thực tế thì chuẩn 100%.
          [ATTACH=CONFIG]76910[/ATTACH]
          [ATTACH=CONFIG]76912[/ATTACH]
          bạn trẻ này có vẻ còn phụ thuộc và mô phỏng và ít làm với thực tế. mạch này ở thực tế sẽ rất giật và led sáng cực yếu do thời gian ghim áp quá nhỏ, số lượt quét quá lớn. hơn nữa cái tần số 24h/s của mắt người chỉ mang tính chất tương đối, nếu để 24 chắc chắn giật, ít nhất tốc độ của nó cũng phải rơi vào tầm 40-50h/s
          Với dạng như thế này người ta sẽ xài IC mở rộng cổng, quét // 2 led 1 lúc
          Website chính thức đổi địa chỉ website thành
          Mời các bạn ghé thăm !!!

          Comment


          • #6
            Nguyên văn bởi mast090 Xem bài viết
            bạn trẻ này có vẻ còn phụ thuộc và mô phỏng và ít làm với thực tế. mạch này ở thực tế sẽ rất giật và led sáng cực yếu do thời gian ghim áp quá nhỏ, số lượt quét quá lớn. hơn nữa cái tần số 24h/s của mắt người chỉ mang tính chất tương đối, nếu để 24 chắc chắn giật, ít nhất tốc độ của nó cũng phải rơi vào tầm 40-50h/s
            Với dạng như thế này người ta sẽ xài IC mở rộng cổng, quét // 2 led 1 lúc
            Mình chỉ dùng mô phỏng những thứ mà chưa làm được mạch thực tế và mang tính thử để xem cách giao tiếp thôi. quét 24fps là để mô phỏng nó không bị quá tải vì tài nguyên không đủ, còn ra thực tế thì có thể đẩy tần số quét lên 50Hz mà, có điều nói 50Hz thì nhìn vẫn cứ giật, tần số để không thấy rung thực sự là 55 hoặc 60Hz trở nên cơ. Cái này chỉ là định hướng lại cách mà mọi người quét led thôi vì thấy toàn chơi trò dùng đến đâu quét đến đấy chứ ít người dùng timer với RAM ánh xạ để tự động hóa nó.

            Comment

            Về tác giả

            Collapse

            myth-coder Tìm hiểu thêm về myth-coder

            Bài viết mới nhất

            Collapse

            Đang tải...
            X