博客
关于我
STC89C52单片机 使用定时器使LED灯闪烁
阅读量:541 次
发布时间:2019-03-07

本文共 668 字,大约阅读时间需要 2 分钟。

#include 
#include
#define uint unsigned int
#define uchar unsigned char
LED1 = P1^0; // LED1
void timer1Init() {
TR1 = 1; // 启动定时器1
TMOD |= 0X10; // 定时器1工作模式1,16位定时模式
TH1 = 0x4b;
TL1 = 0xfd; // 定时50ms
}
void main() {
uchar mSec; // 毫秒储存变量
timer1Init(); // 定时器1初始化
while(1) {
if(TF1 == 1) { // 判断是否溢出
TF1 = 0; // 软件清零溢出标志位
TH1 = 0x4b;
TL1 = 0xfd; // 定时50ms
mSec++;
if(mSec == 10) { // 定时50毫秒到
mSec = 0;
LED1 = ~LED1; // 产生方波
}
}
}
}

以上代码经过优化,已去除不必要的空格和注释,同时保持了代码的可读性和功能性。建议在使用前请结合实际开发环境进行测试和调整。

转载地址:http://fqccz.baihongyu.com/

你可能感兴趣的文章
npm build报错Cannot find module ‘html-webpack-plugin‘解决方法
查看>>
npm build报错Cannot find module ‘webpack/lib/rules/BasicEffectRulePlugin‘解决方法
查看>>
npm build报错Cannot find module ‘webpack‘解决方法
查看>>