main.c
来自「MC9S12DG128B中断的编写、舵机的控制、电机的控制等代码」· C语言 代码 · 共 46 行
C
46 行
#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 + =
减小字号Ctrl + -
显示快捷键?