Trích:
Nguyên văn bởi lequocbao
Đúng là em đang dùng modul i2c để giao tiếp pic16f877a với ds1307.
Đồng ý là ds1307 trả về số 10(BCD) và chắc chắn pic sẽ nhận được số 10(BCD)
Cái em muốn hiểu là số 10(BCD) như ví dụ trên sau khi được lưu vào biến trong pic thì khi đó bản thân vđk pic sẽ hiểu cái giá trị thực sự trong biến là bao nhiêu?10 hay 128 thập phân?
vì em cần xử lý +,- so sánh ...biến đó với các giá trị thập phân có sẳn trong pic anh ah!
|
Số 10 (BCD) được biểu diễn là '00010000' trong mã nhị phân, hay 0x10 trong mã thập lục phân, hay 16 trong mã thập phân.
Như tôi đã nói trước đó (post #8), bạn chỉ cần chuyển các số BCD thành dạng nhị phân trước khi tính toán, so sánh với các hàm có sẵn. Hoặc bạn có thể tự viết các hàm tính toán, so sánh số BCD, và không cần chuyển dạng thành nhị phân.
Thân,