Trích:
Nguyên văn bởi hailuabk
Em chỉ còn thắc mắc chỗ lấy dữ liệu ra ở con DS1307 rồi chuyển qua mã BCD sau đó lại đưa dữ liệu vào led 7 đoạn.Tại sao phải chuyển qua BCD mà không phải là số thập phân luôn
|
em hỉu sai !Khi nạp vào con RTC 1307 , ta phải chuyển thành mã BCD .
vd : mún nạp ngày = 27 thì phải nạp 0x27 .
Còn khi đọc ra , dữ liẹu ta thu đc là số có dạng mã BCD , ta phải chuyển wa thành số thập phân để dễ làm việc khi xuất led
vd : ngay = read_rtc(0x04) ; // ngày = 0x27 <-- số này là số BCD
bước tiếp theo ngay = (ngay>>4)*10 + (ngay&0x0F) // lúc này ngày = 27 <-- số thập phân đây