智能车制作
标题:
帮忙看看~~~谢谢 定时器中断
[打印本页]
作者:
数学特好
时间:
2010-4-7 10:43
标题:
帮忙看看~~~谢谢 定时器中断
我编了一个PA定时器中断的程序,为了测速信号的收集,但是编完之后,用BDM下到单片机里面的时候 用手摸一下27引脚,即PT7,18号中断进入,但是用函数发生器给27引脚信号却反而不能进入中断了。这是怎么回事?应该不是单片机的问题,我试了两块单片机了!求高人解答,很头疼!下面是我的程序~
#include <hidef.h> /* common defines and macros */
#include <MC9S12XS128.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12xs128"
//*****************************setup clock***************************************************//
void PLL_Init(void)
{
REFDV=1;
SYNR=2;
while (!(CRGFLG&0x08));
CLKSEL=0X80;
} //make clock=24MHZ
void delay (int x)
{ int a,b;
for (a=x;a>0;a--)
for (b=1000;b>0;b--) ;
}
//****************************定时器使能**************************************************//
void Time_init(void)
{
TIOS=0x00;
TSCR1=0x80;
TCTL4=0X01;//上升沿捕捉
PACTL=0X55;//使用PACLK作为计数时钟,且不允许溢出中断
}
//******************************MAIN*******************************************************//
void main(void)
{
DisableInterrupts;
DDRE=0xFF;
PORTE_PE5=1;
PORTE_PE6=1;
PLL_Init();
Time_init();
EnableInterrupts;
for (;;)
{
}
}
//**************************定时器中断入口*************************************************
#pragma CODE_SEG NON_BANKED
interrupt 18 void Time_Catch(void)
{
DisableInterrupts;
if (PACNT%10==0)
{
PORTE_PE5=0;
PACNT=0;
delay (500);
}
PAFLG|=0x02; //clear PAOVF
PORTE_PE5=1;
EnableInterrupts;
}
#pragma CODE_SEG DEFAULT
作者:
数学特好
时间:
2010-4-7 18:07
怎么没人啊·~~~
作者:
夜色里的幽魂
时间:
2010-4-7 22:10
函数发生器是什么波形输出?
作者:
786892880
时间:
2010-4-8 00:05
本帖最后由 786892880 于 2010-4-8 00:07 编辑
lz的意思是不是用手摸单片机pt7引脚就可以进入中断,但是用函数发生器就进入不了,是吧?你用示波器看下函数发生器的波形是不是偏离了,如果是那就危险了。测速建议你参照wj的做法:
http://www.znczz.com/thread-859-1-2.html
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2