Ðăng Nhập

View Full Version : hỏi về ds 1307


mini_2440
03-04-2011, 07:10 PM
ds1307 xuất nhập giá trị dạng BCD, ví dụ nó truyền đến pic giá trị giây sec=15 giây chẳng hạn, (viết có vẻ giống dạng hex 0x nhưng vẫn là BCD các bác nhỉ)? , Nghĩa là trình dịch có tự convert giá trị dạng bin sang int khi nhận giá trị dạng bin từ rtc nhét vào biến sec không ạ,

em sử dụng code library có sẵn cho ds1307, trong đó đã có hàm bin2bcd và bcd2bin, nghĩa là giá trị ra vào pic từ rtc sẽ là dạng bin. Em gán giá trị đó vào biến sec, biến sec này đuợc khai báo ở đầu là dạng int. giả sử biến sec đuợc gán giá trị lấy từ rtc là sec=0b00001111 tuơng ứng với 15 giấy như trên và em có lệnh abc = sec/10 thì abc sẽ là 7 hay là 1 ? hay phải làm thế nào ạ ,
Vậy, thì pic sẽ nhận đuơc giá trị nào: 0001 0101 hay là 0x15,

mistdamo
04-04-2011, 07:58 PM
Data từ rtc -> pic là số hex:
vd: lúc đó 15s thì pic nhận dc là : 0x15 = 0b00010101

data từ pic -> rtc là tùy bạn ( số hex hay số thập phân đều dc)
vd: muốn nạp 12h vào rtc thì gán vào thanh ghi
giatri = 0x12 hoặc giatri= 18 . Rtc sẽ tự hiểu dc. !