智能车制作
标题:
大哥大姐们 帮我看看为什么我的程序不能进入中断~简单的程序
[打印本页]
作者:
数学特好
时间:
2010-4-4 20:43
标题:
大哥大姐们 帮我看看为什么我的程序不能进入中断~简单的程序
就是0通道输入捕捉 然后有45个上升沿时LED亮灭求反~
谢谢!!!!
#include <hidef.h> /* common defines and macros */
#include <MC9S12XS128.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12xs128"
uchar i=0;
//*****************************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)
{
TSCR1=0X90;
TSCR2=0X03;//预分频为8
TIOS=0x00;//IOS1为输入捕捉
TCTL4=0X01;//上升沿捕捉
TIE=0x01;//允许中断
}
//******************************MAIN*******************************************************//
void main(void) {
DisableInterrupts;
DDRE=0xFF;
PLL_Init();
Time_init();
EnableInterrupts;
for (;;){
}
}
//**************************定时器中断入口*************************************************
#pragma CODE_SEG NON_BANKED
interrupt 15 void Time_Catch(void)
{
i++;
if(i==45)
{
PORTE_PE6=!PORTE_PE6;
i=0;
}
TFLG1_C0F=1;
}
#pragma CODE_SEG DEFAULT
作者:
破风
时间:
2010-4-4 21:52
期待高人~~~~~~
作者:
夜色里的幽魂
时间:
2010-4-4 22:01
如果你是用 0通道 输入捕捉的话
那么你的中断类型号设置错误了
应该改成
interrupt 8 void Time_Catch(void)
你可以试试
作者:
数学特好
时间:
2010-4-5 10:53
回复
3#
夜色里的幽魂
呵呵 是老乡 我也是安徽人
不好意思我的中断号写的是8,但是在这上面弄错了,但是8还是不行~
作者:
cys179
时间:
2010-4-5 11:06
这个貌似要调试了吧!PORTE_PE6=!PORTE_PE6;
你原来PORTE_PE6电平时高还是低?e6接led了??为了保险起见if(i==45)最好写成if(i>=45)!再调试一下看看中断是否能进去。
补充内容 (2015-4-23 09:15):
真人游戏|足球篮球|时时彩| 六合投注|
网络赚钱去SO娱乐城:顶级信用,提现百分百即时到账SO.CC
作者:
数学特好
时间:
2010-4-5 14:21
嗯 !谢谢楼上各位 我再试试
作者:
数学特好
时间:
2010-4-5 14:21
嗯 !谢谢楼上各位 我再试试
作者:
数学特好
时间:
2010-4-5 14:21
嗯 !谢谢楼上各位 我再试试
作者:
竹本选
时间:
2012-6-30 15:38
TSCR1=0X90;
是不是0x80
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2