模块训练一: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);
}