首页 > TAG信息列表 > TL0

定时器控制单只LED灯

点击查看代码 #include <reg51.h> #define uchar unsigned char #define uint unsigned int sbit LED=P0^0; uchar T_Count=0; //主程序 void main() { TMOD=0x00; //定时器0工作方式0 TH0= (8192-5000)/32;//5ms定时 TL0= (8192-5000) %32; IE=0x82;//允许T0中断 TR0=1; while

51单片机定时器实验

实践内容: 1.修改电路,P2.1接LED,P3.4接按键 2.要求在Proteus中设计硬件电路,单片机晶振设置为11.0596MHz 3.编写程序实现如下功能: 当P3.4引脚的电平连续发生5次负跳变,单片机P2.1引脚所接的LED灯亮3s灭1s,循环5次后停止,数码管显示灯亮时间。 要求用定时中断和计数中断实现。在Proteus

单片机:按K1键报警1秒

#include<reg51.h> #define uchar unsigned char uchar cnt; sbit fmq=P2^5; sbit key=P3^2; void t0isr() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; TH0=0X4C; TL0=0X00; cnt++; if(cnt>20) { TR0=0; cnt=0; fmq=1; } } main() { TMOD=0x01; T

51单片机:定时器

定时器:单条指令时间(us) = 1/单片机频率*单条指令时钟周期   TH0和TL0共16位,最多只能表示65535,所以要设定一个Base值,再利用循环多计数几次比如0.002s:0.02 = (1/11.0592M * 12)*指令个数,指令个数 = 0.02(1/11.0592M * 12) = 0.018432因为频率用的是M,所以结果0.018432*1000000 = 18