- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
四路抢答器 微机原理课程设计
中北大学
微机原理与汇编语言
课程设计说明书?
?
学生姓名 ? 学 号 学 院 电子与计算机科学技术学院? 专 业 软件工程? 题 目 竞赛抢答器 小组成员
?
指导教师:
?
2009 年 12月
需求分析
(一)功能说明
比赛开始,在主持人按下开始键后,选手才可以开始抢答,否则违规。若选手抢答成功,绿色二极管发光提示,LED显示选手号码并开始倒计时(此时间用于选手回答问题)。若选手抢答违规(主持人未按下开始键),LED显示违规选手号码,红色二极管发光提示,扬声器报警,并根据比赛规则扣除选手相应分数。
若系统提示某选手抢答违规,主持人仍未按下复位键,此时该号选手又按下抢答键,LED显示选手对应号码。本系统启动后,若主持人未按下开始键,此时有选手按下抢答键,系统亮红色二极管并报警。
(二)系统流程图
系统开始初始化8255。然后循环检测开始键是否按下,如果按下则循环检测抢答键。抢答键按下则显示选手编号并进入倒计时。进入倒计时后循环检测加分、减分键是否按下,按下则停止倒计时并给相应的选手加10分或减10分。如果倒计时结束之前没有按下加减分键系统则会给出警报,根据回答的内容判断是否正确,正确则加分,错误减分,此次抢答结束。
设计方案
在本实验中用8255芯片设计一个4路的竞赛抢答器,8255用来实现主持人的控制开关和不同时间信号灯的亮灭、抢答者的开关控制和只接受第一个抢答者的信号、LED数码管的显示。首先初始化8255控制字,让A口输入,B、C口输出。然后读A口,看主持人的控制开关K3是复位还是启动,如果是复位就在B口输出数据让主持人的信号灯全灭,从C口输出数据让LED数码管也灭。在返回检测主持人的控制开关。如果主持人的开关K3是启动,读A口看抢答者是否有人抢答,如果还无人抢答就继续检测。如果有人抢答从C口输出数据使绿色发光二极管发光。然后检测看那一个是首先抢答的,并储存数据和屏蔽后边的抢答者。再将A口读的数据送的B口让LED数码管显示抢答者的号码。
当1-4号选手抢答键按下后并在LED上显示,进入20S倒计时答题阶段,若未完成则出现警告提示,答题内容如有效则加分,内容无效则扣分。
硬件电路设计如下:
图2 硬件电路图
详细设计
实验连线
1)8255的端口A(PA0-PA7)和开关K0-K7相连。
2)8255的端口B(PB0-PB7)通过驱动连接到LED的a~h各段。
3)8255的端口C分别和发光二极管和扬声器连接。
图3 实验线路
(二)连线说明
1)8255的A口作为输入端口和开关K0-K7相连,K3是主持人的控制开关,设置抢答指示电路和启动/复位开关。K3提供高电平后,绿色二极管亮,表示启动一次抢答。 K4-K7来代表4个抢答按钮。当开关向上拨时,表示按下按钮,在进行抢答。
2)8255的端口C(如PB2、PB1)分别和发光二极管L3(绿)、L4(红)连接。当主持人按下开始键后, K4-K7有人抢答时,L3发亮,表示已经有人抢答。
3)8255的端口B(PB0-PB7)通过驱动连接到LED的a~h各段。用来在LED上显示首先抢答者的编号、相应的分数和倒计时。
(三)程序代码
DATA SEGMENT
TAB DB 3FH,06H,5BH,66H,6DH,7DH,07H,7FH,6FH
TABLE1 DB 6FH,7FH,07H,7DH,6DH,66H,4FH,5BH,06H,3FH
TABLE2 DB 06H,3FH
BZ DB 00H
CURRNUM DB 0
SCORE DW 0,100,100,100,100
STATE DB 0,0,0,0
BIAOZHI DB 3FH
DATA ENDS
CODE SEGMENT
AUUSME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AL ;初始化8255
OUT 63H,AL
BEGIN: CALL DISPLAY ;调用显示程序,让其显示state中内容
IN AL,60H ;扫描端口A的开关键内容
TEST AL,0FFH ;检测是否有键按下
JZ BEGIN ;如无键按下,则循环扫
原创力文档


文档评论(0)