实现定时器定时 1 秒钟,LED 亮灭显示

2022-12-19,,,

实现定时器定时 1 秒钟,LED 亮灭显示


要求

每隔一秒钟,实现LED灯的显隐转换

实验代码

/**************************************************************************************
* 定时器1中断实验 *
实现现象:实现定时器定时 1 秒钟,LED 亮灭显示
注意事项:
***************************************************************************************/ #include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器 typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8; sbit led = P2^; /*******************************************************************************
* 函 数 名 : Timer1Init
* 函数功能 : 定时器1初始化
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void Timer1Init()
{
TMOD|=0X10;//选择为定时器1模式,工作方式1,仅用TR1打开启动。
TH1=0XFC; //给定时器赋初值,定时1ms
TL1=0X18;
ET1=;//打开定时器1中断允许
EA=;//打开总中断
TR1=;//打开定时器
} /*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void main()
{
Timer1Init(); //定时器1初始化
while();
} /*******************************************************************************
* 函 数 名 : void Timer1() interrupt 3
* 函数功能 : 定时器0中断函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void Timer1() interrupt
{
static u16 i;
TH1=0XFC; //给定时器赋初值,定时1ms
TL1=0X18;
i++;
if(i==)
{
led = ~led;
i=;
}
}

效果图

实现定时器定时 1 秒钟,LED 亮灭显示的相关教程结束。

《实现定时器定时 1 秒钟,LED 亮灭显示.doc》

下载本文的Word格式文档,以方便收藏与打印。