Trích:
Nguyên văn bởi NATO308
...
Cái số 0xF424 kia thì mình đã hiểu cách tính . Nhưng cái số 0x8020 thì tính như thế nào vậy . Trong tutorial 2, anh Nam có nói rằng : đó là thông tin về nguồn clock, prescaler, chế độ timer.......nhưng mình ko hiểu làm thế nào có số đó. Ai giúp với !
|
Cái số đó của thanh ghi T1CON tính theo mục 12-3 (Timer 1 là Type A timer) trong tài liệu "dsPIC30F Family Reference Manual" (không biết tôi còn phải nhắc về tài liệu này bao nhiêu lần nữa). Tính như sau:
- bit 15 là TON: '1' là bật, và '0' là tắt
- bit 13 là TSIDL: '1' là ngưng chạy khi CPU ở mode idle, và '0' là chạy liên tục
- bit 6 là TGATE: '1' là cho phép dùng gate (xem sơ đồ khối hình 12-1), và '0' là không cho phép dùng gate
- bit <5:4> là TCKPS<1:0>: là các bit dùng để chọn giá trị prescale (chia trước)
- bit 2 là TSYNC: '1' là có đồng bộ với clock ngoài, và '0' là không đồng bộ với clock ngoài
- bit 1 là TCS: '1' là dùng clock ngoài ở chân TxCK (x = 1 cho Timer 1), và '0' là dùng Fcy làm clock
Các bit còn lại không được hiện thực, và xem là có giá trị '0'. Tổng hợp các thông tin trên, nếu cần bật Timer 1, cho nó chạy liên tục, không dùng gate, với prescale bằng 1:64, không cần đồng bộ với clock ngoài (vì sẽ không dùng clock ngoài), và dùng Fcy làm clock, ta có giá trị nhị phân: 0b1000 0000 0010 0000 = 0x8020.
Thân,