智能车制作

标题: 跪求一定时中断程序 [打印本页]

作者: 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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //主定时器延时0.6s</P><P>/***********主定时器中断服务程序(实现0.6s的延时,测速)********/<BR>#pragma CODE_SEG NON_BANKED<BR>void interrupt&nbsp; int_timeroverflow(void){<BR>&nbsp; if(main_cnt%100==0)<BR>&nbsp; {<BR>&nbsp;&nbsp;&nbsp; //main_cnt=0;<BR>&nbsp;&nbsp;&nbsp; //speed_data0=speed_data1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //保存最近两次速度值(原来有问题)<BR>&nbsp;&nbsp;&nbsp; //speed_data1=speed_cnt;<BR>&nbsp;&nbsp;&nbsp; speed_data0=speed_cnt;<BR>&nbsp;&nbsp;&nbsp; speed_cnt=0;<BR>&nbsp;&nbsp;&nbsp; PORTB=0x00;<BR>&nbsp;&nbsp; }<BR>&nbsp;&nbsp; <BR>&nbsp;if(main_cnt==610)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //610*65535=8M*5 实现5秒定时<BR>&nbsp;{<BR>&nbsp; speed(45);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //速度太慢不能行走<BR>&nbsp; PWMDTY01=motor_middle;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //给通道0,1设置duty值(舵机正中)<BR>&nbsp; go=1; <BR>&nbsp;}<BR>&nbsp;if(main_cnt==6100)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //610*65535=8M*50 实现50秒定时<BR>&nbsp;{<BR>&nbsp; speed(0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //速度太慢不能行走<BR>&nbsp; PWMDTY01=motor_middle;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //给通道0,1设置duty值(舵机正中)<BR>&nbsp; go=0; <BR>&nbsp;}<BR>&nbsp; main_cnt++;<BR>&nbsp; TFLG2_TOF&nbsp; = 1;&nbsp; //clear timer overflow flag<BR>} </P><P>/**********通道5捕捉中断(测速)*******************************/<BR>#pragma CODE_SEG NON_BANKED<BR>interrupt void timerinput5(void){<BR>&nbsp; speed_cnt++;<BR>&nbsp; TFLG1_C5F=1; <BR>}<BR>/************************************************************/</P><P>&nbsp;</P><P>&nbsp;</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://111.231.132.190/) Powered by Discuz! X3.2