51单片机 | 并行I/O口扩展实例(74LS244/74LS373/4071)
并行I/O口扩展实例
//《51单片机原理及应用(第二版)——基于Keil C与Proteus》第四章例4.4
I/O口不能完全用于输入/输出操作,当需要扩展外部存储器时,P0、P2口用作地址总线和数据总线,此时能用的I/O口就只有P1和P3口,如果再使用串行通信,I/O口就不够使用了,需要扩展I/O口
两种方式:
① 采用普通锁存器、三态门等芯片来进行简单的扩展(如74LS373或74LS244等)
② 采用可编程的I/O芯片来扩展(如8255或8155等)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
要求:用4个开关控制4个LED的亮灭状态,其中采用74LS244控制开关的输入,采用74LS373控制LED输出
代码:

电路图:

过程分析:

过程://右键点击图片"在新标签页中打开图片"即可放大
- #18 P0=0xff; 通过拉高P0口置为1111 1111,即关闭LED灯;
 - 和CD4071 U2.B的5输入一个0;
 - 输入一个0;
 - 由于CD4071的功能是执行逻辑或运算,1和2分别输入0,则3输出0给74LS244的OE口;
 - 74LS244缓冲驱动器的OE为使能端,低电平是有效的,高电平时输出为三态,此时通过CD4071传给OE低电平,使开关的电平可以通过74LS244传入P0;
 - 开关状态传入P0;
 - #21 temp = P0; 通过定义的unsigned char temp来存放P0的状态
 - 输入一个1;
 - 1=0;2=1;此时或门输出为1;
 - 74LS244的OE端高电平时输出为三态,关闭74LS244
 - 输入一个1;
 - 此时5=0;6=1;CD4071 U2.B的7输出一个1;
 - 74LS343的OE为低电平时,用作地址锁存器;LE为高电平时,输出Q0-Q7状态与D0-D7状态相同;当LE发生负跳变(1->0)时,输入端的D0-D7锁入Q0-Q7
 - #24 P0 = temp; temp中的数据存入P0,传送到74LS343的D端;
 - 输入一个0;
 - 此时5=0;6=0;CD4071 U2.B的7输出一个0;
 - LE的状态从1->0,发生负跳变,输出Q0-Q7
 - LED等接受到开关的情况,发生亮灭。
 
实验结果

51单片机 | 并行I/O口扩展实例(74LS244/74LS373/4071)的更多相关文章
- 51单片机 | A/D转换器实现数字电压表实例
		
———————————————————————————————————————————— ADC0809 - - - - - - - - - - - - - - - - - - - - - - - - ...
 - 51单片机 | 实现SMC1602液晶屏显示实例
		
———————————————————————————————————————————— LCD1602 - - - - - - - - - - - - - - - - - - - - - - - - ...
 - STM32GPIO口8种模式细致分析(类比51单片机)
		
关于STM32GPIO口的8种工作模式,我们先引出一些问题? STM32GPIO口如果既要输入又要输出怎么办? 1.浮空输入模式 上图红色的表示便是浮空输入的过程,外部输入时0读出的就是0,外部输入时 ...
 - 51单片机I/O口直接输入输出实例(附调试及分析过程)
		
51单片机P0/P1/P2/P3口的区别: P0口要作为低8位地址总线和8位数据总线用,这种情况下P0口不能用作I/O,要先作为地址总线对外传送低8位的地址,然后作为数据总线对外交换数据: P1口只能 ...
 - 51单片机 | I/O口直接输入输出实例
		
51单片机P0/P1/P2/P3口的区别: P0口要作为低8位地址总线和8位数据总线用,这种情况下P0口不能用作I/O,要先作为地址总线对外传送低8位的地址,然后作为数据总线对外交换数据: P1口只能 ...
 - 51单片机:IO口扩展芯片用法(74HC165,74HC595)
		
IO口扩展芯片,主要是解决单片机IO口太少. 74HC165:数据从并转串 74HC595:数据从串转并 两种芯片,都是通过时序电路,加上移位功能,进行数据传输 74HC165:数据从并转串.以下实例 ...
 - 51单片机I/O引脚IO口工作原理
		
51单片机I/O引脚IO口工作原理 一.51单片机管脚p0.p1.p2.p3口区别如下: 1.意思不同P0口作输出口用时,需加上拉电阻.P0口有复用功能.当对外部存储器进行读写操作时,P0口先是提供外 ...
 - 关于51单片机P0口的结构及上拉问题
		
1.P0作为地址数据总线时,V1和V2是一起工作的,构成推挽结构.高电平时,V1打开,V2截止:低电平时,V1截止,V2打开.这种情况下不用外接上拉电阻.而且,当V1打开,V2截止,输出高电平的时候, ...
 - 51单片机GPIO口模拟串口通信
		
51单片机GPIO口模拟串口通信 标签: bytetimer终端存储 2011-08-03 11:06 6387人阅读 评论(2) 收藏 举报 本文章已收录于: 分类: 深入C语言(20) 作者同 ...
 
随机推荐
- 高级全局API钩取 - IE连接控制
			
@author: dlive @date: 2017/02/14 0x01 调试IE进程 常见网络连接库:ws2_32.dll(套接字),wininet.dll,winhttp.dll 使用Proce ...
 - OpenGL入门学习 课程 (三) 绘制几何图形的一些细节问题
			
http://oulehui.blog.163.com/blog/static/79614698201191832753312/ 先回顾一下我们都学习了些什么: 第一课,编写第一个OpenGL程序第二 ...
 - android hook 框架 libinject  如何实现so注入
			
前面两篇 android hook 框架 libinject2 简介.编译.运行 android hook 框架 libinject2 如何实现so注入 实际运行并分析了 Android中的so注入( ...
 - ***七牛跨域上传图片JS SDK
			
SDK: http://developer.qiniu.com/code/v6/sdk/javascript.html#upload 上传 在页面中引入 plupload,plupload.full. ...
 - Delphi存取图像完整解决方案
			
http://blog.sina.com.cn/s/blog_693cf1cf0100plkq.html 对于涉及图像数据的数据库应用程序,图像数据的存取技术是一个关键.由于缺少技术文档及DEMO例程 ...
 - POJ 1298 The Hardest Problem Ever【字符串】
			
Julius Caesar lived in a time of danger and intrigue. The hardest situation Caesar ever faced was ke ...
 - POJ 2549:Subsets(哈希表)
			
[题目链接] http://poj.org/problem?id=2549 [题目大意] 给出一个数集,从中选择四个元素,使得a+b+c=d,最小化d [题解] 我们对a+b建立Hash_table, ...
 - 九. 常用类库、向量与哈希3.Java语言包(java.lang)简介
			
Java语言包(java.lang)定义了Java中的大多数基本类,由Java语言自动调用,不需要显示声明.该包中包含了Object类,Object类是整个类层次结构的根结点,同时还定义了基本数据类型 ...
 - Android TextView 阴影效果(投影)
			
Android TextView 阴影效果(投影) 四个参数: 1 2 3 4 android:shadowColor="@color/white" android:shadowD ...
 - iOS用户响应者链的那些事儿
			
这篇文章想跟大家分享的主旨是iOS捕获用户事件的各种情况,以及内部封装的一些特殊事件. 我们先从UIButton谈起,UIButton大家使用的太多了,他特殊的地方就在于其内置的普通Default/高 ...