2021年八路竞赛抢答器课程设计_第1页
2021年八路竞赛抢答器课程设计_第2页
2021年八路竞赛抢答器课程设计_第3页
2021年八路竞赛抢答器课程设计_第4页
2021年八路竞赛抢答器课程设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录7270摘要 1177101八路竞赛抢答器设计规定与设计方案 2267341.1八路竞赛抢答器方案选取与比较 2122421.2八路竞赛抢答器元件选取 3267332八路竞赛抢答器硬件设计 3275752.1八路竞赛抢答器硬件框图 336442.2显示电路设计 4180312.3电路设计 440302.4开始和复位电路 5108892.5总电路 6206592.6可编程并行接口8255及其引脚阐明 8108852.78086及引脚阐明 10267072.7.1名称和功能相似32个引脚 10318822.7.2最小模式下24--31引脚 1222262.7.3最大模式下24--31引脚 13135053八路抢答器软件设计 15323043.1主程序流程图 15152263.2显示模块程序设计 16285523.3延时模块程序设计 1796083.4开始模块程序设计 1828763.5复位模块程序设计 1821693.6程序清单 1930056设计体会与小结 2229078参照文献 23摘要随着科学技术不断发展,促使人们学科学、学技术、学知识手段各种各样。抢答器作为一种工具,已经广泛应用于各种智力知识竞赛场合。但抢答器使用频率较低,有制作复杂,有可靠性低,减少实用性。本课程设计是基于微机原理与接口技术简朴应用。通过硬件与软件结合,用咱们刚刚学过汇编语言编写程序模仿分析了竞赛中抢答系统运用,结合竞赛实际状况阐述了抢答系统工作原理,给出了一种简朴实用多路抢答系统硬件、软件电路设计方案。该抢答器由主持人通过时间预设开关预设供抢答时间,系统将完毕自动倒计时。若在规定期间内有人抢答,则计时将自动停止;若无人抢答,当主持人按下复位按钮时,屏幕显示清零,等待下一轮抢答。本课题设计了一种采用8255芯片和汇编语言制作多功能抢答器,实验箱中开关区和数码显示区共同完毕。重要功能:1.倒计时2.用LED数码管显示1-8号选手先按下键者号码。它除了具备基本抢答功能之外,和数显功能,当抢答开始后,系统会自动倒计时,并且时间是可以预设,期间有人抢答话系统会停止计时,如果期间没人抢答,系统自动锁存直到主持人按下复位键。核心字:中断优先级可编程定期器/计数器数码管八路竞赛抢答器设计1八路竞赛抢答器设计规定与设计方案1.1八路竞赛抢答器方案选取与比较本设计以微机原理及接口技术为基本,以实验箱为工具,完毕P智能抢答器设计。该智能抢答器涉及8086最小应用系统整体设计模块、键盘解决模块(DOS调用)、答题计时模块、LED数码管显示模块。选用8086作为微解决器、扩展可编程并行I/O接口8255A芯片、可编程定期计数芯片8253(或不用)、可编程中断控制器8259A(或不用)、LED数码管及键盘和发光二极管等元件,制定方案如下:方案一选用8255A,8253,8259,实验箱键盘显示区1.8253作为定期器使用。2.8259运用IR0端作为定期到中断引入端,IR2端作为开始键按下中断引入端,IR3端作为清零键按下中断引入端,IR4端作为暂停键按下中断引入端。3.8255作为并行输入输出,A口键盘接显示区,C口接清零键和开始键,B口8个抢答开关4.盘显示区由四个LED数码管和10个按键构成。方案二选用8255,实验箱键盘显示区1.8255作为并行I/O接口,A口接8个抢答开关,B口显示区,C口清零键和开始键。2.用软件编程进行定期功能方案选取:方案二采用扫描,没有用到8259,8253程序编制简朴,但是cpu耗费了更多时间在扫描,效率相对来说较低。方案一采用中断,程序构造化更为清晰,且cpu少了循环扫描时间,效率较高。但是多用了一种8259中断控制芯片,一种8253定期/计时芯片,程序编制上涉及到中断服务子程序编写,稍显复杂,且硬件相应增多,费用也相应较多。经比较采用方案二。1.2八路竞赛抢答器元件选取1)解决器选取微型机具备体积小、重量轻、耗电少、价格低廉、可靠性高、构造灵活等特点,因此选取8086系统2)显示电路显示可通过彩灯和数码管来实现。如果用彩灯作为显示功能,则不是很直观。而数码管具备显示亮度高,使用寿命长,且能直观以便看到倒计时数字,和选手编号,因而选用数码管显示。3)芯片选取8255作为并行I/0接口,能满足10个输入按键输入功能,声音系统输出,和LED数码管输出。并且8255每个接口尚有锁存和数据缓冲作用。因此选取8255芯片。2八路竞赛抢答器硬件设计2.1八路竞赛抢答器硬件框图8255A8255A八段数码管显示电路按键电路八段数码管显示电路按键电路倒计时和抢答电路系统复位等辅助电路倒计时和抢答电路系统复位等辅助电路8086CPU8086CPU图2.1八路竞赛抢答器硬件框图2.2显示电路设计8255芯片PB0至PB7分别与数码管八个引脚相连。将8255芯片中需要显示信息通过B口送入数码显示区,由数码管亮灭显示出来。如图2.2所示。图2.2显示电路2.3电路设计8255芯片PA0至PA7分别与8个拨码开关相连,将八位选手抢答信号(由拨码开关控制)通过A口送入8255芯片。如图2.3所示。图2.3抢答电路2.4开始和复位电路8255芯片PC0口相应开始按键,PC3口相应复位按键。将抢答开始和结束信号(由开始按键和复位按键控制)通过C口送入8255芯片。图2.4开始和复位电路2.5总电路设计总电路如图2.5所示。图2-5总电路2.6可编程并行接口8255及其引脚阐明图2-68255A引脚图引脚功能RESET:复位输入线,当该输入端处在高电平时,所有内部寄存器(涉及控制寄存器)均被清除,所有I/O口均被置成输入方式。CS:芯片选取信号线,当这个输入引脚为低电平时,即/CS=0时,表达芯片被选中,容许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传播。RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,容许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,容许CPU将数据或控制字写入8255。D0~D7:三态双向数据总线,8255与CPU数据传送通道,当CPU执行输入输出指令时,通过它实现8位数据读/写操作,控制字和状态信息也通过数据总线传送。PA0~PA7:端口A输入输出线,一种8位数据输出锁存器/缓冲器,一种8位数据输入锁存器。PB0~PB7:端口B输入输出线,一种8位I/O锁存器,一种8位输入输出缓冲器。PC0~PC7:端口C输入输出线,一种8位数据输出锁存器/缓冲器,一种8位数据输入缓冲器。端口C可以通过工作方式设定而提成2个4位端口,每个4位端口包括一种4位锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。'A1,A0:地址选取线,用来选取8255PA口,PB口,PC口和控制寄存器.当A1=0,A0=0时,PA口被选取;当A1=0,A0=1时,PB口被选取;当A1=1,A0=0时,PC口被选取;当A1=1.A0=1时,控制寄存器被选取。8255端口地址如表2-1所示。表2-18255端口地址端口地址PA口60HPB口61HPC口62H控制口63H2.78086及引脚阐明图2-68086引脚图2.7.1名称和功能相似32个引脚1、VCC、GND:电源、接地引脚(3个),8086CPU采用单一+5V电源,但有两个接地引脚。AD15—AD0(AddressDataBus):地址/数据复用信号输入/输出引脚(16个),分时输出低16位地址信号及进行数据信号输入/输出。3、A19/s6—A15/s3(AddressStatusBus):地址/状态复用信号输出引脚(4个),分时输出地址高4位及状态信息,其中s6为0用以批示8086CPU当前与总线连通;s5为1表白8086/8088CPU可以响应可屏蔽中断;s4、s3共有四个组态,用以指明当前使用段寄存器,如表9-5所示,00—ES,01—SS,10—CS,11—DS。4、NMI(Non-MaskableInterrupt)、INTR(InterruptRequest):中断祈求信号输入引脚(2),引入中断源向CPU提出中断祈求信号,高电平有效,前者为非屏蔽中断祈求,后者为可屏蔽中断祈求信号。5、(Read):读控制输出信号引脚(1),低电平有效,用以指明要执行一种对内存单元或I/O端口读操作,详细是读内存单元,还是读I/O端口,取决于控制信号。6、CLK/(Clock):时钟信号输入引脚(1),时钟信号方波信号,占空比约为33%,即1/3周期为高电平,2/3周期为底电平,8086/8088时钟频率(又称为主频)为4.77MHz,即从该引脚输入时钟信号频率为4.77MHz。7、Reset(Reset):复位信号输入引脚(1),高电平有效。8088/8086CPU规定复位信号至少维持4个时钟周期才干起到复位效果,复位信号输入之后,CPU结束当前操作,并对解决器标志寄存器、IP、DS、SS、ES寄存器及指令队列进行清零操作,而将CS设立为0FFFFH。8、READY(Ready):“准备好”状态信号输入引脚(1),高电平有效,“Ready”输入引脚接受来自于内存单元或I/O端口向CPU发来“准备好”状态信号,表白内存单元或I/O端口已经准备好进行读写操作。该信号是协调CPU与内存单元或I/O端口之间进行信息传送联系信号。9、(Test):测试信号输入引脚(1),低电平有效,TEST信号与WAIT指令结合起来使用,CPU执行WAIT指令后,处在等待状态,当TEST引脚输入低电平时,系统脱离等待状态,继续执行被暂停执行指令。10、MN/MX(Minimum/MaximumModelControl)最小/最大模式设立信号输入引脚(1),该输入引脚电平高、低决定了CPU工作在最小模式还是最大模式,当该引脚接+5V时,CPU工作于最小模式下,当该引脚接地时,CPU工作于最大模式下。11、/S7(BusHighEnable/Status):高8位数据容许/状态复用信号输出引脚(1),输出。分时输出有效信号,表达高8为数据线D15—D8上数据有效和S7状态信号,但S7未定义任何实际意义。运用信号和AD0信号,可知系统当前操作类型,详细规定见表2-2所示。表2-2和A0代码组合和相应操作A0操作所用数据引脚00从偶地址单元开始读/写一种字AD15~AD001从奇地址单元或端口读/写一种字节AD15~AD810从偶地址单元或端口读/写一种字节AD7~AD011无效--01从奇地址开始读/写一种字(在第一种总线周期将低8位数据送到AD15~AD8,下一种周期将高8位数据送到AD7~AD0)AD15~AD010在8088系统中,该引脚为,用来与、一起决定8088芯片当前总线周期读写操作,如表2-3所示。表2-3总线周期读写操作组合性能100中断响应101读I/O端口110写I/O端口111暂停(Halt)000取指令操作码001读存储器010写存储器011无源2.7.2最小模式下24--31引脚当8086CPU引脚固定接+5V时,CPU处在最小模式下,这时候剩余24—31共8个引脚名称及功能如下:1、(InterruptAcknowledge)中断响应信号输出引脚(1),低电平有效,该引脚是CPU响应中断祈求后,向中断源发出承认信号,用以告知中断源,以便提供中断类型码,该信号为两个持续负脉冲。2、ALE(AddressLockEnable):地址锁存容许输出信号引脚(1),高电平有效,CPU通过该引脚向地址锁存器8282/8283发出地址锁存容许信号,把当前地址/数据复用总线上输出是地址信息,锁存到地址锁存器8282/8283中去。注意:ALE信号不能被浮空。3、(DataEnable):数据容许输出信号引脚,低电平有效,为总线收发器8286提供一种控制信号,表达CPU当前准备发送或接受一项数据。4、(DataTransmit/Receive):数据收发控制信号输出引脚(1),CPU通过该引脚发出控制数据传送方向控制信号,在使用8286/8287作为数据总线收发器时,信号用以控制数据传送方向,当该信号为高电平时,表达数据由CPU经总线收发器8286/8287输出,否则,数据传送方向相反。5、(Memory/Input&Output):存储器/I/O端口选取信号输出引脚(1),这是CPU区别进行存储器访问还是I/O访问输出控制信号。当该引脚输出高电平时,表白CPU要进行I/O端口读写操作,低位地址总线上浮现是I/O端口地址;当该引脚输出低电平时,表白CPU要进行存储器读写操作,地址总线上浮现是访问存储器地址。6、(Write):写控制信号输出引脚(1),低电平有效,与配合实现对存储单元、I/O端口所进行写操作控制。7、HOLD(HoldRequest):总线保持祈求信号输入引脚(1),高电平有效。这是系统中其他总线部件向CPU发来总线祈求信号输入引脚。8、HLDA(HoldAcknowledge):总线保持响应信号输出引脚,高电平有效,表达CPU承认其她总线部件提出总线占用祈求,准备让出总线控制权。2.7.3最大模式下24--31引脚当8086CPU引脚固定接地时,CPU处在最大模式下,这时候剩余24—31共8个引脚名称及功能如下:1、QS1、QS0(InstructionQueueStatus):指令队列状态信号输出引脚(2),这两个信号组合给出了前一种T状态中指令队列状态,以便于外部88086CPU内部指令队列动作跟踪,如表2-4所示.表2-4QS1、QS0组合表性能00无操作01从指令队列第一种字节取走代码10队列为空11除第一种字节外,还取走了后续字节中代码2、、、:总线周期状态信号输出引脚(3),低电平信号输出端,这些信号组合起来,可以指出当前总线周期中,所进行数据传播过程类型,总线控制器8288运用这些信号来产生对存储单元、I/O端口控制信号。、、与详细物理过程之间相应关系,如表2-5所示。表2-5~状态编码性能100中断响应101读I/O端口110写I/O端口111暂停000取指001读存储器010写存储器011无作用这里对无源状态(在最小模式中也存在,见P19)作一阐明:从表中可以看出,每一种组合都相应一种详细总线操作,除111外,别的都称为有源状态。也就是说,在有源状态(相应前一种总线周期和本总线周期和状态)中,至少有一种信号为0,当时(相应总线周期和且READY=1),也就是一种总线操作即将结束,另一种总线周期尚未开始时,称为无源状态,很显然,这时中任一信号变化,都意味着一种新总线周期开始。3、(Lock):总线封锁输出信号引脚(1),低电平有效,当该引脚输出低电平时,系统中其他总线部件就不能占用系统总线。信号是由指令前缀LOCK产生,在LOCK前缀背面一条指令执行完毕之后,便撤除信号。此外,在80862个中断响应脉冲之间,信号也自动变为有效低电平,以防止其他总线部件在中断响应过程中,占有总线而使一种完整中断响应过程被中断。4、、(Request/Grant):总线祈求信号输入/总线容许信号输出引脚(2)。这两个信号端可供CPU以外两个解决器,用来发出使用总线祈求信号和接受CPU对总线祈求信号应答。这两个引脚都是双向,祈求与应答信号在同一引脚上分时传播,方向相反。其中比优先级高。3八路抢答器软件设计软件设计重点在延时,显示倒计时和选手编号和按键抢搭、开始和清零实现。延时采用嵌套循环方式实现。3.1主程序流程图8255A初始化8255A初始化开始按键与否按下N开始按键与否按下Y倒计时显示启动倒计时倒计时显示启动倒计时时间到否时间到否YN与否有人抢答N与否有人抢答Y显示抢答号码停止倒计时显示显示抢答号码停止倒计时显示复位按键与否按下复位按键与否按下NY图3.1--主程序流程图3.2显示模块程序设计基本显示模块设计重点是由显示代码获得相应段码,通过锁存器控制输出给相应数码管显示。B口输出数据B口输出数据转换为八位段码数码管显示图3.2--显示模块程序流程图3.3延时模块程序设计延时模块核心是计算计算机一秒能执行多少指令,再通过循环控制。在CX中存入外循环次数在CX中存入外循环次数在BX中存入内循环次数在BX中存入内循环次数BX减一BX减一BX与否自减为零NBX与否自减为零CX减一YCX减一CX与否自减为零NCX与否自减为零延时完毕Y延时完毕图3.3—延时模块程序流程图3.4开始模块程序设计读入C口数据读入C口数据开始按键与否按下N开始按键与否按下往下执行程序Y往下执行程序图3.4--开始模块程序设计流程图3.5复位模块程序设计复位按键与否按下N复位按键与否按下Y将B口输出为0,即讲数码管清零将B口输出为0,即讲数码管清零 重新开始抢答重新开始抢答读入C口数据读入C口数据图3.5--清零模块程序设计流程图程序清单DATASEGMENTDATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODESTART:MOVAL,10010001B OUT63H,ALMAIN:INAL,62HTESTAL,01HJZMAIN MOVAL,00H OUT61H,ALB1:MOVAL,77HOUT61H,ALCALLA1MOVAL,6FHOUT61H,ALCALLA1MOVAL,7FHOUT61H,ALCALLA1MOVAL,07HOUT61H,ALCALLA1MOVAL,7DHOUT61H,ALCALLA1MOVAL,6DHOUT61H,ALCALLA1MOVAL,66HOUT61H,ALCALLA1MOVAL,4FHOUT61H,ALCALLA1MOVAL,5BHOUT61H,ALCALLA1MOVAL,06HOUT61H,ALCALLA1MOVAL,3FHOUT61H,ALCALLAAAAPROCINAL,62HTESTAL,08HJZC1JMPAAC1:MOVAL,00HOUT61H,ALJMPMAINRETAAENDPA1PROCMOVCX,0100HBB1:MOVBX,00B0HBB2:INAL,60HCMPAL,00000001BJZAA1CMPAL,00000010BJZAA2CMPAL,00000100BJZAA3CMPAL,00001000BJZAA4CMPAL,00010000BJZAA5CMPAL,00100000BJZAA6CMPAL,01000000BJZAA7CMPAL,10000000BJZAA8DECBXJNZBB2LOOPBB1RETA1ENDPAA1:MOVDX,61HMOVAL,06HOUTDX,ALJMPAAAA2:MOVDX,61HMOVAL,5BHOUTDX,ALJMPAAAA3:MOVDX,61HMOVAL,4FHOUTDX,ALJMPAAAA4:MOVDX,61HMOVAL,66H

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论