第7章IO接口及增强型捕捉定时器模块(免费阅读).pptVIP

  • 7
  • 0
  • 约6.57万字
  • 约 76页
  • 2017-01-01 发布于重庆
  • 举报

第7章IO接口及增强型捕捉定时器模块(免费阅读).ppt

例二:输入捕捉 初始化,需要在main函数中调用初始化函数ic_init()。 以下是在main函数中,如何使用PORTA_BIT6来产生一个方波信号。 DDRA=0xff; //设置PORTA的方向寄存器,为输出 PORTA=0x00; //PORTA的输出初始化为低电平 DDRB=0xff; //PORTB设置为LED灯的控制信号 PORTB=0xff; //LED全灭 for(;;) { for(i=0;i6000;i++) { PORTA_BIT6=1;//循环中设置信号为高电平 } for(i=0;i6000;i++) { PORTA_BIT6=0; //循环中设置信号为低电平,产生方波 } } 例二:输入捕捉 方波信号已经成功得产生了,下面是中断服务程序: void interrupt 8 ic0_int(void) { TFLG1_C0F=1;//中断标志清除 ic4=TC0; //通过读TC0寄存器来响应中断,ic4 PORTB=0x55; //用LED灯来指示已经进入了中断 /*以下放置其他代码*/ } TFLG1:主定时器中断寄存器1 BIT 7 6 5 4 3 2 1 0 R C7F C6F C5F C4F C3F C2F C1F C0F W RESET 0 0 0 0 0 0 0 0 TFLG1指示了中断发生在哪个通道,需要对相应位清零时,可以对它进行置一操作。 C7F-C0F:IC/OC的中断标志。 TCx:定时器输入捕捉和输出比较寄存器0-7 BIT 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 R TCx 15-0 W RESET 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 TC0-TC7寄存器用来锁存自由计数计数器的值,当得到有效的边沿触发时,我们可以通过读这些寄存器来获得输入捕捉计数值;通过写这些寄存器来设置输出比较的计数值。 任意时刻可读。在输出比较模式任何时刻可写。在输入捕捉模式对寄存器的写操作没有意义。当寄存器复位后,寄存器值等于$0000。 例三:输出比较 这里讲一个输出比较例子,目的是通过OC0通道输出一个有一定宽度的脉冲。 OC0的初始化: void oc_init() { TSCR2 = 0x07;//128分频,定时器溢出中断禁止 TIOS = 0xff; //所有通道作为输出比较通道 TIE = 0x00; //中断全部禁止 TSCR1= 0x90; //主定时器使能 TCTL2=0xaa; // OC0输出电平为低电平 CFORC=0xff; //强制输出比较 } 例三:输出比较 void main(void) { EnableInterrupts; oc_init(); //初始化函数调用 asm_main(); TCTL2_OM0=1; TCTL2_OL0=1; //OC0输出电平为高电平 CFORC_FOC0=1; //OC0强制输出比较 TC0=TCNT+40000; //设置脉冲宽度,在自由计数器TCNT的基础上加上脉冲宽度的计数值 TCTL2_OM0=1; TCTL2_OL0=0; //OC0输出电平为低电平 for(;;){/*其他代码*/} } 强制输出比较寄存器--CFORC FOCx—x通道强制输出比较 在相应的寄存器位写入强制输出比较命令,会立即使相应的通道处于输出比较状态。 定时器控制寄存器1/2—TCTL1/2 OMn:输出模式 OLn:输出等级 这8 对控制位是用来指定输出比较的输出动作的,当OMn 和OLn 二者任意一个为1 时,OCn 对应的端口会有相应的输出。 定时器溢出中断例程(可在实验板上运行) #include hidef.h /* common defines and macros */ #include mc9s12dg128.h /* derivative information */ #pragma LINK_INFO DERIVATIVE mc9s12dg128b #pragma CODE_SEG NON_BANKED //9S12中断程序必须定位于non-banked 区域 interrupt 16 void Int_TimerOverFlow(void) { TFLG2_TOF = 1; //clear timer overflow flag //用户自己的代码 PORTA=~PORTA; } #pragma CODE_SEG DEFAULT //9S12中断程序必须定位于//non-banked 区域,必

文档评论(0)

1亿VIP精品文档

相关文档