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