北京交通大学 - 微机实验(6)

2019-01-12 16:39

实验六 竞赛抢答器

一、实验目的

1.了解微机化竞赛抢答器的基本原理。 2. 进一步学习使用并行接口。

二、 实验内容

图15为竞赛抢答器(模拟)的原理图,逻辑开关K0~K7代表竞赛抢答按钮0~7号,当某个逻辑电平开关置“1”时,相当某组抢答按钮按下。在七段数码管上将其组号(0~7)显示出来,并使喇叭响一下。从键盘上按空格键开始下一轮抢答,按其它键程序退出。

U17 74LS244U4 8255K7K6K5K4K3K2K1K0PC7 PA6PC6 PC5PC5 PC4PC4 PC3PC3 PC2PC2 PC1PC1 PC0PC0 CS288H ~ 28FHdpgfedcbaR91A1 1Y11A2 1Y21A3 1Y31A4 1Y42A1 2Y12A2 2Y22A3 2Y32A4 2Y4 1G 2GRA a b c d e f g dp LED 1 gnd 图15

三、参考流程图

24

开始BX指向段码表首址设置8255A口输出C口输入自C口输入数据是0吗?YN求出组号至AL查表求出段码将段码自8255A口输出响铃自键盘接收一字符关闭显示是空格吗?NY结束图16

四、源程序及注释

源程序:

DATA SEGMENT

LIST DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DATA ENDS

STACK1 SEGMENT STACK DW 100H DUP(0) STACK1 ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK1 START: MOV AX,DATA

MOV DS,AX

;-------------------------------------------------- MOV DX,0EC0BH

25

MOV AL,89H

OUT DX,AL ;对8255进行初始化 L0: MOV DX,0EC0AH

IN AL,DX ;读C口状态 CMP AL,0 ;如果为0则循环 JZ L0

MOV BL,0

L1: INC BL

SHR AL,1 ;将AL逻辑右移 JNC L1

DEC BL

MOV AL,BL ;求出组号

MOV BX,OFFSET LIST ; 七段显示代码表的首址送BX AND AX,00FFH ; 屏蔽AX高字节,组号 ADD BX,AX ; 形成显示字符的地址 MOV AL,[BX] ; 取出字符送AL MOV DX,0EC08H

OUT DX,AL ; 送到A口输出显示

MOV DL,7

MOV AH,2

INT 21H ;响铃功能调用

MOV AH,01H

INT 21H

CMP AL,20H ;当为空格时跳到CLOSE JZ CLOSE MOV AH,4CH INT 21H CLOSE: MOV AL,0 MOV DX,0EC08H OUT DX,AL JMP L0

CODE ENDS END START

五、总结

本次实验主要是要弄清楚如何判断哪一位是最先抢到的,并显示其组号。在这次实验中主要是使用逻辑右移。将移出的1用来计数判断是哪一组。

26


北京交通大学 - 微机实验(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:浙江平原农田防护林建设技术规程试行

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: