模块训练一:LED指示灯的基本控制
模块1到模块13都是通过I\O模式进行设计
一、电路图
二、电路分析
1.74HC573锁存器介绍
OE端接地,上电即工作,控制LE端,当LE端接高电平时,锁存器开始工作,接通D和Q
2.电路工作原理分析介绍
LED灯基本控制是通过I\O模式控制,WR都是接地。通过138译码器控制Y4接口为0,使得Y4C为高电平,锁存器74HC573处于工作状态。此时D1~D8与Q1~Q8处于连通状态。给P0口赋值即可控制LED灯。
三、程序代码
1.实现LED跑马灯代码
#include <REGX52.H>sbit HC138_A=P2^5;
sbit HC138_B=P2^6;
sbit HC138_C=P2^7;void Delay(unsigned int t)
{while(t--);while(t--);
}void LEDRunning()
{HC138_C=1;HC138_A=0;HC138_B=0;P0=0x00;Delay(60000);Delay(60000);P0=0XFF;Delay(60000);Delay(60000);}void main()
{while(1){LEDRunning();}
}
2.题目训练
把点灯操作写入循环中,通过移位操作更快的实现电灯操作
for(i=0;i<=3;i++){P0=0x00;Delay(60000);Delay(60000);P0=0XFF;Delay(60000);Delay(60000);}for(i=0;i<=7;i++){P0=0xFE<<i;Delay(60000);Delay(60000);}for(i=0;i<=7;i++){P0=~(0xFF<<i);Delay(60000);Delay(60000);}