定时器中断方式控制LED--第六天

1.思路:

1.1给定时器TMOD 初值

给初值定一个10ms

TR0 =1 开始计时 ;TF0 = 0 计算爆表

ET0 = 1 打开定时器0中断 ; EA = 1 打开总中断EA

1.2.main()函数里面的软件定时消掉,用定时器定时 ;定义一个中断函数,写入爆表100次,led翻转

复制代码
#include "reg52.h"
#include <intrins.h>

sbit led  = P3^6;
sbit led1 = P3^7;
int cnt = 0;

void Time0Init()
{
		
	TMOD = 0x01;

	
	TL0 = 0x00;
	TH0 = 0xDC;
			
	TR0 = 1; 
	TF0 = 0; 
	
	
	ET0 = 1;
	
	EA = 1;
}

void Delay500ms()		//@11.0592MHz
{
	unsigned char i, j, k;

	_nop_();
	i = 4;
	j = 129;
	k = 119;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}


void main()
{
	led = 1;
	
	Time0Init();
	while(1)
	{
			led1 = 0;
			Delay500ms();
			led1 = 1;
			Delay500ms();
	}
}


void Time0Handler() interrupt 1
{
	
					cnt++;  
					TL0 = 0x00;
					TH0 = 0xDC;
				if(cnt == 100){ 
							cnt = 0; 
							led = !led; 
					}
}
相关推荐
FreakStudio几秒前
ESP32居然能当 DNS 服务器用?内含NCSI欺骗和DNS劫持实现
python·单片机·嵌入式·面向对象·并行计算·电子diy
LXY_BUAA27 分钟前
《嵌入式操作系统》_使用GPIOLIB编写驱动_添加驱动到内核中_20260328
驱动开发·嵌入式硬件
liwulin05064 小时前
【ESP32-S3】通过ROS2使用YDLIDAR X2进行SLAM、自主导航方案选择
单片机·嵌入式硬件
是翔仔呐5 小时前
第11章 显示外设驱动:I2C协议OLED屏、SPI协议LCD屏字符/图片/中文显示
c语言·开发语言·stm32·单片机·嵌入式硬件·学习·gitee
-凌凌漆-7 小时前
【嵌入式】FreeRTOS串口等待vTaskDelay()
嵌入式硬件
小昭在路上……8 小时前
GPIO端口引脚(位域)打包技巧笔记
单片机·嵌入式硬件
是翔仔呐8 小时前
第13章 SPI通信协议全解:底层时序、4种工作模式与W25Qxx Flash芯片读写实战
c语言·开发语言·stm32·单片机·嵌入式硬件·学习·gitee
悠哉悠哉愿意8 小时前
【单片机复习笔记】第十六届省赛复盘
笔记·单片机·嵌入式硬件
IT方大同8 小时前
RT_thread(RTOS实时操作系统)线程的创建与切换
c语言·开发语言·嵌入式硬件
是翔仔呐8 小时前
第14章 CAN总线通信全解:底层原理、帧结构与双机CAN通信实战
c语言·开发语言·stm32·单片机·嵌入式硬件·学习·gitee