#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
void main (void)
{ uchar i=0;
TMOD=0x01; //使用定时器T0的模式1
TH0=(65536-50000)/256; //定时器T0的高8位赋值
TL0=(65536-50000)%256; //定时器T0的低8位赋值
TR0=1; //启动定时器T0
TF0=0; //定时器的溢出标志位 先清零
P0=0xff; //关闭LED灯
while(1) //无限循环等待查询
{
while(TF0==1)
{
i++;
if(i==20) //LED的闪烁,间隔1s
{
i=0;
P0=~P0;
}
TF0=0;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}
}
}
//用定时器T0查询方式P0口8位控制LED闪烁
51单片机LED闪烁程序
本文介绍了一个使用51单片机通过定时器T0实现LED灯定时闪烁的程序示例。程序利用了定时器中断的方式进行计时,并在每秒改变P0口的状态来实现LED灯的闪烁效果。
3052

被折叠的 条评论
为什么被折叠?



