西电网信院微机原理实验(六)

实验六 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,0FEH
    OUT DX,AL
    MOV CX,0E000H
    LOOP $   
    MOV AL,0FDH
    OUT DX,AL
    MOV CX,0E000H
    LOOP $   
    MOV AL,0FBH
    OUT DX,AL
    MOV CX,0E000H
    LOOP $    
    MOV AL,0F7H 
    OUT DX,AL
    MOV CX,0E000H
    LOOP $    
    MOV AL,0EFH
    OUT DX,AL
    MOV CX,0E000H
    LOOP $    
    MOV AL,0DFH
    OUT DX,AL
    MOV CX,0E000H
    LOOP $        
    MOV AL,0BFH
    OUT DX,AL
    MOV CX,0E000H
    LOOP $        
    MOV AL,07FH
    OUT DX,AL
    MOV CX,0E000H
    LOOP $   
    JMP START
CODE ENDS
    END 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 SEGMENT
    ASSUME CS:CODE
START:
	MOV DX,IO0
    MOV AL,00H   ;数码管显示0
    OUT DX,AL
    MOV CX,0E000H
    LOOP $
    MOV AL,01H   ;数码管显示1
    OUT DX,AL
    MOV CX,0E000H
    LOOP $	
    MOV AL,02H   ;数码管显示2
    OUT DX,AL
    MOV CX,0E000H
    LOOP $	
    MOV AL,03H    ;数码管显示3
    OUT DX,AL
    MOV CX,0E000H
    LOOP $	
    MOV AL,04H    ;数码管显示4
    OUT DX,AL
    MOV CX,0E000H
    LOOP $	
    MOV AL,05H    ;数码管显示5
    OUT DX,AL
    MOV CX,0E000H
    LOOP $	
    MOV AL,06H    ;数码管显示6
    OUT DX,AL
    MOV CX,0E000H
    LOOP $	
    MOV AL,07H    ;数码管显示7
    OUT DX,AL
    MOV CX,0E000H
    LOOP $	
	MOV AL,08H    ;数码管显示8
    OUT DX,AL
    MOV CX,0E000H
    LOOP $	
	MOV AL,09H    ;数码管显示9
    OUT DX,AL
    MOV CX,0E000H
    LOOP $
    JMP START
ENDLESS:
    JMP ENDLESS
CODE ENDS
    END START

实验部分过程截图:

参考文献:

74ls47中文资料汇总

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

  • 1
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值