>#include <hidef.h> /* common defines and macros */<BR>#include <mc9s12dg128.h> /* derivative information */<BR>#pragma LINK_INFO DERIVATIVE "mc9s12dg128b" <BR>unsigned char PUlSECOUNT;<BR>void main(void) {<BR> /* put your own code here */</P><P> DDRB=0xFF; //设置portb为输出<BR> PORTB=0xFF;//portb端口的初始值<BR> //关闭全部中断<BR> TIOS=0x00; //设置ect通道0的工作方式<BR> TSCR1=0x80; //定时器使能,正常工作<BR> TSCR2=0x01; //禁止定时器溢出中断,预分频因子为2<BR> TCTL4=0x02; //仅仅捕捉下降边沿<BR> TIE=0x01; //允许ect通道0中断<BR> TFLG1=0x01; //第0通道中断标志清零<BR> // DLYCT=0x01; //延迟256个总线时钟<BR> PUlSECOUNT=0x01; <BR> EnableInterrupts; //开启全部中断<BR> for(;;) {PORTB=~PUlSECOUNT;} /* wait forever */<BR> /* please make sure that you never leave this function */<BR>}<BR>#pragma CODE_SEG NON_BANKED<BR>void interrupt 8 pause(void) <BR>{<BR> TFLG1=0x01; <BR> if(PUlSECOUNT==0x80) <BR> {<BR> PORTB=~PUlSECOUNT;<BR> PORTB=0xFF;<BR> PUlSECOUNT=0x01;<BR> }<BR> PORTB=~PUlSECOUNT;<BR> PUlSECOUNT<<=1;<BR>}<BR>#pragma CODE_SEG DEFAULT</P><P>出现很奇怪的问题!就是说我用函数发生器输入方波!信号!用ECT模块捕捉下降边沿!通过跑马灯(LED)的原理!通过portb显示结果!</P><P>但是不知道为什么?跑马灯只是走了一趟,第一个走到第8个,之后就显示led灯全灭!然后就没反应了!请大家帮忙看看究竟是哪里除了问题!</P>
>什么问题呢?</P><P> </P>
>#pragma CODE_SEG NON_BANKED<BR>void interrupt 8 pause(void) <BR>{<BR> PORTB=~PUlSECOUNT;<BR> PUlSECOUNT<<=1; </P><P> if( !PUlSECOUNT) <BR> {<BR> PUlSECOUNT=0x01;<BR> }<BR>}</P><P>你的程序太繁琐了。</P>| 欢迎光临 智能车制作 (http://111.231.132.190/) | Powered by Discuz! X3.2 |