一、原理图(引用)
1.译码电路
74HC138的Y4接入74HC02(或非门,只有两个输入均为逻辑0时输出逻辑1)
当WR(写)也为逻辑0时输出Y4C为逻辑1
注:板子用跳线帽链接J13的WR和GND,即WR为逻辑0
2.锁存电路
Y4C接入LE(Lunch Enable),LED灯的正极与VCC相连,74HC573锁存器的输出口与LED的负极与锁存器的输出口相连,Q输出为0是LED亮,Q输出为1时LED灭。与LED串联的电阻是为了限流,防止电流过大烧坏LED。
二、代码
/* 头文件 */
#include <STC15F2K60S2.H>
/* 自定义 */
sbit HC138_A = P2^5;
sbit HC138_B = P2^6;
sbit HC138_C = P2^7;
/* 函数声明 */
void Delay_ms(unsigned int n);
void LED();
/* 代码 */
void Delay_ms(unsigned int n)//延时函数
{
unsigned int i,y;
for(i=n;i>0;i--)
{
for(y=114;y>0;y--);
}
}
void LED()
{
unsigned char i;
HC138_A = 0;
HC138_B = 0;
HC138_C = 1;
for(i = 1; i < 9; i++)
{
P0 = 0xff << i;//点亮
Delay_ms(1000);
}
for(i = 1; i < 9; i++)
{
P0 = ~(0xff << i);//熄灭
Delay_ms(1000);
}
}
//主函数
void main()
{
while(1)
{
LED();
}
}