接口技术课程设计竞赛抢答器.docx

上传人:b****1 文档编号:12490479 上传时间:2023-04-19 格式:DOCX 页数:9 大小:43.50KB
下载 相关 举报
接口技术课程设计竞赛抢答器.docx_第1页
第1页 / 共9页
接口技术课程设计竞赛抢答器.docx_第2页
第2页 / 共9页
接口技术课程设计竞赛抢答器.docx_第3页
第3页 / 共9页
接口技术课程设计竞赛抢答器.docx_第4页
第4页 / 共9页
接口技术课程设计竞赛抢答器.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

接口技术课程设计竞赛抢答器.docx

《接口技术课程设计竞赛抢答器.docx》由会员分享,可在线阅读,更多相关《接口技术课程设计竞赛抢答器.docx(9页珍藏版)》请在冰豆网上搜索。

接口技术课程设计竞赛抢答器.docx

接口技术课程设计竞赛抢答器

题目:

竞赛抢答器的设计与设计

㈠设计任务与要求:

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

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 社交礼仪

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1