以下是使用 8051 单片机 C 语言实现 LED 灯间隔 1 秒闪烁的代码:

#include <reg52.h>

void main() {
    TMOD = 0x01; // 定时器 T0,工作模式 1
    TH0 = 0xFC; // 计数初值,1 秒为 12 个时钟周期
    TL0 = 0x66;
    TR0 = 1; // 启动定时器 T0
    P1 = 0x01; // 初始化 P1.0 口为高电平,点亮 LED 灯

    while(1) {
        if(TF0) { // 判断定时器 T0 是否溢出
            TF0 = 0; // 清除定时器 T0 溢出标志
            P1 = ~P1; // 取反 P1.0 口,LED 灯熄灭或点亮
        }
    }
}

8051 单片机最小系统和接口电路图

image

其中,VCC、GND、XTAL1 和 XTAL2 分别接单片机芯片上的对应引脚。P1.0 口接 LED 灯,通过 220Ω 电阻限流。定时器 T0 通过外接晶振 12MHz 工作,计算初值为 0xFC66,即 12*10^6/12/256≈1 秒。

8051 单片机 LED 闪烁控制:定时器 T0 与 P1.0 口实现 1 秒闪烁

原文地址: https://www.cveoy.top/t/topic/oYOF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录