![]() |
sửa lỗi timer0 giúp mình
Mình muốn dùng interrupt timer0 để tạo delay 1 giây , sau 1 giây thì sẽ đảo port RB1,nhưng mình gặp vấn đề ở chỗ dường như nó không ngắt sau 1 giây, mình cũng ko hiểu code mình sai ở đâu nữa , mong các bạn xem giúp
#include<htc.h> __CONFIG(XT & WDTDIS & PWRTEN & UNPROTECT & LVPDIS & DEBUGDIS); #define _XTAL_FREQ 4000000 void init_port() { //ANSEL=0; //ANSELH=0; TRISB1=0; RB1=0; } void init_timer() { T0CS=0; PSA=0; PS2=1; PS1=1; PS0=1; TMR0=0; } void main() { init_port(); init_timer(); GIE=1; T0IF=0; T0IE=1; while(1){} } void interrupt isr() { int unsigned count=0; if(T0IF) { ++count; if(count>=15) {RB1^=1;count=0;} T0IF=0; TMR0=0; } } nếu không dùng biến count thì có thể ngắt được, nhưng mình muốn nó thực hiện sau 1 giây , và các bạn cho mình hỏi lun tại sao mình dùng dùng 2 thanh ghi ANSEL và ANSELH thì nó báo lỗi undefine zay |
hình như hitech C của bạn là bản cũ thì phải.
phần __CONFIG thấy lạ lạ. 2 thanh ghi ANSEL và ANSELH thì phải xem có trong file pic*****.h không. Nó nằm ở thư mục Code:
C:\Program Files\HI-TECH Software\PICC\9.83\include |
Múi giờ GMT. Hiện tại là 07:43 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam