01-LED指示灯的基本控制

发布时间 2023-10-03 10:18:14作者: 夏日清`凉

20231003092514

由上可知此单片机采用74HC138位选用来实现LED选择功能

代码如下

sbit HC138_A = P2^5;
sbit HC138_B = P2^6;
sbit HC138_C = P2^7;
// 此Delay一次大概8us
void Delay(unsigned int t) {
    while(t--);
    while(t--);
}
void LED_Running() {
    unsigned char i;
    // 选择LED控制位
    HC138_C = 1;
    HC138_B = 0;
    HC138_A = 0;
    // 闪烁三遍熄灭
    for(i = 0;i<3;i++) {
        P0 = 0x00;
        Delay(60000);
        P0 = 0xff;
        Delay(60000);
    }
    // 依次点亮LED指示灯
    // LED为低电平点亮
    // 0xfe == 1111 1110 => 1111 1100 => 1111 1000
    for(i = 0; i< 8;i++) {
        P0 = 0xfe<<i;
        Delay(10000);
    }
    // 依次熄灭LED指示灯
    // 0000 0001 => 0000 0011 => 0000 0111
    for(i =0;i<8;i++) {
        P0 = ~(0xfe <<i);
        Delay(10000);
    }
    
}
void main() {
    LED_Running();
    
    while(1) {
        
    }
}

Delay函数可根据实际要求去改变其取值