实验六 74LS273扩展I/O口实验

1、编写程序,以74LS273作为I/O口,控制8个单色LED灯。I/O端口号为168H。

原理分析:
  ① 74LS273为锁存器,可以作为I/O数据寄存器保存CPU与外设之间的传送数据。D0-D7是数据输入端口,Q0-Q7是数据输出端口,8个数据输出可以分别连接8个单色LED灯。CPU通过控制D0-D7从而达到控制锁存数据Q0-Q7输出的目的。CPU输出与8个LED状态的关系见表1,8个LED的编号见图1。

表1 CPU输出与LED状态对应表

  ② I/O端口号为0168H,当地址线A15-A0为0000 0001 0110 1000时选中74LS273,此时D0-D7数据线上数据便可以输出。译码电路的作用就是当A15-A0这16根地址线中的A3,A5,A6,A8为1,其余为0时,允许数据输出。

  ③ 8个LED灯采用共阳极接法,阳极通过电阻后接电源,阴极需要给低电平才能够导通,这就对应了表1中的数据Q0-Q7输出。LED灯接法见图1:

图1 LED灯电路图

  ④ 对于延时问题,采用程序循环方式实现:
             MOV CX,0E000H
             LOOP $
  LOOP $ 的作用是一直执行当前指令(即LOOP指令),可以用来延时。每执行一次LOOP指令,CX自动减1。

电路连接图:

汇编代码:

IO0 EQU 0168H
CODE SEGMENT
ASSUME CS:CODE
START:MOV DX,IO0    MOV AL,0FEHOUT DX,ALMOV CX,0E000HLOOP $   MOV AL,0FDHOUT DX,ALMOV CX,0E000HLOOP $   MOV AL,0FBHOUT DX,ALMOV CX,0E000HLOOP $    MOV AL,0F7H OUT DX,ALMOV CX,0E000HLOOP $    MOV AL,0EFHOUT DX,ALMOV CX,0E000HLOOP $    MOV AL,0DFHOUT DX,ALMOV CX,0E000HLOOP $        MOV AL,0BFHOUT DX,ALMOV CX,0E000HLOOP $        MOV AL,07FHOUT DX,ALMOV CX,0E000HLOOP $   JMP START
CODE ENDSEND START

实验部分过程截图:

2、设计一七段LED数码管显示电路,编写程序,实现在数码管从0-9的循环显示。(可使用74LS47作为LED的显示译码)要求循环速度可调,即显示间隔可变。

原理分析:
  同第一部分,采用74LS273做I/O接口数据锁存器,默认I/O接口地址为0168H。
  74LS47的功能是将BCD码数字直接转化成七段数码块中的数字。74LS47引脚见图2,七段数码管见图3。向74LS47的DCBA四个端口输入0-9的二进制数,QA-QG对应的输出见表2,默认LT和BI为无效状态。

  数码管采用共阳极接法,当a-g对应输入端口输入低电平时,对应的数码管亮。反之,输入为高电平时,对应的数码管熄灭。

表2 74LS47真值表

  将74LS273的Q3-Q0分别连接到74LS47的DCBA,将74LS47的QA-QG分别连接数码管。Q3-Q0从0000B到1001B变化,数码管上就可以显示0-9的数字。那么,通过控制AL的值,从而控制D0-D7从00H到09H变化,即可完成题目要求。

  显示间隔采用控制程序循环次数实现:
             MOV CX,0E000H
             LOOP $
  通过改变CX的值,从而改变显示间隔。

电路连接图:

汇编代码:

IO0 EQU 0168H
CODE SEGMENTASSUME CS:CODE
START:MOV DX,IO0MOV AL,00H   ;数码管显示0OUT DX,ALMOV CX,0E000HLOOP $MOV AL,01H   ;数码管显示1OUT DX,ALMOV CX,0E000HLOOP $    MOV AL,02H   ;数码管显示2OUT DX,ALMOV CX,0E000HLOOP $    MOV AL,03H    ;数码管显示3OUT DX,ALMOV CX,0E000HLOOP $   MOV AL,04H    ;数码管显示4OUT DX,ALMOV CX,0E000HLOOP $   MOV AL,05H    ;数码管显示5OUT DX,ALMOV CX,0E000HLOOP $   MOV AL,06H    ;数码管显示6OUT DX,ALMOV CX,0E000HLOOP $   MOV AL,07H    ;数码管显示7OUT DX,ALMOV CX,0E000HLOOP $   MOV AL,08H    ;数码管显示8OUT DX,ALMOV CX,0E000HLOOP $   MOV AL,09H    ;数码管显示9OUT DX,ALMOV CX,0E000HLOOP $JMP START
ENDLESS:JMP ENDLESS
CODE ENDSEND START

实验部分过程截图:

参考文献:

74ls47中文资料汇总

Proteus电路仿真及应用(51单片机系列)

