蓝桥杯, 38线译码器74Hc138

38线译码器74hc138,具有三个地址输入(P2的高3位),八个输出,且输出为低电平

真值表为(图片为转载)

 电路图为

 我们可以用74hc138来选通74hc573,而74hc573控制数码管(段选和位选),led的点亮

,蜂鸣器和继电器

可以通过以下代码来选通74hc573

void init74hc138(unsigned char cha)
{
         switch(cha)
        {
          case 4: P2 = (P2 & 0x1f) | 0x80 ;break;   //开led 的锁存器
          case 5: P2 = (P2 & 0x1f) | 0xA0 ;break;   //开蜂鸣器和继电器 的锁存器
          case 6: P2 = (P2 & 0x1f) | 0xC0 ;break;   //数码管段选
          case 7: P2 = (P2 & 0x1f) | 0xE0 ;break;   //数码管位选
          default:break;

        }

        


}

要设计一个能够显示数字0-7的电路,我们可以采用以下几个步骤: 1. **3-8译码器74HC138**:用于将输入的二进制数据转换成8路输出信号。你需要将74HC138的三个输入(A、B、C)连接到数码管的数据线,如D0-D7,通过组合不同的输入状态,可以驱动对应的数码管段。 2. **数码显示译码器74HC4511**:此芯片通常有4位输入,如果需要显示0-7,你可以设置它的A和B输入为固定值(例如,A=0, B=0),然后利用C和D输入来控制七段显示器的状态。比如,为了显示数字0,C和D都保持低电平;显示其他数字时,只需改变这两者的组合。 3. **共阴极8段显示数码管LN3461Ax**:这是一种共阴极接法的数码管,其中公共端接地,而每个段对应一个正电源。根据74HC4511的输出,选择相应的段点亮即可。比如,若C=1, D=1,则表示显示第二段。 下面是基本的连接示意图: - 从74HC138的输出接到74HC4511的A和B引脚。 - 对于数字0-7的每一位,通过74HC138的不同配置,将74HC4511的C和D输入设置为相应位的编码。 - 确保74HC4511的地线(GND)连接到数码管的公共端,电源连接到所有阳极。 **编程示例(假设使用Arduino或其他微控制器):** ```cpp void setup() { // 初始化译码器和数码管 } void loop() { int number = 0; // 可循环变量,范围0-7 for (int i = 0; i <= 7; i++) { byte binary = number & 0x0F; // 将十进制数转换为四位二进制 shiftOut(13, 12, MSBFIRST, binary); // 调用ShiftOut函数设置74HC138输入 displayNumber(binary); // 执行74HC4511的显示功能 number++; // 循环下一个数字 delay(200); // 暂停一段时间,让显示更新 } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值