RP Store Tìm linh kiện theo mã, gửi BOM nhận báo giá Gửi BOM

Đồng hồ số dùng 4 LED 7 đoạn

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts

  • Toan.Lv
    replied
    Lâu ngày quá ! Ngoài Hà nội trời đẹp không bạn ?
    Sáng nay thì trời đẹp, tranh thủ mang mấy bộ quần áo ra phơi chiều thì không bít.
    Mấy ngày nay mưa tầm tã, nó mà mưa thêm 4 năm ngày nữa thì chỉ có nước...nude

    Leave a comment:


  • Multi System
    replied
    Chà !! Trả lời chi tiết thế này thì còn gì bằng
    Lâu ngày quá ! Ngoài Hà nội trời đẹp không bạn ?

    Leave a comment:


  • Toan.Lv
    replied
    Mình có biết qua về thuật toán nhưng không biết đúng hết chưa,anh em ai biết chỉ dùm mình với
    Đồng hồ có dạng h1 h2 : m1 m2

    Dùng timer 0 để tạo clock
    Clock xuất ra được giờ(tính được h1 h2),phút(tính ra m1 m2)
    Dùng timer 1 để quét 4 led
    LED1 hiển thị h1
    LED2 hiển thị h2
    LED3 hiển thị m1
    LED4 hiển thị m2

    Mình có 2 í thắc mắc
    1) Có nhất thiết phải dùng timer 0 cho clock, timer 1 để quét không, hay dùng ngược lại vẫn được?
    (vì mình nghĩ timer 0 được ưu tiên hơn nên khi vào timer 0 thì quá trình quét bị dừng lại)
    2) Trong hàm ngắt timer 0 tạo clock có biểu thức tính phút=phút++;
    giờ=giờ++;
    Nếu sau mỗi khi thực hiện ngắt xong, thoát ra (để quét 4 LED tiếp) thì những giá trị này có bị reset lại như trước khi ngắt không? (nếu mà như vậy thì giá trị quét trên 4 LED sẽ không đúng nữa)
    Mong mọi người giúp đỡ!
    1/Không nhất thiết phải dùng timer0 cho clock, timer1 để quét LED vì đây là 2 ngoại vi độc lập với nhau của 8051. Tuy nhiên nếu bạn dùng cả ngắt timer0 và ngắt timer1 thì nên chú ý đến vấn đề ưu tiên của 2 ngắt này.
    2/Nếu các biến chứa giá trị về giờ phút nếu được khai báo là biến toàn cục, thì khi ra khỏi chương trình ngắt giá trị của nó không bị mất đi. Nhưng nếu bạn khai báo nó là biến cục bộ trong chương trình phục vụ ngắt thì khi thoát khỏi ngắt, giá trị của nó không còn.
    3/Không nhất thiết phải dùng 2 timer cho công việc này. Chỉ cần 1 timer để đếm tăng thời gian. Phần quét LED bạn có thể đưa vào vòng lặp while(1).
    4/Mạch của bạn dùng làm mạch đếm thời gian để chơi thôi, không phải là mạch đồng hồ thời gian thực. Vì timer của VDK không thể cho ta thời gian thực. Muốn có thời gian thực thì phải sử dụng các loại RTC như DS12887,DS1307...

    Leave a comment:


  • Multi System
    replied
    Bạn nên xem mức ưu tiên ngắt mà chọn chương trình ngắt cho hợp lí.

    Leave a comment:


  • legosse
    started a topic Đồng hồ số dùng 4 LED 7 đoạn

    Đồng hồ số dùng 4 LED 7 đoạn

    Mình có biết qua về thuật toán nhưng không biết đúng hết chưa,anh em ai biết chỉ dùm mình với
    Đồng hồ có dạng h1 h2 : m1 m2

    Dùng timer 0 để tạo clock
    Clock xuất ra được giờ(tính được h1 h2),phút(tính ra m1 m2)
    Dùng timer 1 để quét 4 led
    LED1 hiển thị h1
    LED2 hiển thị h2
    LED3 hiển thị m1
    LED4 hiển thị m2

    Mình có 2 í thắc mắc
    1) Có nhất thiết phải dùng timer 0 cho clock, timer 1 để quét không, hay dùng ngược lại vẫn được?
    (vì mình nghĩ timer 0 được ưu tiên hơn nên khi vào timer 0 thì quá trình quét bị dừng lại)
    2) Trong hàm ngắt timer 0 tạo clock có biểu thức tính phút=phút++;
    giờ=giờ++;
    Nếu sau mỗi khi thực hiện ngắt xong, thoát ra (để quét 4 LED tiếp) thì những giá trị này có bị reset lại như trước khi ngắt không? (nếu mà như vậy thì giá trị quét trên 4 LED sẽ không đúng nữa)
    Mong mọi người giúp đỡ!

Về tác giả

Collapse

legosse Tìm hiểu thêm về legosse

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

Collapse

Đang tải...