📄 main.c
字号:
#include <hidef.h> /* common defines and macros */
#include <mc9s12dg128.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
void init_timer()
{
MCCTL_MCEN=1; //开启减法计数器
MCCTL_MODMC=1; //减到零后自动置位,循环计数方式
MCCTL_MCZI=1; //允许减法计数器中断
MCCTL_MCPR=2;//总线8分频,即为1MHz
MCCNT=1000;//1ms溢出一次,触发一次中断
MCFLG=0X80;//清空中断标志寄存器
}
void main(void)
{
DDRB=0xFF;//设置B口为输出
PORTB=0xFF;
init_timer();
EnableInterrupts;//允许中断
while(1);//死循环
}
#pragma CODE_SEG NON_BANKED
//#pragma CODE_SEG_NEAR_SEG NON_BANKED //这样用就不行
interrupt 26 void timer_interrupt(void)
{
static int timecnt=0;
timecnt++;
if(timecnt==2000)
{
PORTB=0;
MCCTL_MCZI=0;
}
MCFLG=0x80;
}
#pragma CODE_SEG DEFAULT
//#pragma CODE_SEG_NEAR_SEG DEFAULT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -