|
/*-----------------------------------------------------* *文件名:Tim1Ch0I.prj * *硬件接线:1:PTA.1接指示灯 * * 2:PTD.4,即定时器1通道0(21脚),接开关 * *程序描述:以输入捕捉中断方式, * * 开关拨动使捕捉中断取反指示灯PTA1,使其闪动 * *目的:学习HC08系列定时器溢出捕捉功能 * *说明:本例是将定时器1通道0(21脚)设为"跳变沿捕捉" * * (即电平发生变化时产生中断),验证方法是将21脚不 * * 断接高电平、低电平,此时指示灯PTA1状态跟随改变 * *---------《嵌入式应用技术基础教程》教学实例----------*/ #i nclude "GP32C.h" #i nclude "head.h" /*函数声明*/ void SetTim1Ch0I(void); //定时器1和定时器1通道0初始化
void main() { asm("SEI"); //禁止所有中断 //[I/O初始化] Light_D|=1<<Light_Pin; //令指示灯引脚为输出 Light_P|=1<<Light_Pin; //初始时,指示灯"暗" //[定时器1和定时器1通道0初始化] SetTim1Ch0I(); asm("CLI"); //开放中断 //[主循环开始,为空操作] //[等待输入捕捉中断,(开关的拨动)] while(1); }
/*SetTim1Ch0I:定时器1和定时器1通道0 初始化-------------* * 功能:初始化定时器1和定时器1通道0 * * 参数:无 * * 返回:无 * *-----------------------------------------------------*/ void SetTim1Ch0I() { T1SC=0b00110000;//允许溢出中断、不启动计数、分频因子=1 T1SC0=0b01001100; //01001100设置通道0输入捕捉模式, //允许输入捕捉中断,跳变沿捕捉 T1SC&=0b11011111; //允许定时器1计数寄存器计数 } |