Ngày 16/01/2015 09:55:04 / Lượt xem: 4742 / Người đăng:
Nguyễn Thế Trọng Nhân
/ Tác giả: Nguyễn Thế Trọng Nhân
/ Nguồn: Sưu tầm
Chương Trình & mô phỏng đồng hồ thời gian thực dùng RTC DS1307 + AT89C52
Từ lâu mình rất muốn làm 1 cái đồng hồ số hiển thị LED 7 vạch hay còn gọi là đồng hồ điện tử. lúc đó mình còn đi học chỉ mới học tới môn kỹ thuật IC số nên để làm được cái này hầu như là bất khả thi. Lúc đó mình cũng đã thử làm 1 cái nhưng kết quả mình nhận được là 1 cái hộp với 6 con led 7 vạch và bên trong là 1 mớ bù xù mạch điện, ic dây dẫn v..v.. cái này vẫn chạy được (đếm từ 00-00-00 => 23-59-59) nhưng lúc đó mình dùng xung CLk cho đồng hồ từ mạch giao động RC với IC 555 nên kết quả là thời gian chạy trật lất lúc thì chạy nhanh lúc thì chạy chậm mình làm đủ thứ cách tính toán bù trừ cho giá trị mạch giao động cho ra tần số đúng 1Hz nhưng ko được thế là lúc đó mình lên google tìm hiểu và mình truy cập trang blog của bác minhdt thì mình nhận ra 1 điều đó là mình chưa làm được 1 cái mạch phát xung 1S chuẩn (chính là mạch giao động dùng thạch anh) thế là mình nản chí bỏ cái ý định làm đồng hồ đi. và cho tới ngày hôm nay khi đã ra trường với 1 kỹ năng mới đó chính là vi điều khiển. như các bạn biết vi điều khiển nói về bản chất thì nó cũng hoạt động như ic số nhưng nó "thông minh" hơn và gọn hơn nếu trước kia để làm 1 cái đồng hồ số thì phải ráp nhiều mạch nào là đếm lên ,xuống mạch giải mã led 7 đoạn VV.VV với 1 đống ic thì với vi điều khiển thì có thể gộp tất cả lại thành 1 con ic chỉ với các ngõ vào và ngõ ra điều khiển. vấn đề là chúng ta phải biết lập trình để nó chạy như cái mạch mà ta muốn làm.
Quay lại vấn đề chính hôm nay đó là: "đồng hồ hiển thị số trên led 7 vạch dùng vi điều khiển và chip real time"
ở đây VĐK mình dùng con AT89s52 của hãng ATMEL còn chip real time thì là con DS1307 của hãng Dallas
Trong bài này vi điều khiển chỉ có nhiệm vụ hiển thị thời gian lê led 7 vạch và điều chỉnh tham số thời gian theo ý muốn. còn con real time thì có nhiệm vụ cung cấp dữ liệu về thời gian cho vi điều khiển để hiển thị lên led và có chức năng nhận tham số thời gian được chỉ định do người dùng điều chỉnh qua vi điều khiển và nạp vào real time. vì thời gian có hạn nên mình không thể giải thích hết được bài này hẹn bữa nào mình rảnh thì làm mạch thật và giải thích thêm về chương trình và nguyên lí của mạch cho các bạn xem.