基于8086智能抢答器.docx
《基于8086智能抢答器.docx》由会员分享,可在线阅读,更多相关《基于8086智能抢答器.docx(13页珍藏版)》请在冰豆网上搜索。
基于8086智能抢答器
摘要
本文介绍了一种常用集成电路设计的数码显示五路抢答器的电路组成、设计思路及功能。
数字抢答器由优先编码电路、锁存器、译码电路将参赛队的输入信号在显示器上输出;经过布线、连接、调试等工作后数字抢答器成形。
本课题主要完成抢答器的设计和运用。
我们设计的抢答器希望它具有结构简单、可靠性高、设置灵活、容易扩展参赛小组的数量、增加控制功能等优势。
本次课程设计用到了DJ88系统和星研系统。
我们主要是用8255a芯片进行实验的。
而系统的选择主要是更具实验室的条件决定的。
论文主要介绍了课题的开发背景,所要完成的功能和开发的过程。
重点说明了课题设计思想、难点技术和解决方案。
关键字:
五路;编码电路;锁存电路;译码电路;显示电路;星研系统;Protel99SE;8255a芯片;智能抢答器;设计程序。
论文
题目
智力竞赛抢答器电路设计的设计
设计类型
导师姓名
主要内容及目标
要求:
①不少于5组;②对提出的问题分抢答和必答两种。
必答有时间限制,到时告警;抢答要判定那组优,并予以指示和鸣叫;③问题正确与否由主持人判别是加分还是减分,成绩评定结果由显示器显示
具有的设计条件
1.PC机一台,EL教学实验箱一台及汇编程序;
计划学生数及任务
3人
(1):
明确课题对程序功能,运算精度等方面的要求及硬件条件
(2):
把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。
(3):
存储器资源分配
(4):
编制程序,根据流程图精心选择合适的指令和寻址方式来编制源程序
(5):
对程序进行汇编,调试和修改,直到程序运行结果正确为止。
计划设计进程
(按课程设计周计算)
第一周设计任务:
(1):
明确课题对程序功能,运算精度等方面的要求及硬件条件
(2):
把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。
(3):
存储器资源分配
第二周设计任务:
(4):
编制程序,根据流程图精心选择合适的指令和寻址方式来编制源程序
(5):
对程序进行汇编,调试和修改,直到程序运行结果正确为止。
参考文献
《微型计算机原理及接口技术》中国科技大学出版社吴秀清周荷琴编著
《16-32位微型计算机技术及应用》清华大学出版社戴梅萼史嘉权编著
<<汇编语言程序设计》南京大学出版社姚君遗编著
《汇编语言程序设计教程》清华大学出版社杨记文编著
《微型计算机原理及接口技术》实验指导书
自动化专业微机原理课程设计任务书
目录
摘要……………………………………………………1
自动化专业微机原理课程设计任务书……………………2
目录……………………………………………………3
第一章引言………………………………………………4
1.2抢答器的开发背景……………………………………4
1.3本设计的要求…………………………………………4
1.4课题设计的主要任务…………………………………4
第二章课题硬件设计……………………………………5
2.1芯片的选择……………………………………………5
2.2工作原理………………………………………………5
2.3系统的硬件构成及功能…………………………………6
第三章系统软件设计……………………………………7
3.1系统主程序设计………………………………………7
3.2抢答器的源程序………………………………………7
结论……………………………………………………8
致谢……………………………………………………9
参考文献……………………………………………………9
附件一…………………………………………………10
第一章智能抢答器的设计背景
1.1抢答器的概念
这次我们设计的五路数显抢答器主要具有电路简单、成本较低、操作方便、灵敏可靠等优点,经使用效果良好,具有较好的可操作性。
五路抢答器,它由六组开关和五组led灯组成,可用于五组或五组以下的智力竞赛中。
其中五组开关分别对应五组led灯,而第六组开关则用来做复位用,比赛前,将参赛组从0至4编号,每组面前有一盏led小灯。
主持人按一下启动键(即复位键)后,抢答开始。
在此之前,所有抢答的信号都是无效的,此后,哪一组最先按下该组的抢答开关哪一组面前的led灯就会亮起。
以后,按下任何一路抢答键均不起反映。
只有主持人再次按动复位后,才能进行下一次抢答。
该抢答器主要使用了星研试验箱的硬件设备。
1.2抢答器的开发背景
当今的社会竞争日益激烈,选拔人才,评选优胜,知识竞赛之类的活动愈加频繁,那么也就必然离不开抢答器。
而现在的抢答器有着数字化,智能化的方向发展,这就必然提高了抢答器的成本。
鉴于现在小规模的知识竞赛越来越多,操作简单,经济实用的小型抢答器必将大有市场。
本抢答器通过十分巧妙的设计仅用一块数字芯片便实现了数显抢答的功能,与其他抢答器电路相比较有分辨时间极短、结构清晰,成本低、制作方便等优点,并且还有防作弊功能。
因此,我们制作了这款简易五路抢答器屏弃了成本高,体积大,而且操作复杂。
我们采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,因而本抢答器具有显示直观,不需要人干预的特点。
而且在显示时抢答器会发出叮咚声使效果更为生动。
工厂、学校和电视台等单位常举办各种智力竞赛,抢答记分器是必要设备。
1.3本设计的要求
①不少于5组;
②对提出的问题分抢答和必答两种。
必答有时间限制,到时告警;抢答要判定那组优,并予以指示和鸣叫;
③问题正确与否由主持人判别是加分还是减分,成绩评定结果由显示器显示
1.4课程设计的主要任务
本课程设计主要任务是完成五路抢答控制器的电路设计、元器件选型、8255A的使用,控制器装配与接线、实物制作、汇编语言设计与联机调试等内容。
在刚接到题目的时候,有许多的细节都没有想清楚,所以一步步按想到的罗列出来,具体的元器件及其功能,在真正动手实践的时候加以改进和完善具体控制。
要求如下:
(1)本抢答器的控制装置是由8086CPU作为控制器、一只电源开关,5只LED灯、五组抢答开关、1只复位按钮等组成。
(2)有五组抢答按钮。
先按按钮的选手的请求会被响应,而后按按钮的选手的请求会被屏蔽掉。
(3)主持人手中的启动按钮与8086相连,控制8086的RESET键,当主持人宣布抢答开始的同时按下启动按钮,8086统一通过8255给A端口设置统一的数位,参赛者方可抢答。
若某组参赛者在抢答限定时间(5s)内最先按下抢答按钮,则该选手前的led灯亮起,同时通过汇编程序的控制跳出对8255a输入端的检索。
使其他输入的信号被屏蔽掉。
(5)参赛者抢答成功后,由操作员宣布开始回答问题(工作人员操作回答按钮),抢答小组必须在限定时间(30s/60s,由工作人员通过选择开关选择)内回答完毕,限定时间到,没回答完的选手,会有相应的分数处罚。
(6)如果某参赛组在主持人宣布抢答开始前抢先按下抢答按钮,该抢答器不会做出任何响应。
(8)新一轮抢答前,可以通过按下控制台上的复位开关,使抢答器回到初始状态。
第二章课题硬件设计
2.1芯片的选择
本设计使用到的元器件包括:
8255a芯片、LED灯、开关、排线等。
2.2工作原理
(1)工作方式0:
这是8255A中各端口的基本输入/输出方式。
它只完成简单的并行输入/输出操作,CPU可从指定端口输入信息,也可向指定端口输出信息,如果三个端口均处于工作方式0,则可由工作方式控制字定义16种工作方式的组合
(2)工作方式1:
被称作选通输入/输出方式。
在这种工作方式下,数据输入/输出操作要在选通信号控制下完成。
(3)工作方式2:
被称作带选通的双向传送方式。
8255A中只允许端口A处于工作方式2,可用来在两台处理机之间实现双向并行通信。
其有关的控制信号由端口C提供,并可向CPU发出中断请求信号。
在本次试验中,考虑到程序的简洁性,在完全满足实验要求的情况下,我们将8255a的A、B口都设置为方式0,B口输入A口输出。
C口不使用。
所以8255A的控制字就可以确定了为82H。
2.3.1抢答器的电路框图
2.3.2单元电路设计
(1)时序控制电路设计
时序控制电路是抢答器设计的关键,它要完成以下功能:
a.主持人将控制开关拨到"开始"位置时,抢答电路进人正常抢答工作状态。
b.当参赛选手按动抢答键时,抢答电路停止工作。
(2)复位电路的设计
a.当主持人按下复位按键式,抢答电路重新开始工作。
第三章 系统软件设计
3.1抢答器的源程序
见附件2
3.2抢答器的源程序的修改
刚开始要运行代码的时候,并没有设置“FW0”这一环节,所以程序无法循环运行,每次运行时,有一名选手按下抢答开关后,其他选手按开关没有任何作用的目的达到了,但是,由于没有循环的设置,每次运行程序只能进行一次比赛,想要进行下一轮比赛。
或者让抢答器再工作一次,就必须重新载入一次源程序,十分麻烦,实用性太差。
后来我尝试将循环点设置在延时段的子程序中,因为,每个相应的“answer”子程序都会调用到延时这一子程序,但是没有成功,后来在刘老师帮助下,我重新在“start”和“start1”之间设置了一个“FW0”复位点,并且在星研试验箱上的得到了实现。
使得我们组的抢答器成为了可以重复使用的抢答器,提高了它的实用性。
3.3抢答器的电路图的绘制
在本次课程设计开始的时候,我不会使用任何画图工具,只是对一些画图工具,比如Protel99SE有一些耳闻,在以前做作业设计电路图的时候,都是使用手绘的方法来完成的,耗时耗力,而且很不精确,通过这次课程设计,我们小组的成员在一起学习了Protel99SE的用法,虽然并不怎么熟练,但是其基本的使用方法,我们都掌握了,在以后的学习和生活当中,我们会继续使用它,勤加练习,争取早日掌握它们。
结论
时光飞逝,短短的两周的课程设计即将结束,现在回头想想两周的设计,我们对自己的这次设计有了更深,更新的体会。
在本次设计的全过程中,我们对大学几年所学的知识有了一个比较系统的认识和理解。
涉及了各方面的知识,大大扩展了我的知识面,同时是我学会了如何使用所学的知识去解决一些实际的问题。
在设计中我深知自己掌握的知识还远远不够,掌握的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没有掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。
把学到的知识应用到时间中去,多做多练,才可以把理论的精华发挥出来。
知识不是知道,了解就好,一定要去应用它,发展它,让它在现实生活中得到充分的应用,从而解决一些问题,这才是学习的根本目的。
而且知识又不是单一的,它是互相联系的,学科与学科之间都有着内在的联系。
微机技术与接口技术是一门非常复杂且庞大的学科,一项课题往往需要多项技术才可以完成的。
在设计阶段,通过对课题的深入分析与研究,迫使我对技术有了一定的了解。
在遇到问题时,得到了指导老师与同学的悉心帮助,使我感受到集体的力量是无穷的。
通过这次设计,我学会了和别人配合工作,因为一个人所学的知识不可能面面俱到的,只有通过合作,发挥自己的优点,体现团队精神,才能使工作做得更为出色。
通过这次设计,我学到了许多书本上学不到的知识,增强了自己的动手能力。
即将毕业我十分珍惜这次锻炼的机会,我按部就班的完成了自己的设计任务,但由于自己的知识水平有限,仍然存在很多的不足之处,恳请老师多多指教!
当今的社会是竞争的社会,而人才的竞争则是竞争的焦点,毕业设计对于我们即将离校的同学来说,是离校前很好的一次锻炼,使我们各方面的能力都有了很大的提高,为我们踏出校门,走上社会增强了能力与自信!
电子技术的高速发展,使我深深地认识到只有不断的加强学习,才能在电子技术方面不至于被淘汰,今后,我还要加强学习,努力使自己成为一位专业的技术人员,为我自己所从事的工作服务。
在此,感谢合肥学院的老师们对我的谆谆教导!
感谢他们给了我这次机会!
致谢
首先我们要感谢合肥学院电子系的老师给我们提供这次机会。
在本次微机技术与接口技术课题设计和写作过程中得到指导师刘伟老师和林泽坤老师的悉心指导,二位老师认真负责的工作态度,治学严谨的作风给我留下了深刻的印象。
我还要感谢我的同学,是他们的无私支持使我们能顺利完成这次课程设计,是他们在我们遇到难题时给我及时的帮助与无限的动力,所以,我们以此课程设计作为我们的学习成果向他们致谢,感谢你们。
在我们的课程设计过程中,得到了老师们的悉心教导,学到了丰富的知识和做人的道理,为我走向社会、迎接挑战打下了坚实的基础。
此时此刻我才真正体会到老师们的苦心和所学知识的重要。
最后,我要再次向给予我帮助的所有老师和同学表示深深的谢意,感谢大家在学习、生活中对我的帮助,谢谢大家!
参考文献
《微型计算机原理及接口技术》实验指导书
《微型计算机原理及接口技术》中国科技大学出版社吴秀清周荷琴编著
《16-32位微型计算机技术及应用》清华大学出版社戴梅萼史嘉权编著
<<汇编语言程序设计》南京大学出版社姚君遗编著
《汇编语言程序设计教程》清华大学出版社杨记文编著
附件1抢答器的源程序
.MODELTINY
PCIBAR3EQU1CH;8位I/O空间基地址(它就是实验仪的基地址,也为DMA&32BITRAM板卡上的8237提供基地址)
Vendor_IDEQU10EBH;厂商ID号
Device_IDEQU8376;设备ID号
.STACK100
.DATA
IO_Bit8_BaseAddressDW?
msg0DB'BIOS不支持访问PCI$'
msg1DB'找不到StarPCI9052板卡$'
msg2DB'读8位I/O空间基地址时出错$'
COM_ADDDW00F3H;控制口偏移量
PA_ADDDW00F0H;PA口偏移量
PB_ADDDW00F1H;PB口偏移量
PC_ADDDW00F2H;PC口偏移量
LED_DataDB01111111B
DB10111111B
DB11011111B
DB11101111B
DB11110111B
.CODE
START:
MOVAX,@DATA
MOVDS,AX
NOP
CALLInitPCI
CALLModifyAddress;根据PCI提供的基地址,将偏移地址转化为实地址
MOVDX,COM_ADD
MOVAL,82H;PA、PB、PC为基本输出模式
OUTDX,AL
FW0:
MOVDX,PA_ADD
MOVAL,0FFH
OUTDX,AL;灯全熄灭
LEABX,LED_DATA
START1:
MOVDX,PB_ADD
INAL,DX
CMPAL,01111111B
JZANSWER1
CMPAL,10111111B
JZANSWER2
CMPAL,11011111B
JZANSWER3
CMPAL,11101111B
JZANSWER4
CMPAL,11110111B
JZANSWER5
JMPSTART1
ANSWER1:
MOVDX,PA_ADD
MOVAL,0
XLAT
OUTDX,AL
CALLDL500MS
MOVDX,PB_ADD
INAL,DX
ANDAL,00000111B
CMPAL,00000011B
JZFW0
JMPEXIT
ANSWER2:
MOVDX,PA_ADD
MOVAL,1
XLAT
OUTDX,AL
CALLDL500MS
MOVDX,PB_ADD
INAL,DX
ANDAL,00000111B
CMPAL,00000011B
JZFW0
JMPEXIT
ANSWER3:
MOVDX,PA_ADD
MOVAL,2
XLAT
OUTDX,AL
CALLDL500MS
MOVDX,PB_ADD
INAL,DX
ANDAL,00000111B
CMPAL,00000011B
JZFW0
JMPEXIT
ANSWER4:
MOVDX,PA_ADD
MOVAL,3
XLAT
OUTDX,AL
CALLDL500MS
MOVDX,PB_ADD
INAL,DX
ANDAL,00000111B
CMPAL,00000011B
JZFW0
JMPEXIT
ANSWER5:
MOVDX,PA_ADD
MOVAL,4
XLAT
OUTDX,AL
CALLDL500MS
MOVDX,PB_ADD
INAL,DX
ANDAL,00000111B
CMPAL,00000011B
JZFW0
JMPEXIT
DL500msPROCNEAR
PUSHAX
PUSHDX
MOVDX,500;延时500ms
MOVAH,0FFH;星研公司提供的软中断
INT21H
POPDX
POPAX
RET
DL500msENDP
InitPCIPROCNEAR
MOVAH,00H
MOVAL,03H
INT10H;清屏
MOVAH,0B1H
MOVAL,01H
INT1AH
CMPAH,0
JZInitPCI2
LEADX,msg0
InitPCI1:
MOVAH,09H
INT21H
JMPExit
InitPCI2:
MOVAH,0B1H
MOVAL,02H
MOVCX,Device_ID
MOVDX,Vendor_ID
MOVSI,0
INT1AH
JNCInitPCI3;是否存在StarPCI9052板卡
LEADX,msg1
JMPInitPCI1
InitPCI3:
MOVDI,PCIBAR3
MOVAH,0B1H
MOVAL,09H
INT1AH;读取该卡PCI9052基地址
JNCInitPCI4
LEADX,msg2
JMPInitPCI1
InitPCI4:
ANDCX,0FFFCH
MOVIO_Bit8_BaseAddress,CX
RET
InitPCIENDP
ModifyAddressPROCNEAR
ADDCOM_ADD,CX
ADDPA_ADD,CX
ADDPB_ADD,CX
ADDPC_ADD,CX
RET
ModifyAddressENDP
Exit:
MOVAH,4CH
INT21H
ENDSTART