关键词:LED基本控制;38译码器;74HC573锁存器;小蜜蜂
一、知识点
1、51单片机的2种开发模式:IO扩展开发模式、存储器映射开发模式
2、 OE片选,一般已接地
3、WR是0
二、实验
实验目的:实现LED的基本控制
实验原理:为了让P0口直接控制LED——>Y4C=0——>Y4=0——>138译码器的CBA分别为100(二进制的位权)
实验步骤:
1、位声明
2、Delay函数(疑问)
3、CBA设置,P0控制LED大前提
4、让LED全亮后全灭,再结合延时函数(0x00-->0xFF),并循环3次
5、让LED逐个点亮,后逐个熄灭(0xFF移位以及取反思想)(疑问)
代码:
#include <REGX52.H> sbit HC138_A=P2^5; sbit HC138_B=P2^5; sbit HC138_C=P2^5;//声明放在不同文件起作用的范围是怎样的 void Delay(unsigned int t) { while(t--); while(t--);//为什么加两遍while就能实现延时时间加长 } void LEDrunning(void) { unsigned char i; HC138_C=1; HC138_B=0; HC138_A=0; //LED全部闪烁3遍 for(i=0;i<3;i++) { P0=0x00; Delay(60000); Delay(60000); P0=0xFF; Delay(60000); Delay(60000); } //逐个点亮 for(i=1;i<=8;i++) { P0=0xFF<<i;//左移i位 Delay(60000); Delay(60000); } //逐个熄灭,只需取反 for(i=1;i<=8;i++) { P0=~(0xFF<<i); Delay(60000); Delay(60000); } } void main() { while(1) { LEDrunning(); } }
感谢B站小蜜蜂老师的教程,本笔记仅作为复习、交流学习用