定时器中断方式控制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; 
					}
}
相关推荐
项目題供诗2 分钟前
51单片机入门(八)
单片机·嵌入式硬件·51单片机
羽获飞29 分钟前
从零开始学嵌入式之STM32——9.STM32的时钟系统
stm32·单片机·嵌入式硬件
飞睿科技1 小时前
乐鑫智能开关方案解析:基于ESP32-C系列的低功耗、高集成设计
嵌入式硬件·物联网·esp32·智能家居·乐鑫科技
来自晴朗的明天2 小时前
13、NMOS 电源防反接电路
单片机·嵌入式硬件·硬件工程
17(无规则自律)3 小时前
深入浅出 Linux 内核模块,写一个内核版的 Hello World
linux·arm开发·嵌入式硬件
芯岭技术3 小时前
PY32MD310单片机:高性能、低功耗的32位电机控制微控制器
单片机·嵌入式硬件
wotaifuzao4 小时前
STM32 + FreeRTOS 的订阅通知组件架构
stm32·嵌入式硬件·架构·freertos·事件驱动·嵌入式架构
小龙报4 小时前
【51单片机】深度解析 51 串口 UART:原理、配置、收发实现与工程化应用全总结
c语言·开发语言·c++·stm32·单片机·嵌入式硬件·51单片机
Lester_110111 小时前
STM32 高级定时器PWM互补输出模式--如果没有死区,突然关闭PWM有产生瞬间导通的可能吗
stm32·单片机·嵌入式硬件·嵌入式软件
小李独爱秋13 小时前
“bootmgr is compressed”错误:根源、笔记本与台式机差异化解决方案深度指南
运维·stm32·单片机·嵌入式硬件·文件系统·电脑故障