下面是我写的部分程序,初始化部分是从汇编中移过来的(汇编的程序是能运行,这是前提),问题是在利用计数器作计数延时时,延时函数不能变化,我的测试是GP4驱动LED作一亮一灭的变化,但是延时不能产生应有的时间,计数源是利用外接50HZ的变压器交流信号。LED一直是亮的,没产生灭的现象,请各位看看我的程序是哪里出了问题?初始化么?希望大家给点建议,或者给个参考,谢谢拉!
//初始化 void InitPIC(void) { OPTION =0xE0; //1110 0000 TOSE=0,TOSC=1,PSA=1 TRIS=0x1c; //0001 1100 TMR0=0 ; //计数置0 }
//********利用50HZ交流信号作计数输入信号*********************** // 0.02*2*250=10s void delay_count() { //TMR0=0; //这句存在与不存在是一样的结果 CLRWDT() ; //WDT清0 while(TMR0==0Xfa); { TMR0=0; } }
|