西电网信院微机原理实验(六)相关推荐

  1. 西电网信院微机原理实验(七)

    实验七 基于8255的开关状态显示实验 1.编写程序,设定8255的PA口为开关量输入,PC口为开关量输出,要求能随时将PA口的开关状态通过PC口的发光二极管显示出来. 8255芯片: 图1 8255 ...

  2. 西电网信院微机原理实验(八)

    实验八 点阵LED显示设计实验 实验要求: 编写程序,控制点阵向上(或左右)游动显示"西安电子科技大学欢迎您!-姓名".实验系统中的16×16 LED点阵由四块8×8 LED点阵组 ...

  3. 西电网信院微机原理实验(五)

    实验五 存储器扩展实验 一.存储器芯片62256引脚介绍:   62256共有15根地址线A0-A14,存出大小为32KB:八条双向数据线D0-D7,共8bit:CE‾\overline{CE}CE片 ...

  4. 【数据库原理】实验报告(西电网信院)

    title: [数据库原理]实验报告 categories: 杂项 tags: 数据库 作业 PostgreSQL [数据库原理]实验报告 客户端安装 Navicat for PostgreSQL可以 ...

  5. 微型计算机原理实验,微机原理实验总结(共5篇)

    微机原理实验总结 不知不觉,微机原理与接口技术实验课程已经结束了.回想起来受益匪浅,主要是加深了对计算机的一些硬件情况和运行原理的理解和汇编语言的编写汇编语言,对于学习机电工程的自动控制和计算机都是很 ...

  6. 微型计算机原理实验心得,微机原理实验心得体会.doc

    微机原理实验心得体会 PAGE PAGE 20 微机原理实验心得体会 篇一:微机原理实验总结微机原理实验总结不知不觉,微机原理与接口技术实验课程已经结束了.回想起来受益匪浅,主要是加深了对计算机的一些 ...

  7. 微型计算机原理实验心得,微机原理实验的心得体会.docx

    微机原理实验的心得体会 微机原理实验心得体会 篇一:微机原理实验总结 微机原理实验总结 不知不觉,微机原理与接口技术实验课程已经结束了.回想起来受益匪浅,主要是加深了对计算机的一些硬件情况和运行原理的 ...

  8. 北邮微型计算机原理及应用阶段二,北邮信通院微机原理第二章.ppt

    北邮信通院微机原理第二章 异常模式:系统模式外的其他5种特权模式,常用于处理中断或其它异常. 处理器模式可以通过软件来改变,也可以通过外部中断或处理器异常改变. 特权模式:除用户模式外的其它6种模式 ...

  9. 微型计算机c240,PC微机原理实验.doc

    PC微机原理实验 微型计算机原理与应用 实验指导书 上 海 大 学 通 信 学 院 PC微机原理实验一 目的:掌握PC机DEBUG调试程序有关命令的操作及8086各类指令的 功能. 要求:在PC机上完 ...

最新文章

  1. 点击事件如何传递到Activity中
  2. php获取等于符号后面的参数,php获取URL中带#号等特殊符号参数的解决方法
  3. 【干货】人工智能工程师的三个层次
  4. [ruby on rails] 跟我学之(6)显示指定数据
  5. python 数据分析库_五个 Python 常用数据分析库
  6. 年薪50万,他们招180名博士
  7. 数据库MySQL/mariadb知识点——数据类型
  8. Mozilla 将推出全新的安卓移动浏览器 Fenix
  9. 使用struct与typedef定义结构体
  10. 搜狗拼音输入法居然输入不了半角的人民币符号¥¥¥¥¥¥¥¥!!!
  11. 姓氏排序程序 Js 版(小程序共享)
  12. Win10 设备管理器一个USB设备描述符请求失败解决方法
  13. Java实现 LeetCode 37 解数独
  14. python栈是什么意思_Python算法之栈(stack)的实现
  15. 1580_AURIX_TC275_SMU模块初步
  16. GLUT, freeGLUT, GLFW, GLEW, GLAD 关系与区别
  17. 2021.9.17 zookeeper Linux 常用命令
  18. R语言使用epiDisplay包的kap函数(kap.m.raters)计算Kappa统计量的值(总一致性、期望一致性)、对多个评分对象的结果进行一致性分析、评分的类别为多个类别
  19. 微信小程序汽车租赁平台+后台管理系统
  20. kdj指标主要看哪个值_kdj指标K · D ·J 分别表示什么

热门文章

  1. C语言中int,char,string互转
  2. 蓝天白云canvas背景动画
  3. 手机芯片研发有多难_制造手机《芯片》到底有多难
  4. 荣耀智慧屏是鸿蒙系统,一个摄影师眼中的荣耀智慧屏:鸿蒙系统才是未来智慧家庭的核心...
  5. 剑网三服务器同步设置文件夹,剑三服务器同步设置在哪
  6. 创造了不起丨TiKV Committer 的最快养成方法
  7. php get your hands dirty,地道英语: To Get your Hands Dirty 亲自动手
  8. 宝宝1周岁生日祝福语
  9. spring定时任务详解spring schedule和spring-quartz
  10. python中eval函数和int函数功能一样_python中eval与int的区别浅析