01-LED指示灯的基本控制
由上可知此单片机采用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函数可根据实际要求去改变其取值