汇编语言八路抢答器设计.docx
- 文档编号:951186
- 上传时间:2022-10-14
- 格式:DOCX
- 页数:14
- 大小:107.43KB
汇编语言八路抢答器设计.docx
《汇编语言八路抢答器设计.docx》由会员分享,可在线阅读,更多相关《汇编语言八路抢答器设计.docx(14页珍藏版)》请在冰豆网上搜索。
汇编语言八路抢答器设计
微机原理与接口技术课程设计报告
2015-2016学年第二学期
设计题目:
_______
小组成员:
所学专业:
指导教师:
_______
完成时间:
___
二、课程设计要求4
八路抢答器设计
一、设计目的
1、掌握微机系统的开发步骤;
2、掌握抢答器控制编程方法和芯片8255、8253的逻辑功能、键盘中断及使用方法和数码管的用法;
3、掌握一定的汇编语言知识,培养自己的动手操作能力。
4、学习程序设计的基本思路和方法。
因此,本次设计要求对微机原理的理论知识,8255A,8253,键盘显示区的工作方式、工作原理熟练掌握。
二、设计要求
当按开始键,绿灯亮后,选手抢答,1-8号选手中先按下按键者,LED数码管显示其选手号码(后按下无效),并进行声光报警(黄灯亮)提示。
当按开始键未按下时,如果有选手抢答,LED数码管显示其选手号码,并进行声光报警(红灯亮)提示。
三、系统功能
一个具有8路抢答的抢答器,利用并行接口和开关键。
键盘上数字键1--8代表抢答按钮,当某个逻辑开关闭合时(开始键按下未按起时),相当于抢答按钮按下,此时在七段数码管上将其号码显示出来,并使喇叭响一声(或者以发光二极管代替)。
四、总体设计
1.基本工作原理
当按开始键按下时,绿灯亮后,选手才可抢答,否则违规。
若抢答成功,LED显示器显示选手号码,黄灯亮,扬声器鸣叫;若抢答违规(未按下开始键),LED显示器显示违规选手号码,红灯亮,扬声器报警。
1.1可编程并行接口接口芯片8255A控制字要求
(1)、B口工作在方式0,做为输出端口,经驱动器1连接LED显示器(PB7~PB0依次对应连接LED显示器的dp、g、f、e、d、c、b、a七段数码管管脚);
(2)、C口也必须工作在方式0,高4位做输入端口(本次设计中只用PC4、PC5,分别用于连接复位键和开始键),低4位做输出端口(PC3~PC0,经驱动器2后PC1、PC2、PC3分别用于连接黄、红、绿三个发光二极管,PC0连接到8253的GATE1端,以控制方式1的计数)。
1.2可编程定时器/计数器8253控制字要求
(1)、方式0:
操作类型为先读写低字节再读写高字节,工作在方式3即方波发生器,
计数格式为BCD码,计数初值为0。
(2)、方式1:
操作类型为先读写低字节再读写高字节,工作在方式1即可重触发的单稳态触发器,计数格式为BCD码,计数初值为0。
(3)、方式2:
操作类型为先读写低字节再读写高字节,工作在方式3即方波发生器,
计数格式为BCD码,计数初值为0。
2.硬件总体设计
2.1系统总成方案
该竞赛抢答器所要器件:
可编程并行接口接口芯片8255、可编程定时器/计数器8253,三个一样的驱动器,黄、红、绿三个发光二极管,十三个电阻,一个8输入与非门,一个非门,一个扬声器,一个LED显示器,10个按键。
2.2内存单元编址
(1)可编程并行接口接口芯片8255A的端口地址为60H、61H、62H、63H
(2)可编程定时器/计数器8253的端口地址为40H、41H、42H、43H
(3)特殊键中断号为2A---36,对应地址为00A8---00DB
本实验用到数字键1--8,对应的ASCII为31H---38H
LED显示器1--8对应的十六进制是:
06H,5BH,4FH,66H,6DH,7CH,07H,7FH
3.键盘、扬声器及显示功能的定义
一个开始键一个复位键,另外8个数字键用做8位选手的抢答按键。
扬声器用与黄、红、绿三个发光二极管配合使用,黄灯亮扬声器鸣叫表示抢答成功,红灯亮扬声报警表示抢答违规报警,绿灯亮扬声器不鸣则表示主持人已按下开始键。
LED显示器显示的内容与选手号对应,抢答成功或违规都要显示。
4.原理图
4.1硬件原理框图
图1
4.2原理连线图
4.3软件总体设计
主程序流程图:
N
Y
N
Y
N
Y
N
Y
图3
五、硬件设计
1.可编程并行接口接口芯片8255A的工作方式
8255A具有三个独立的输入/输出端口,每个端口的并行数据宽度为8位。
三个端口分别为A端口,B端口,C端口,可分别与不同的外设进行数据交换,也可联合使用,在中断方式下实现CPU与外设间的数据传递。
8255A提供方式0,方式1,方式2三种工作方式供选择。
2.可编程定时器/计数器8253的工作方式
(1)方式0:
操作类型为先读写低字节再读写高字节,工作在方式3即方波发生器,计数格式为BCD码,计数初值为0。
(2)方式1:
操作类型为先读写低字节再读写高字节,工作在方式1即可重触发的单稳态触发器,计数格式为BCD码,计数初值为0。
(3)方式2:
操作类型为先读写低字节再读写高字节,工作在方式3即方波发生器,计数格式为BCD码,计数初值为0。
六、软件设计
DATASEGMENT
BZDB00H
DATAENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE
START:
MOVAX,DATA
MOVDS,AX
;8255A初始化
MOVAL,88H;置8255A工作方式
OUT63H,AL
XORAL,AL;B口、C口初始化
OUT61H,AL
OUT62H,AL
;8253初始化
MOVAL,37H;置8253方式0控制字
OUT43H,AL
MOVAL,00H;置8253方式0计数初值为4000
OUT40H,AL
MOVAL,40H
OUT40H,AL
MOVAL,73H;置8253方式1控制字
OUT43H,AL
MOVAL,00H;置8253方式1计数初值为3000
OUT41H,AL
MOVAL,30H
OUT41H,AL
MOVAL,0B7H;置8253方式2控制字
OUT43H,AL
MOVAL,00H
OUT42H,AL
MOVAL,00H;置8253方式2计数初值为0
OUT42H,AL
;中断设置
MOVAX,0000H
MOVDS,AX;
MOVBX,0457H
MOVAL,31H
MOVCX,8
LOP4:
MOV[BX],AL
INCBX
INCAL
LOOPLOP4
MOVAX,OFFSETKKK1
MOV[00A8],AX
MOVAX,0000H
MOV[00AA],AX
MOVAX,OFFSETKKK2
MOV[00AC],AX
MOVAX,0000H
MOV[00AE],AX
MOVAX,OFFSETKKK3
MOV[00B0],AX
MOVAX,0000H
MOV[00B2],AX
MOVAX,OFFSETKKK4
MOV[00B4],AX
MOVAX,0000H
MOV[00B6],AX
MOVAX,OFFSETKKK5
MOV[00B8],AX
MOVAX,0000H
MOV[00BA],AX
MOVAX,OFFSETKKK6
MOV[00BC],AX
MOVAX,0000H
MOV[00BE],AX
MOVAX,OFFSETKKK7
MOV[00C0],AX
MOVAX,0000H
MOV[00C2],AX
MOVAX,OFFSETKKK8
MOV[00C4],AX
MOVAX,0000H
MOV[00C6],AX
STI;使IF置1,开放可屏蔽中断
;主循环
LOPM:
INAL,62H;检测开始键
TESTAL,20H;检测C口的PC5端
JZLOP2;开始键未按下即PC5=0,则跳转检测
;复位键
LOP1:
INAL,62H;检测开始键是否已经弹起,即PC5=0
TESTAL,20H
JNZLOP1;开始键没有弹起再重新检测
MOVAL,00H;关LED显示器
OUT61H,AL;送到B口
MOVAL,08H;绿灯亮
OUT62H,AL;送到C口
MOVBZ,0FFH;置标志
STI
LOP2:
INAL,62H;检测复位键
TESTAL,10H;检测C口的PC4端
JZLOPM;复位键未按下即PC4=0,则跳转再检
;测开始键
LOP3:
INAL,62H;检测复位键是否弹起,即PC4=0
TESTAL,10H
JNZLOP3;位键没有弹起,则重新检测
MOVAL,00H;关LED显示器、指标灯
OUT61H,AL
OUT62H,AL
MOVBZ,00H;清标志
STI
JMPLOPM
;中断服务子程序
KKK1:
PUSHAX;保护现场
PUSHBX
PUSHDX
PUSHDS
CLI;并使本次中断压入堆栈中的IF=0
MOVAL,06H
OUT61H,AL
CALLPUBLIC
POPDS;恢复现场
POPDX
POPBX
POPAX
IRET
KKK2:
PUSHAX;保护现场
PUSHBX
PUSHDX
PUSHDS
CLI;并使本次中断压入堆栈中的IF=0
MOVAL,5BH
OUT61H,AL
CALLPUBLIC
POPDS;恢复现场
POPDX
POPBX
POPAX
IRET
KKK3:
PUSHAX;保护现场
PUSHBX
PUSHDX
PUSHDS
CLI;并使本次中断压入堆栈中的IF=0
MOVAL,4FH
OUT61H,AL
CALLPUBLIC
POPDS;恢复现场
POPDX
POPBX
POPAX
IRET
KKK4:
PUSHAX;保护现场
PUSHBX
PUSHDX
PUSHDS
CLI;并使本次中断压入堆栈中的IF=0
MOVAL,66H
OUT61H,AL
CALLPUBLIC
POPDS;恢复现场
POPDX
POPBX
POPAX
IRET
KKK5:
PUSHAX;保护现场
PUSHBX
PUSHDX
PUSHDS
CLI;并使本次中断压入堆栈中的IF=0
MOVAL,6DH
OUT61H,AL
CALLPUBLIC
POPDS;恢复现场
POPDX
POPBX
POPAX
IRET
KKK6:
PUSH
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 八路 抢答 设计