0
点赞
收藏
分享

微信扫一扫

STC89C52单片机 使用定时器使LED灯闪烁

#include <reg52.h>
#include <intrins.h>

#define uint unsigned int
#define uchar unsigned char

sbit&nbsp;LED1&nbsp;=&nbsp;P1^0;//LED1

//定时器1初始化
void&nbsp;timer1Init()
{
TR1&nbsp;=&nbsp;1; &nbsp;//启动定时器1
TMOD&nbsp;|=&nbsp;0X10;&nbsp;//定时器1工作模式1,16位定时模式
TH1&nbsp;=&nbsp;0x4b;
TL1&nbsp;=&nbsp;0xfd;&nbsp;//定时50ms

}

void&nbsp;main()//main函数自身会循环
{
uchar&nbsp;mSec;//毫秒储存变量
timer1Init();//定时器1初始化
while(1)
{
if(TF1&nbsp;==&nbsp;1)//判断是否溢出
{
TF1&nbsp;=&nbsp;0;//软件清零溢出标志位
TH1&nbsp;=&nbsp;0x4b;
TL1&nbsp;=&nbsp;0xfd;&nbsp;//定时50ms
mSec++;//50ms到
if(mSec&nbsp;==&nbsp;10)&nbsp;//定时50毫秒到
{
mSec&nbsp;=&nbsp;0;
LED1&nbsp;=&nbsp;~LED1;//产生方波
}
}

}
}


举报

相关推荐

0 条评论