您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于8086系统抢答器的设计与实现
郑州科技学院《微机原理与接口技术》课程设计题目__基于8086系统抢答器的设计与实现__学生姓名完成时间2015年1月11日目录1引言……………………………………………………………………12设计方案与论证……………………………………………………22.1硬件设计……………………………………………………………22.2设计方法……………………………………………………………23设计原理及功能说明……………………………………………33.1设计原理……………………………………………………………33.2元器件功能特性…………………………………………………84调试与结果测试………………………………………………………124.1程序调试…………………………………………………………124.2结果测试…………………………………………………………125总结…………………………………………………………………15参考文献…………………………………………………………………………17附录1:总体电路原理图……………………………………………18附录2:元器件清单………………………………………………………1911引言本课程设计的目的是了解微机化竞赛抢答器的设计原理和方法,掌握定时/计数器、并行接口芯片和中断控制的工作原理与使用方法,以及进一步学习使用并行接口。该课程设计主要任务是完成八路抢答控制器的电路设计、元器件选型、8255A的使用,控制器装配与接线、实物制作、汇编语言设计与联机调试等内容。其要求为应基于8086系统,其次当主持人启动开始键之后,数码管显示倒计时,当有选手把抢答按钮按下时,显示器显示该组的组号,并使扬声器响一下。八路数显抢答器主要具有电路简单、成本较低、操作方便、灵敏可靠等优点,经使用效果良好,具有较好的可操作性。八路抢答器,它由八组开关和一个LED显示器组成,哪一组最先按下该组的抢答开关,哪一组面前的led灯就会亮起。以后,按下任何一路抢答键均不起反映。只有再次按动复位后,才能进行下一次抢答。22设计方案与论证2.1硬件设计(1)设计一个可容纳八组(或更多)参赛的数字式抢答器,每组设一个按钮,供抢答使用。(2)抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用。(3)一定时间结束后数码管清零,等待下次抢答开始。[1]设计框图如图2-1所示。图2-1设计框图2.2设计方案:(1)本抢答器的控制装置是由8086CPU作为控制器、一只电源开关,一个LED显示器,八组抢答开关等组成。(2)有八组抢答按钮。先按按钮的选手的请求会被响应,而后按按钮的选手的请求会被屏蔽掉。(3)启动电脑程序,8086统一通过8255给A端口设置统一的数位,选择抢答按钮方可抢答。最先按下抢答的按钮序号会在LED显示器上显示,同时通过汇编程序的控制跳出对8255A输入端的检索,使其他输入的信号被屏蔽掉。[2]CPU8255LED显示模块按键设置33设计原理及功能说明3.1设计原理及设计背景3.1.1设计原理8255采用90H运行方式,即PA口为输入,PB、PC均为输出。将八个抢答器按键连接到8255芯片的PA0~PA7,当8组均未按下抢答按钮时,送入到并行接口的8位抢答状态都是0,当检测到按键发生变化时,即微机采样到这8位数据不为0时,微机通过该并行输入口循环对8路抢答信号进行采样。[3]经过分析,实验的关键的是准确判断抢答者的信息,为此,要将8个抢答器按键连接到PA0~PA7,微机通过该并行输入口循环对8路抢答信号进行采样。当样到哪一组的抢答信号已经发出,则记录下该组的组号。从PB口输出组号所对应的LED数码管段码,在LED显示器上显示抢答按钮编号。当8组均未按下抢答按钮时,送入到并行接口的8位抢答状态都是空,而当微机采样到这8位数据不为0时,则表示有一组获得了抢答机会,然后通过逐位查询个位状态,即可判断出哪一组抢答成功,最后利用并行输出接口将抢答成功的组号现实出来。在实验中,可以仅用一位7段数码管来显示抢答选手的组号。4具体电路框图如图3-1。A1B2C3E16E24E35Y015Y114Y213Y312Y411Y510Y69Y77U174AS138D034D133D232D331D430D529D628D727RD5WR36A09A18RESET35CS6PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710U28255AD110A01D210A01D310A01D410A01图3-1电路框图获取选手号码子程序:在硬件电路中,8255的PA端口连接开关按键,根据读取PA的状态可以判断出按下的是哪个键(按下为低电平),根据进行移位操作,可得出选手的具体号码。start:movax,datamovds,axmovdx,io8255b;设8255为A口输出,C口输入movax,89houtdx,almovbx,offsetled;使BX指向段码管首址sss:movdx,io8255ainal,dx;从8255的C口输入数据oral,al;比较是否为05jesss;若为0,则表明无键按下,转sssmovcl,0ffh;cl作计数器,初值为-1rr:shral,1inccljncrrmoval,cl具体系统流程图如图3-2所示。图3-2系统流程图开始BX指向段码表首址设置8255A口输出,C口输入自C口输入数据是0吗?求出组号至AL查表求出段码将段码自8255口输出自键盘接收一字符是空格吗?结束关闭显示YNYN6其抢答器的具体源程序为:datasegmentioportequ0d400h-0280hio8255aequioport+28ahio8255bequioport+28bhio8255cequioport+288hleddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h;数码表dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovdx,io8255b;设8255为A口输出,C口输入movax,89houtdx,almovbx,offsetled;使BX指向段码管首址sss:movdx,io8255ainal,dx;从8255的C口输入数据oral,al;比较是否为0jesss;若为0,则表明无键按下,转sssmovcl,0ffh;cl作计数器,初值为-1rr:shral,1inccljncrrmoval,clxlat7movdx,io8255coutdx,almovdl,7;响铃ASCII码为07movah,2int21hwai:movah,1int21hcmpal,20h;是否为空格jneeee;不是,转eeemoval,0;是,关灭灯movdx,io8255coutdx,aljmpssseee:movah,4ch;返回int21hcodeendsendstart3.1.2设计背景当今的社会竞争日益激烈,选拔人才,评选优胜,知识竞赛之类的活动愈加频繁,那么也就必然离不开抢答器。而现在的抢答器有着数字化,智能化的方向发展,这就必然提高了抢答器的成本。鉴于现在小规模的知识竞赛越来越多,操作简单,经济实用的小型抢答器必将大有市场。本抢答器通过十分巧妙的设计仅用一块数字芯片便实现了数显抢答的功能,与其他抢答器电路相比较有分辨时间极短、结构清晰,成本低、8制作方便等优点,并且还有防作弊功能。因此,我们制作了这款简易五路抢答器屏弃了成本高,体积大,而且操作复杂。我们采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,因而本抢答器具有显示直观,不需要人干预的特点。而且在显示时抢答器会发出叮咚声使效果更为生动。工厂、学校和电视台等单位常举办各种智力竞赛,抢答记分器是必要设备。[4]3.2元器件功能特性:3.2.1可编程并行接口接口芯片8255A8255A芯片是一个采用NMOS工艺制造的40引脚双列直插式(DIP)封装组件。8255A有3个8位数据端口,即A口、B口及C口,它们都可以分别作为输入口或输出口使用;A组控制与B组控制;读/写控制逻辑;数据总路线缓冲器。3.2.28255A内部结构8255A芯片是一个采用NMOS工艺制造的40引脚双列直插式(DIP)封装组件。8255A有3个8位数据端口,即A口、B口及C口,它们都可以分别作为输入口或输出口使用;A组控制与B组控制;读/写控制逻辑;数据总路线缓冲器。93.2.38255A主要的外部引脚8255A引脚图如图3-3所示。图3-38255A引脚图PA7~PA0:A口的8条I/O线。8条线只能同时作为输入或输出,不能分开使用,可设置成双向口,也只有A口允许这样做。PB7~PB0:B口的8条I/O线。不可以设置成双向口,其它和A口一样。PC7~PC0:C口的8条I/O线。不可以设置成双向口,但它可以分拆为两组即高4位和低4位,这两组可以任意设置为输入或输出。除了作为独立的I/O线外,C口还经常为A口、B口服务,配合A口、B口作联络线使用。A1、A0:端口地址选择信号。用于选择8255A的3个数据端口和一个控制口。当A1A0=00时,选择端口A;为01时,选择端口B;为10,选择端口C;为11时,选择控制口。[5]103.2.48255A工作方式方式0:基本的输入/输出方式。A口、B口、C口都可以工作在些方式下。(1)工作方式0:这是8255A中各端口的基本输入/输出方式。它只完成简单的并行输入/输出操作,CPU可从指定端口输入信息,也可向指定端口输出信息,如果三个端口均处于工作方式0,则可由工作方式控制字定义16种工作方式的组合(2)工作方式1:被称作选通输入/输出方式。在这种工作方式下,数据输入/输出操作要在选通信号控制下完成。[6](3)工作方式2:被称作带选通的双向传送方式。8255A中只允许端口A处于工作方式2,可用来在两台处理机之间实现双向并行通信。其有关的控制信号由端口C提供,并可向CPU发出中断请求信号。在本次试验中,考虑到程序的简洁性,在完全满足实验要求的情况下,我们将8255A的A、B口都设置为方式0,A口输入四位,B口输出数据,C口低四位输出。3.2.58255A方式控制字格式A口工作在方式0,做为输入端口用于连接选手按键(PA7~PA0依次对应按键1~8);B口工作在方式0,做为输出端口,经驱动器1连接LED显示器(PB7~PB0依次对应连接LED显示器的dp、g、f、e、d、c、b、a七段数码管管脚);C口也必须工作在方式0,高4位做输入端口(本次设计中只用PC4、PC5,分别用于连接复位键和开始键),低4位做输出端口(PC3~PC0,经驱动器2后PC1、PC2、PC3分别用于连接黄、红、绿三个发光二极管,PC0连接到8253的GATE1端,以控制通道1的计数)。11表18255方式控制字D7D6、D5D4D3D2D1D01A口A口C口高4位B口B口C口低4位00方式001方式11x方式20输出1输入0输出1输入0方式01方式10输出1输出0输出1输入3.2.6可编程并行接口接口芯片8255A的工作方式(1)A口工作在方式0,做为输入端口用于连接选手按键(PA7~PA0依次对应按键1~8);(2)B口工作在方式0,做为输出端口,经驱动器1连接LED显示器(PB7~PB0依次对应连接LED显示器的dp、g、f、e、d、c、b、a七段数码管管脚)。[7]124调试与结果测试4.1程序调试。启动计算机,计算机自动为系统各芯片进行初始化,抢答器开始工作。比赛开始,选手抢答成功,LED显示器显示选手号码。4.2结果测试。(1)按照接线图连接电路,连接、编译无误后载入系统,执行程序。(2)当向前推动多个按钮后(可故意先推动一个按钮以测试准确性),屏幕显示出抢答成功的按钮编号。(3)实验结束。实验测试结果如表4-1
本文标题:基于8086系统抢答器的设计与实现
链接地址:https://www.777doc.com/doc-5440427 .html