智能车制作
标题:
跪求一定时中断程序
[打印本页]
作者:
forgive
时间:
2008-5-26 07:09
标题:
跪求一定时中断程序
<
>我写了几个定时中断程序,但都不能实现功能,希望那位大虾能帮忙写个0.5s的定时中断程序参考一下,谢谢!</P>
作者:
liuchangyin
时间:
2008-5-27 18:05
标题:
Re:跪求一定时中断程序
<
>用主定时器,好像用定时器的通道不行!</P><P>跳不出中断程序,主定时器就可以。以下是定时启动,定时停止,和测速程序段。</P><P>unsigned int main_cnt=0; //主定时器延时0.6s</P><P>/***********主定时器中断服务程序(实现0.6s的延时,测速)********/<BR>#pragma CODE_SEG NON_BANKED<BR>void interrupt int_timeroverflow(void){<BR> if(main_cnt%100==0)<BR> {<BR> //main_cnt=0;<BR> //speed_data0=speed_data1; //保存最近两次速度值(原来有问题)<BR> //speed_data1=speed_cnt;<BR> speed_data0=speed_cnt;<BR> speed_cnt=0;<BR> PORTB=0x00;<BR> }<BR> <BR> if(main_cnt==610) //610*65535=8M*5 实现5秒定时<BR> {<BR> speed(45); //速度太慢不能行走<BR> PWMDTY01=motor_middle; //给通道0,1设置duty值(舵机正中)<BR> go=1; <BR> }<BR> if(main_cnt==6100) //610*65535=8M*50 实现50秒定时<BR> {<BR> speed(0); //速度太慢不能行走<BR> PWMDTY01=motor_middle; //给通道0,1设置duty值(舵机正中)<BR> go=0; <BR> }<BR> main_cnt++;<BR> TFLG2_TOF = 1; //clear timer overflow flag<BR>} </P><P>/**********通道5捕捉中断(测速)*******************************/<BR>#pragma CODE_SEG NON_BANKED<BR>interrupt void timerinput5(void){<BR> speed_cnt++;<BR> TFLG1_C5F=1; <BR>}<BR>/************************************************************/</P><P> </P><P> </P>
作者:
forgive
时间:
2008-5-27 18:29
标题:
Re:跪求一定时中断程序
<
>哦,谢谢!</P><P>还有一个问题,</P><P>为啥用ECT里面的递减计数溢出中断不行呢?</P>
作者:
gallop
时间:
2008-8-20 16:52
标题:
Re:跪求一定时中断程序
肯定是你的设置没有弄好,继续修改。好多寄存器的设置是想冲突或者相关的。祝你成功。
作者:
a82532830
时间:
2010-1-9 14:42
3围绕
作者:
jiao19880804
时间:
2010-3-19 20:45
等待中
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2