定时器中断方式控制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; 
					}
}
相关推荐
易水寒陈7 分钟前
单片机实现的工厂模式
单片机
别了,李亚普诺夫1 小时前
PCB设计大师篇笔记
笔记·嵌入式硬件·学习
点灯小铭2 小时前
双积分AD转换电路
单片机·毕业设计·课程设计·期末大作业
youcans_2 小时前
【动手学STM32G4】(8)STM32G431之 DAC进阶
stm32·单片机·嵌入式硬件·dma·定时器
hqwest2 小时前
码上通QT实战14--监控页面06-串口设备数据初始化-
单片机·rs232·serialport·波特率·串口设备·虚拟串口设备软件·qt项目配置文件
qq_397562312 小时前
BMI088 , 传感器的使用经验 . ( SPI 模式 )
单片机
点灯小铭3 小时前
基于单片机的智能收银机模拟系统设计
单片机·嵌入式硬件·mongodb·毕业设计·课程设计·期末大作业
TEC_INO3 小时前
STM32_9:I2C_DHT11_OLED项目
stm32·单片机·嵌入式硬件
__万波__3 小时前
STM32基于HAL 库开发包创建新的工程-编译-烧录
stm32·单片机·嵌入式硬件
曾浩轩3 小时前
跟着江协科技学STM32之4-5OLED模块教程OLED显示原理
科技·stm32·单片机·嵌入式硬件·学习