|
Tài trợ cho PIC Vietnam |
dsPIC - Bộ điều khiển tín hiệu số 16-bit Theo dự kiến của Microchip, vào khoảng năm 2011 dsPIC sẽ có doanh số lớn hơn PIC |
|
Ðiều Chỉnh | Xếp Bài |
|
30-03-2009, 03:56 PM | #1 |
Nhập môn đệ tử
Tham gia ngày: May 2008
Bài gửi: 9
: |
Tutorial 2 - Help !
Trong ví dụ,
void Init_TMR1(void) { TMR1 = 0; //Xoa so dem trong TMR1 PR1 = 0xF424; //Nguong tran la 0,5 giay tuong ung //voi clock = 32 MHz _T1IF = 0; //Xoa co ngat cua Timer 1 T1CON = 0x8020; //Dung fcy lam clock, prescale = 1:64 _T1IE = 1; //Cho phep ngat Timer 1 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 ! Mình đã tìm thấy câu trả lời rồi ! Del bài nhưng ko del được. thay đổi nội dung bởi: NATO308, 30-03-2009 lúc 04:32 PM. Lý do: Đã thấy câu trả lời |
30-03-2009, 04:33 PM | #2 | |
Trưởng lão PIC bang
|
Trích:
- 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 |
|
|
|