Ðề tài: Tutorial 2 - Help !
View Single Post
Old 30-03-2009, 04:33 PM   #2
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi NATO308 View Post
...
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,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn