#include /* common defines and macros */
#include /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
void main(void) {
DDRB=0XFF;//PORTB设定为输出
PORTB=0X7e;//PORTB初始化为全高 试验显示 运行时一直只有两边的两个灯在亮 可见程序没有进入中断
TSCR1=0x90;//定时器使能且TFLG1能被自动清除
TSCR2=0x07;//定时器预分频系数设定 Prescale Factor=128
TIE=0x01;//定时器通道0使能
TIOS_IOS0=1;//定时器通道0设定为输出比较
EnableInterrupts;//开中断
for(;;) {} /* wait forever */
/* please make sure that you never leave this function */
}
/*
***************************************************************************
*语法格式:interrupt void Timer(void)
*实现功能ORTB小灯的闪烁
*程序描述:
**************************************************************************/
void interrupt 8 Timer(void) //8为定时器通道0的中断标号
{
DisableInterrupts; //关中断
TC0=TCNT+19360;//F = Fosc / (TC*128) 中断频率设定
PORTB=0xef;
}
哪位朋友懂,请帮帮忙吧,我对这个单片机也步熟悉
单片机是MC9S12DG128,这块试验板是参加飞思卡尔智能车 指定的那块 |