74LS138 为3 线-8线译码器
//74LS138 为3 线-8线译码器 当一个选通端(E1)6脚为高电平,另两个选通端(E2)5脚和(E3)4脚为低电平时,
//可将地址端(A0、A1、A2)组成的二进制编码,如000,001,010对应到在Y0至Y7对应的输出端以低电平译出。
//Y0对应是000,Y1对应001,Y3对应011,Y4对应是100,Y5对应101,Y6对应110,Y7对应111、
//本例通过74LS138译码器,仅用P2端口3只引脚来控制8只LED滚动显示。
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
//延时
void yan_shi(uint ms)
{
uchar i;
while(--ms)
for(i=0;i<120;i++);
}
//主程序
void main()
{
P2=0x00;
while(1)
{
P2=(P2+1)%8;//74LS138译码器,对应的D0-D7轮流点亮LED灯。
yan_shi(100);
}
}
//P2:通常表示单片机的端口寄存器(如8位I/O端口)。
//P2+1:将当前端口值加1。
//可将地址端(A0、A1、A2)组成的二进制编码,如000,001,010对应到在Y0至Y7对应的输出端以低电平译出。
//Y0对应是000,Y1对应001,Y3对应011,Y4对应是100,Y5对应101,Y6对应110,Y7对应111、
//本例通过74LS138译码器,仅用P2端口3只引脚来控制8只LED滚动显示。
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
//延时
void yan_shi(uint ms)
{
uchar i;
while(--ms)
for(i=0;i<120;i++);
}
//主程序
void main()
{
P2=0x00;
while(1)
{
P2=(P2+1)%8;//74LS138译码器,对应的D0-D7轮流点亮LED灯。
yan_shi(100);
}
}
//P2:通常表示单片机的端口寄存器(如8位I/O端口)。
//P2+1:将当前端口值加1。
//%8:取模运算,结果范围为0-7,实现循环效果。
通过网盘分享的文件:74LS138译码器
链接: https://pan.baidu.com/s/1hgmmmabYMTLKUHvt8GqGlg 提取码: eetb








最新发布