您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 接口技术课程设计-竞赛抢答器
1题目:竞赛抢答器的设计与设计㈠设计任务与要求:1.1设计任务:①了解微机控制的竞赛抢答器的基本原理。②进一步熟练8255的使用。③设计一个7路的智力竞赛抢答器。1.2要求:①在主持人侧,设置抢答指示电路和启动/复位开关。选手侧各设置1个抢答按钮。②使用开关K8代表启动/复位开关,K8向上拨时,表示启动一次抢答,绿色发光二极管亮作允许抢答指示。此时选手侧可以按动各自的抢答按钮。③使用实验仪的逻辑电平开关K1-K7来代表7个抢答按钮。当开关向上拨时表示按下按钮。④收到第1个抢答信号后,主持人侧红色发光二极管亮(绿色发光二极管灭)作抢答指示,并且在单个LED数码管显示抢先一组的组别。⑤主持人向下拨K8,代表复位操作,指示灯和数码管熄灭。⑥主持人可以再次向上拨动K8,启动下一次抢答。⑦通过8255完成设计。2㈡设计方案:2.1设计思路:利用可编程的并行接口8255进行设计。首先,初始化8255。然后,判断是启动还是复位操作,若是复位操作,则控制8255输出的数据使绿色和红色指示灯、LED数码管全灭;否则启动下一次抢答,使绿色发光二极管亮,当绿灯亮时表示可以抢答,当8255的输入口A有不为0的数据时,则使红色发光二极管点亮、并判断先拨动开关的组号,在LED上显示出其组号,当然,如果要使绿灯在抢答时亮,在每次复位时检测k8看其值是不是为零,即是不是在抢答完复位,如果没有复位,则不断的检测,相反则重新下一轮的抢答。2.2设计硬件:①本次试验用到了并行接口8255该芯片的主要的功能是提供了四个外设编制地址,即A口,B口,C口和控制器各占一个外设接口地址,并且多同一个地址分别可以进行读,写操作。②而且还可以适应CPU与I\O接口多种输出方式,如无条件传输方式,查询传输方式和中断传输方式等。③B口和C口的引脚具有达林顿复合晶体管驱动功能,在1.5V时输出1mA电流,适于作输出端口。④C口除作数据口外,当8255工作在方式1和方式2时,C口的部分引脚作为固定的联络信号线。⑤本实验中8255作为外设接口,A口输入,B、C输出,B口用于控制红,绿灯,C口用于控制LDE发光二极管。3㈢硬件线路设计:3.1线路图:四位数码管循环显示图3.2连线说明:8255模块的WR、RD分别连到ISA总线接口的IOWR、IORD。8255模块的数据(AD0~7)、地址线(A0~7)分别连到ISA总线接口的数据(LAD0~7)、地址线(LA0~7)。8255模块选通线CE连到ISA总线接口模块的IOY0。8255的PA0~7连到键盘显示模块的KD0~7;8255的PB0~3连到键盘显示模块的KL1~4。8255的端口C(PC0-PC7)通过驱动连接到LED的a~h各段。8255的端口A(PA0-PA7)和开关K1-K8相连。8255的端口B(如PB2、PB1)分别和发光二极管L2(绿)、L1(红)连接。4㈣软件设计4.1流程图:yesnono继续检测yesno继续检测yes初始化8255控制字A口输入,B、C输出,绿灯红灯全灭数码管灭复位了吗?开始启动绿灯,开始抢答有人抢答吗检测首次抢答者显示抢答组数检测k8是否复位?5㈤源程序MY_DATASEGMENTP8255_ADW0c800HP8255_BDW0c801HP8255_CDW0c802HP8255_MODEDW0c803HSGTBDB0F9H,0A4H,0B0H,099H,92H,82H,0F8H;共阳极数码管MY_DATAENDSMY_CODESEGMENTMY_PROCPROCFARASSUMECS:MY_CODE,DS:MY_DATASTART:MOVAX,MY_DATAMOVDS,AXMOVDX,P8255_MODEMOVAL,90H;初始化8255控制字A口输入,B、C输出OUTDX,ALAGAIN:MOVBX,0MOVDX,P8255_AINAL,DX6TESTAL,80HJNZQD;启动MOVDX,P8255_B;绿灯红灯全灭MOVAL,11111111BOUTDX,ALMOVDX,P8255_CMOVAL,11111111B;数码管灭OUTDX,ALJMPAGAINQD:MOVDX,P8255_B;启动,绿灯亮可以开始抢答MOVAL,11111011BOUTDX,ALA:MOVDX,P8255_AINAL,DXTESTAL,7FHJZA;若无人抢答跳转继续检测有人按下则转BB:MOVBX,0040HMOVCX,7D:TESTAL,BL;从K7判断是否抢答JNZC;若抢答跳转7SHRBL,1;逻辑右移,依次检测首次抢答者LOOPDJZB;若第一次没检测到抢答者返回继续检测C:MOVDX,P8255_B;红灯亮MOVAL,11111101BOUTDX,ALMOVDX,P8255_B;位选线PB7MOVAL,10000000BOUTDX,ALDECCX;记录第一个抢答者的组别MOVBX,CXMOVDX,P8255_C;将第一个抢答者的组别送C口LED显示MOVAL,SGTB[BX]OUTDX,ALR:MOVDX,P8255_B;红灯亮MOVAL,11111101BOUTDX,AL8MOVDX,P8255_A;检测开关是否复位,如果没有继续检测,如果有,开始下一轮的抢答。INAL,DXTESTAL,80HJNZRJMPAGAIN;重新开始EXIT:MOVAX,4C00HINT21HMY_PROCENDpMY_CODEENDsENDSTART㈥调试过程6.1实验连线出现的问题:在一开始时输完程序,编译连接,发现程序没有错误,可是红,绿灯一开始就是不亮,更别说是通过开关来控制了。经仔细检查程序并没有发现什么问题,后来又去检查线路,发现有一根线接触不良,用手一摁灯就亮,手一放灯就灭。后来通过换线子,解决了问题。6.2实验中程序出现的问题:解决了线路问题,兴高采烈,本以为试验就可以成功,可是无论9怎么拨弄开关红,绿灯还是不亮,无可奈何只好重新检查程序,在检查程序的过程中发现少了一些控制语句。源程序中因为没有循环控制语句,所以程序循环的太快,使得绿灯熄灭的频率太快,人肉眼无法分辨出来,因此我在程序中加了MOVDX,P8255_BMOVAL,11111101BOUTDX,ALMOVDX,P8255_AINAL,DXTESTAL,80HJNZRJMPAGAIN这几句程序来判断K8是否复位,如果没有复位是红灯一直亮,强制使绿灯熄灭,如果复位后就进行下一轮的抢答。解决了程序的问题。6.3实验中操作易出现的问题:在使用编译软件的过程中我发现如果我更换程序要注意重新新建,因为我每次更该程序仅仅靠复制,粘贴,可是实验结果和没有更换程序一样,即使是进行复位也解决不了问题,后来我每次更换程序都重新新建编译文本,这样问题就解决啦!㈦总结:首先:我觉的我们学生的动手能力太差,只要结果没出来就怀疑是实验仪器出问题了,而不去检查程序是否出问题。其次:同学都不愿意去动脑子,很少有人愿意自己去编程序,都是相互复制。在实验室中只要有一个同学把实验做出来,很快其他同学也做出来了。原因是只要把程序复制一下,稍微修改一些数据就能把实验做出来,可是当问其每一步的步骤是什么意思时,很多人支支吾10吾,不知所以然,这样就失去实验的意义了。再者:我认为最重要的一点是通过实验反映一个人性格。大多人在实验中只要遇一点困难就东张西望,或是焦躁不安,跑去问别人即使问题解决了还是不知道是什么原因。而有的同学遇到问题回去反复实验,仔细研究在研究中发现问题解决问题。这样的人收获是做大的,因为他们在解决问题的过程中会学到很多东西。所以当我们遇到问题时要尽最大努力去解决,即使别人帮忙解决也要明白为什么,这样才会有收获。㈧参考文献[1]裘雪红,李伯成,刘凯编著.微型计算机原理及接口技术(第二版).西安电子科技大学出版社.2007[2]杨全胜.现代微机原理与接口技术.电子工业出版社.200511
本文标题:接口技术课程设计-竞赛抢答器
链接地址:https://www.777doc.com/doc-7353011 .html