Giải thuật chương trình con “READ_CLOCK”

Một phần của tài liệu ĐỒ án môn học THIẾT kế CHẾ tạo LỊCH vạn NIÊN điều KHIỂN từ XA (Trang 50 - 58)

II. THIẾT KẾ MẠCH ĐỒNG HỒ THỜI GIAN THỰC

2.4.3. Giải thuật chương trình con “READ_CLOCK”

• Gởi điều kiện START đến RTC • Gởi tiếp địa chỉ Slave + W (0D0h).

• Gởi địa chỉ thanh ghi đầu tiên được chọn để ghi (00h: địa chỉ thanh ghi SECOND).

• Gởi điều kiện STOP. • Gởi lại điều kiện START. • Gởi địa chỉ Slave + R (0D1h).

• Bắt đầu đọc lần lượt từng byte dữ liệu từ RTC. Đầu tiên là giây, phút, giờ, thứ, ngày, tháng, năm, giá trị thanh ghi control và cuối cùng là thời gian báo thức

• •

2.4.4.. Lưu đồ

2.4.4.1.Lưu đồ chương trình chính

BEGIN

Khởi tạo giá trị ban đầu

Đọc thời gian thực từ RTC

Hiển thị thời gian ra led 7 đoạn

Thời gian báo thức

Mở/tắt chuông theo từng giờ

2.4.2.2. Lưu đồ chương trình con

Lưu đồ chương trình con “WRITE_CLOCK” BEGIN

Gởi điều kiện STOP Gởi điều kiện

START

Gởi địa chỉ Slave+W (0D0h)

Gởi 1 byte địa chỉ con trở (00h)

Ghi tất cả byte dữ liệu như: giây, phút,....,thời gian báo

Lưu đồ chương trình con “READ_CLOCK”

BEGIN

RET

Gởi điều kiện STOP Gởi điều kiện

START

Gởi địa chỉ Slave+W (0D0h)

Gởi 1 byte địa chỉ con trở (00h)

Đọc tất cả byte dữ liệu như: giây, phút,....,thời gian báo

thức từ RTC Gởi điều kiện STOP

Gởi điều kiện START Gởi địa chỉ Slave+R

Lưu đồ chương trình con ghi 1 byte vào DS1307“SEND_BYTE” N Y Y Y N N BEGIN RET Tạo một xung nhip

tại chân SCL Gán giá trị BITCOUNT = 08

ACC.7 = = 0

SDA = 1 SDA = 0

Quay trái thanh ghi A

LAST = = 0

Gởi bit NACK Gởi bit ACK

BITCOUNT = =

Lưu đồ chương trình con đọc 1 byte từ DS1307“READ_BYTE” N Y Y N BEGIN RET Đưa dữ liệu từ SDA

vào cờ C Gán giá trị: A = 00

BITCOUNT = 08

Quay trái thanh ghi A có cớ nhớ C

LAST = = 0

Gởi bit NACK Gởi bit ACK

BITCOUNT = = 0 Tạo một xung nhip tại

Lưu đồ chương trình con “ALARM_CLOCK_TEST” N N Y N Y Y BEGIN RET HOUR = = ALK_HOUR MINUTE = = ALK_MINUTE Kích hoạt hệ thống âm thanh MINUTE = = ALK_MINUTE Đọc thời gian thực từ RTC Hiển thị ra led 7 đoạn Dừng kích hoạt hệ thống âm thanh

Lưu đồ chương trình con “TAT_MO_CHUONG” N N N Y Y Y Y BEGIN RET R3 = = 0FFH MINUTE = = 0 Kích hoạt hệ thống âm thanh SECOND = = 0 Tạo trễ khoảng 0.5s Dừng kích hoạt hệ thống âm thanh

Một phần của tài liệu ĐỒ án môn học THIẾT kế CHẾ tạo LỊCH vạn NIÊN điều KHIỂN từ XA (Trang 50 - 58)