AT89C51单片机外部中断使用和使用74LS373控制I/O口

  利用单片机 AT89C51 的外部中断 0 和中断 1, I/O 口,对 LED 和数码管分别进行控制。以实现按键 K0 时 LED 灯亮灭闪烁,按键 K1 时做 LED 左和右流水运动。无按键操作时偶数位数码管显示 0-F。

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

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

真值表:

在这里插入图片描述

电路原理图:

在这里插入图片描述

代码如下:有相关的注释

#include <reg51.h>
#include <intrins.h>
#define	uchar	unsigned char
#define uint unsigned int 
sbit a=P2^5;   //LED控制 
sbit b=P2^6;  //数码管赋值控制
sbit c=P2^7; //数码管段选
sbit K0=P3^2;
sbit K1=P3^3;
char d,n;
char t;
//共阴极数码管数字显示表
uchar table[]={0x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值