定时器中断方式控制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; 
					}
}
相关推荐
爱学习的小旭4 分钟前
STMCubeMX使用TB6612驱动编码轮并进行测速
单片机·嵌入式硬件
不脱发的程序猿1 小时前
MCU裸机程序如何移植到RTOS?
单片机·嵌入式硬件·rtos
PAQQ1 小时前
【python】windows实现与k230使用socket通信并传输文件
python·stm32·单片机
小智学长 | 嵌入式1 小时前
单片机-STM32部分:14、SPI
单片机·嵌入式硬件
深圳市青牛科技实业有限公司2 小时前
D2203使用手册—高压、小电流LDO产品4.6V~36V、150mA
人工智能·单片机·嵌入式硬件·电动工具·工业散热风扇
SY师弟2 小时前
51单片机——交通指示灯控制器设计
c语言·单片机·嵌入式硬件·51单片机
weixin_413920613 小时前
标签部件(lv_label)
单片机·嵌入式硬件
2301_800399723 小时前
stm32 ADC单通道转换
stm32·单片机·嵌入式硬件
高工智能汽车4 小时前
抢跑「中央计算+区域控制」市场,芯驰科技高端智控MCU“芯”升级
科技·单片机·嵌入式硬件
HHONGQI1234 小时前
STM32 之网口资源
stm32·单片机·嵌入式硬件