接口技术课程设计竞赛抢答器.docx
- 文档编号:12490479
- 上传时间:2023-04-19
- 格式:DOCX
- 页数:9
- 大小:43.50KB
接口技术课程设计竞赛抢答器.docx
《接口技术课程设计竞赛抢答器.docx》由会员分享,可在线阅读,更多相关《接口技术课程设计竞赛抢答器.docx(9页珍藏版)》请在冰豆网上搜索。
接口技术课程设计竞赛抢答器
题目:
竞赛抢答器的设计与设计
㈠设计任务与要求:
1.1设计任务:
①了解微机控制的竞赛抢答器的基本原理。
②进一步熟练8255的使用。
③设计一个7路的智力竞赛抢答器。
1.2要求:
①在主持人侧,设置抢答指示电路和启动/复位开关。
选手侧各设置1个抢答按钮。
②使用开关K8代表启动/复位开关,K8向上拨时,表示启动一次抢答,绿色发光二极管亮作允许抢答指示。
此时选手侧可以按动各自的抢答按钮。
③使用实验仪的逻辑电平开关K1-K7来代表7个抢答按钮。
当开关向上拨时表示按下按钮。
④收到第1个抢答信号后,主持人侧红色发光二极管亮(绿色发光二极管灭)作抢答指示,并且在单个LED数码管显示抢先一组的组别。
⑤主持人向下拨K8,代表复位操作,指示灯和数码管熄灭。
⑥主持人可以再次向上拨动K8,启动下一次抢答。
⑦通过8255完成设计。
㈡设计方案:
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.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.1流程图:
yes
no
no继续检测
yes
no
继续
检测
yes
㈤源程序
MY_DATASEGMENT
P8255_ADW0c800H
P8255_BDW0c801H
P8255_CDW0c802H
P8255_MODEDW0c803H
SGTBDB0F9H,0A4H,0B0H,099H,92H,82H,0F8H;共阳极数码管
MY_DATAENDS
MY_CODESEGMENT
MY_PROCPROCFAR
ASSUMECS:
MY_CODE,DS:
MY_DATA
START:
MOVAX,MY_DATA
MOVDS,AX
MOVDX,P8255_MODE
MOVAL,90H;初始化8255控制字A口输入,B、C输出
OUTDX,AL
AGAIN:
MOVBX,0
MOVDX,P8255_A
INAL,DX
TESTAL,80H
JNZQD;启动
MOVDX,P8255_B;绿灯红灯全灭
MOVAL,11111111B
OUTDX,AL
MOVDX,P8255_C
MOVAL,11111111B;数码管灭
OUTDX,AL
JMPAGAIN
QD:
MOVDX,P8255_B;启动,绿灯亮可以开始抢答
MOVAL,11111011B
OUTDX,AL
A:
MOVDX,P8255_A
INAL,DX
TESTAL,7FH
JZA;若无人抢答跳转继续检测有人按下则转B
B:
MOVBX,0040H
MOVCX,7
D:
TESTAL,BL;从K7判断是否抢答
JNZC;若抢答跳转
SHRBL,1;逻辑右移,依次检测首次抢答者
LOOPD
JZB;若第一次没检测到抢答者返回继续检测
C:
MOVDX,P8255_B;红灯亮
MOVAL,11111101B
OUTDX,AL
MOVDX,P8255_B;位选线PB7
MOVAL,10000000B
OUTDX,AL
DECCX;记录第一个抢答者的组别
MOVBX,CX
MOVDX,P8255_C;将第一个抢答者的组别送C口LED显示
MOVAL,SGTB[BX]
OUTDX,AL
R:
MOVDX,P8255_B;红灯亮
MOVAL,11111101B
OUTDX,AL
MOVDX,P8255_A;检测开关是否复位,如果没有继续检测,如果有,开始下一轮的抢答。
INAL,DX
TESTAL,80H
JNZR
JMPAGAIN;重新开始
EXIT:
MOVAX,4C00H
INT21H
MY_PROCENDp
MY_CODEENDs
ENDSTART
㈥调试过程
6.1
实验连线出现的问题:
在一开始时输完程序,编译连接,发现程序没有错误,可是红,绿灯一开始就是不亮,更别说是通过开关来控制了。
经仔细检查程序并没有发现什么问题,后来又去检查线路,发现有一根线接触不良,用手一摁灯就亮,手一放灯就灭。
后来通过换线子,解决了问题。
6.2
实验中程序出现的问题:
解决了线路问题,兴高采烈,本以为试验就可以成功,可是无论怎么拨弄开关红,绿灯还是不亮,无可奈何只好重新检查程序,在检查程序的过程中发现少了一些控制语句。
源程序中因为没有循环控制语句,所以程序循环的太快,使得绿灯熄灭的频率太快,人肉眼无法分辨出来,因此我在程序中加了MOVDX,P8255_BMOVAL,11111101BOUTDX,ALMOVDX,P8255_AINAL,DX
TESTAL,80HJNZRJMPAGAIN这几句程序来判断K8是否复位,如果没有复位是红灯一直亮,强制使绿灯熄灭,如果复位后就进行下一轮的抢答。
解决了程序的问题。
6.3
实验中操作易出现的问题:
在使用编译软件的过程中我发现如果我更换程序要注意重新新建,因为我每次更该程序仅仅靠复制,粘贴,可是实验结果和没有更换程序一样,即使是进行复位也解决不了问题,后来我每次更换程序都重新新建编译文本,这样问题就解决啦!
㈦总结:
首先:
我觉的我们学生的动手能力太差,只要结果没出来就怀疑是实验仪器出问题了,而不去检查程序是否出问题。
其次:
同学都不愿意去动脑子,很少有人愿意自己去编程序,都是相互复制。
在实验室中只要有一个同学把实验做出来,很快其他同学也做出来了。
原因是只要把程序复制一下,稍微修改一些数据就能把实验做出来,可是当问其每一步的步骤是什么意思时,很多人支支吾吾,不知所以然,这样就失去实验的意义了。
再者:
我认为最重要的一点是通过实验反映一个人性格。
大多人在实验中只要遇一点困难就东张西望,或是焦躁不安,跑去问别人即使问题解决了还是不知道是什么原因。
而有的同学遇到问题回去反复实验,仔细研究在研究中发现问题解决问题。
这样的人收获是做大的,因为他们在解决问题的过程中会学到很多东西。
所以当我们遇到问题时要尽最大努力去解决,即使别人帮忙解决也要明白为什么,这样才会有收获。
㈧参考文献
[1]裘雪红,李伯成,刘凯编著.微型计算机原理及接口技术(第二版).西安电子科技大学出版社.2007
[2]杨全胜.现代微机原理与接口技术.电子工业出版社.2005
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 接口 技术 课程设计 竞赛 抢答