📄 main.c
字号:
/*-----------------------------------------------------*
*文件名:Tim1Ch0I.prj *
*硬件接线:1:PTA.1接指示灯 *
* 2:PTD.4,即定时器1通道0(21脚),接开关 *
*程序描述:以输入捕捉中断方式, *
* 开关拨动使捕捉中断取反指示灯PTA1,使其闪动 *
*目的:学习HC08系列定时器溢出捕捉功能 *
*说明:本例是将定时器1通道0(21脚)设为"跳变沿捕捉" *
* (即电平发生变化时产生中断),验证方法是将21脚不 *
* 断接高电平、低电平,此时指示灯PTA1状态跟随改变 *
*---------《嵌入式应用技术基础教程》教学实例----------*/
#include "GP32C.h"
#include "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计数寄存器计数
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -