利用74LS373对 LED 和数码管分别进行控制,数码管显示所亮 LED 的位置

您所在的位置:网站首页 74ls373功能介绍 利用74LS373对 LED 和数码管分别进行控制,数码管显示所亮 LED 的位置

利用74LS373对 LED 和数码管分别进行控制,数码管显示所亮 LED 的位置

2024-02-18 12:06| 来源: 网络整理| 查看: 265

  利用单片机 AT89C51 的 I/O 口,对 LED 和数码管分别进行控制。以实现 LED灯做流水运动,数码管显示所亮 LED 的位置。

使用74LS373可以节省I/O口

74LS373简介:   74LS373是三态输出的八D锁存器,共有54S373和74LS373两种线路。373 的输出端 Q0~Q7 可直接与总线相连。当锁存允许端LE为高电平时,Q 随数据D而变,当LE为低电平时,D 被锁存在已建立的数据电平。 在这里插入图片描述

电路原理图:

在这里插入图片描述

代码如下: #include"reg51.h" #define LED P1 #define SM P0 typedef unsigned int u16; //对数据类型进行声明定义 typedef unsigned char u8; sbit P25=P2^5; sbit P26=P2^6; sbit P27=P2^7; u8 i,coun=0; void InitTimer0(void); //共阴极数码管数字显示表 unsigned char tab[]={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f}; // 对应显示 1 2 3 4 5 6 7 8 //数码管选择 unsigned char XZ[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; void delay(u16 i) { while(i--); } void main() { InitTimer0(); LED=0xfe; //delay(50000); //延时 P25=1; P26=1; //数码管读取工作 P27=0; //数码管选择关闭 while(1) { for(i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3