微机原理课程设计报告
的有关信息介绍如下:课程设计报告(2015—2016年度第一学期)课程:微机原理及应用题目:简易抢答器院系:自动化班级:自动化1301学号:学生姓名:赵恺杨文军梁泽华指导教师:焦嵩鸣设计周数:一周成绩:日期:2016年1月15日《微机原理及应用》课程设计任务书一、目的与要求1.通过对微机系统分析和具体设计,使学生加深对所学课程的理解。2.掌握汇编语言程序设计的基本方法和典型接口电路的基本设计方法。3.培养学生分析问题、解决问题的能力。4.培养学生对微型计算机应用系统的基本设计能力。5.提高学生的实践动手能力和创新能力。二、主要内容1.简易抢答器2.针对所选择的设计题目进行硬件设计,合理选用所需元器件,绘制系统结构框图、硬件接线图,并在实验系统上完成电路的连接和调试。3.根据所选题目的要求对微机系统进行程序设计,绘制程序总体流程图并编写源程序上机调试。4.写出课程设计报告,对整个设计过程进行归纳和综合,对设计中所存在的问题和不足进行分析和总结,提出解决的方法、措施、建议和对这次设计实践的认识和收获。三、进度计划序号设计内容完成时间备注1选择课程设计题目,查阅相关资料2016年1月11日2进行软硬件设计2016年1月12日3上机调试2016年1月13日4撰写设计报告2016年1月14日5演示及答辩2016年1月15日四、设计成果要求1.系统硬件设计合理,软件编程达到设计要求。2.系统硬件结构图和软件流程图绘制清楚规范。3.设计报告完整规范。五、考核方式根据设计任务的完成情况、课程设计报告撰写情况及演示答辩情况采用五级记分制评定成绩。前言微机原理课程设计是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。抢答器能保证比赛中抢答的公正性,在很多场合得到了广泛的应用。抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。现在很多地方都可能会有各种智力竞赛,当遇到抢答环节时,如果要求主持人自己去用肉眼观察那一个选手抢答的速度最快无疑会对比赛结果造成很大的影响,同时使比赛失去了公平和公正性,这时候我们想到了抢答记分器是必要设备。数字抢答器由主体电路与扩展电路组成。优先编码电路、锁存器、译码电路将参赛队的输入信号在显示器上输出;用控制电路和主持人开关启动报警电路,以上两部分组成主体电路。通过定时电路和译码电路将秒脉冲产生的信号在显示器上输出实现计时功能,构成扩展电路。经过布线、焊接、调试等工作后数字抢答器成形。本论文主要介绍了一种用8255A芯片和8253A芯片实现的数码八位简易抢答器的电路组成、设计构想及功能。该抢答器除具有基本的抢答功能外,还具有计时和报警的功能。系统将完成自动倒计时。若在规定的时间内有人抢答,则计时将自动停止;若在规定的时间内无人抢答,则系统中的蜂鸣器将发响,提示主持人本轮抢答无效,实现报警功能。抢答器在现实生活中应用很广泛,因此抢答器的的设计具有非常重要的意义。第二部分、设计正文第一章简易抢答器的设计思路1.1简易抢答器的设计思路l1、用8255A作为输入输出设备,A口输出,c口高位作为输出,B口作为键盘输入,c口低位作为主持人控制键输入。l2、8253A作为定时装置,由0计时器产生1秒为周期的方波,其中高电平0.5秒,用此0.5秒的高电平作为1计数器的门控制信号,控制1计数器的通断。1计数器输出一定频率的脉冲,使扬声器发声。l3、用异或门配合组成电路实现禁止多位选手抢答1.2简易抢答器的元件选择1)处理器的选择微型机具有体积小、重量轻、耗电少、价格低廉、可靠性高、结构灵活等特点,所以选择8086系统2)显示电路显示可通过彩灯和数码管来实现。如果用彩灯作为显示功能,则不是很直观。而数码管具有显示亮度高,使用寿命长,且能直观方便的看到倒计时数字,和选手编号,因此选用数码管显示。3)芯片选择8255作为并行I/0接口,能满足10个输入按键的输入功能,声音系统的输出,和数码管的输出。并且8255的每个接口还有锁存和数据缓冲作用。所以选择8255芯片。第二章简易抢答器的硬件设计2.1简易抢答器的硬件框图2.2通过译码器产生片选信号2.3显示电路设计8255芯片的A口分别与数码管的八个引脚相连。将8255芯片中需要显示的信息通过A口送入数码显示区,由数码管的亮灭显示出来。2.4异或门实现禁止多位选手抢答2.5抢答电路设计8255芯片的PB0至PB7分别与8个拨码开关相连,将八位选手的抢答信号(由拨码开关控制)通过B口送入8255芯片。2.6开始电路8255芯片的PC7口对应开始按键。将抢答开始的信号(由开始按键控制)通过C口送入8255芯片。第三章简单抢答器的软件设计软件的设计的重点在延时,显示倒计时和选手编号和按键抢搭、开始和清零的实现。延时采用嵌套循环的方式实现。3.1主程序流程图关开3.2中断程序设计是否是否3.3抢答子程序设计3.4报警子程序设计3.5数码管显示子程序设计第四章设计体会与小结这次微机原理课程设计历时一个星期,基本实现了简易抢答器及其功能,并且我们学到了很多的东西,简单了解了WAVE2000,熟悉了各个芯片的功能和使用,掌握了汇编语言的基本编程方法,熟练了protues仿真软件等。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我们开始总觉得这样做没必要,很浪费时间。但是,这次课程设计完全改变了我们以前的那种错误的认识,以前我们接触的那些程序都是比较短、比较基础的,但是在课程设计中碰到的那些需要很多代码以及调用才能完成的任务,画程序方框图是很有必要的。因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。在设计之前,参考了许多相关的资料。在设计中又参考了网上的四路抢答器的原理图,有了基本的思路。通过这次简易抢答器的设计,我们发现了以往学习中的许多不足,也让我们掌握了以往许多掌握的不太牢的知识,感觉学到了很多东西。一周的课程设计,留给我们印象最深的是要设计一个成功的电路,必须要有耐性和坚持下去的毅力。本次课程设计中,通过三人的合作才能完成,使我们了解到通力合作的重要性,增进同学间的感情并锻炼了协作能力。总之,这次实验过程中我们受益匪浅,在此感谢焦老师不辞辛苦的在这一个星期给我们耐心的指导,谢谢!第五章参考文献1、马平姚万业王炳谦.微机原理及应用.中国电力出版社20032、周荷琴吴秀清.微型计算机原理与接口技术(第4版).中国科技大学出版社20083、顾晖.微机原理与接口技术:基于8086和Proteus仿真.电子工业出版社20114、彭虎.微机原理与接口技术(第2版).电子工业出版社5、周明德.微型计算机系统原理及应用.北京:清华大学出版社6、戴梅萼,史嘉权.微型计算机技术及应用.北京:清华大学出版社附录附录一系统仿真原理图附录二程序清单DATASEGMENTTABDB3FH,06H,5BH,4FH,66H,6DHDB7DH,07H,7FH,6FHBUFFDB10;要显示的数据放buff,;数码管display子程序显示的是buff的值DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:P55AEQU40HP55BEQU42HP55CEQU44HCT55EQU46HP590EQU48HP591EQU4AHP530EQU50HP531EQU52HP532EQU54HP533EQU56HMOVAX,DATAMOVDS,AXMOVAL,10001010B;初始化8255,A输出,B输入,C0C1C2输出,OUTCT55,ALclimovbx,80h4;;建立中断向量表,中断服务程序的起始地址放向量表movax,offsetJISHImov[bx],axincbxincbxmovax,segJISHImov[bx],axmoval,13h;8259初始化开始outP590,almoval,80houtP591,almoval,01houtP591,alSTImoval,0fFh;屏蔽所有中断outP591,almoval,37h;8253初始化开始,用了计数器0、计数器1,每个计数初值都是100,将10Khz变为1hzoutP533,almoval,77houtP533,almoval,00houtP530,ALOUTP531,ALMOVAL,01HOUTP530,ALOUTP531,ALCHAXUN:INAL,P55C;判断总开关,若未闭合一直查询ANDAL,80HCMPAL,0JNZCHAXUNmoval,0fEh;总开关闭合,打开屏蔽,允许ir0计时中断,开始计时outP591,alINAL,P55C;绿灯亮ORAL,00000100BOUTP55C,ALEE:MOVAL,80H;一直送中断码(因为仿真软件的缺陷)OUT10H,ALMOVCL,2LOOPEEJISHIPROCNEAR;计时中断程序,一秒执行一次MOVDL,BUFF;要显示的秒数减一DECDLMOVBUFF,DLINAL,P55BCMPAL,0JZPPCALLKEYIN;有抢答,转到对应子程序keyinJMPJEISHU;跳到jeishu,结束本次中断PP:CMPDL,0;计时到零,即无人抢答,屏蔽中断JNZYY;计时未到零,跳到显示moval,0fFhoutP591,alCALLSHENGYIN;报警YY:CALLDISPLAY;显示JEISHU:moval,20h;本次中断结束outP590,alIRETJISHIENDPKEYINPROCNEAR;有抢答的,抢答处理子程序PUSHCXmoval,0fFh;既然有人抢答,计时停止,屏蔽计时中断outP591,alINAL,P55B;判断哪一组抢答,方法通过右移将低位不断送入cf,直到cf为1,XORCL,CL;第几组抢答即移几次,将组号cl存入buffTT:SHRAL,1INCCLJNBTTMOVBUFF,CLCALLDISPLAY;显示CALLSHENGYIN;报警INAL,P55C;黄灯亮,抢答成功ORAL,00000010BOUTP55C,ALPOPCXRETKEYINENDPSHENGYINPROCNEAR;报警子程序PUSHCXINAL,P55C;开蜂鸣器ORAL,00001000BOUTP55C,ALMOVCX,100;延时LOOP$INAL,P55C;关蜂鸣器ANDAL,11110111BOUTP55C,ALPOPCXRETSHENGYINENDPDISPLAYPROCNEAR;数码管显示子程序MOVBX,OFFSETTABMOVAL,BUFF;查表,找对应段码XLATOUTP55A,AL;数据送数码管INAL,P55C;数码管对应的位选信号有效,数码管正常工作ANDAL,0FEHOUTP55C,ALRETDISPLAYENDPCODEENDSENDSTART