01-LED指示灯的基本控制
1.01-LED指示灯的基本控制
2.02-蜂鸣器与继电器的基本控制3.05-独立按键的基本操作与扩展应用4.04-共阳数码管的动态显示5.03-共阳极数码管的静态显示6.06-矩阵键盘的基本操作7.07-中断系统与外部中断应用8.08-定时器的基本原理与应用9.09-定时器的进阶综合案例10.10-PWM脉宽调制信号的发生与控制11.11-串口通信的基本原理与应用12.12-串行接口的进阶应用13.13-io扩展技术与存储器映射扩展14.14-基础技能综合实训案例15.15-DS18B20温度传感器的基本应用16.16-DS1302的基本应用17.17-基于NE555的信号发生与频率测量18.18-PCF8591模块的基本使用19.19-AT24C02的基本应用由上可知此单片机采用74HC138位选用来实现LED选择功能
代码如下
copysbit 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函数可根据实际要求去改变其取值
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步