1、5主持人向下拨K8,代表复位操作,指示灯和数码管熄灭。6主持人可以再次向上拨动K8,启动下一次抢答。7通过8255完成设计。设计方案:2.1设计思路:利用可编程的并行接口 8255进行设计。首先, 初始化8255。,然后,判断是启动还是复位操作,若是复位操作, 则控制8255输出的数据使绿色和红色指示灯、LED数码管全灭; 否则启动下一次抢答,使绿色发光二极管亮,当绿灯亮时表示可 以抢答,当8255的输入口 A有不为0的数据时,则使红色发光 二极管点亮、并判断先拨动开关的组号,在LED上显示出其组号, 当燃,如果要使绿灯在抢答时亮,在每次复位时检测k8看其值 是不是为零,即是不是在抢答完复位,
2、如果没有复位,则不断的 检测,相反则重新下一轮的抢答。2.2设计硬件:木次试验用到了并行接口 8255该芯片的主要的 功能是提供了四个外设编制地址,即A 口,B 口,C 口和控制器各占 一个外设接口地址,并且多同一个地址分别可以进行读,写操作。 而且还可以适应CPU与IO接口多种输出方式,如无条件传输方式, 查询传输方式和中断传输方式等。B 口和C 口的引脚具有达林顿复 合晶体管驱动功能,在1.5V时输出1mA电流,适于作输出端口。 C 口除作数据口外,当8255工作在方式1和方式2时,C 口的部分 引脚作为固定的联络信号线。木实验中8255作为外设接口,A 口 输入,B、C输出,B 口用于控
3、制红,绿灯,C 口用于控制LDE发光 二极管。硕件线路设计:3.1线路图:KDO O KD1 O JO2 CJ KH3 a KD-1 C3 05 O 06 C) 3.2连线说明:8255模块的WR、RD分别连到ISA总线接口的IOWR、IORD。8255模块的数据(ADO7)、地址线(A07)分别连到ISA总线接口的 数据(LADO7)、地址线(LAO7)。 8255模块选通线CE连到ISA总线接口模块的IOYO。8255的PAO7连到键盘显示模块的KDO7: 8255的PBO3连到键盘显示模 块的KL14。8255的端口 C (PC0-PC7)通过驱动连接到LED的dh各段。8255的端口
4、A (PA0-PA7)和开关K1-K8相连。8255的端口 B (如PB2、PB1)分别和发光二极管L2 (绿)、L1 (红)连 接。软件设计4.1流程图:源程序MY_DATA SEGMENTDW Oc8OOHDW 0c801HDW Oc8O2HDW Oc8O3HP8255_AP8255_BP8255_CP8255_MODESGTB DB 0F9H,0A4H,0B0H,099H,92H,82H,0F8H ;共阳极数码MY_DATA ENDSMY_CODE SEGMENTMY_PROC PROC FARASSUME CS:MY_CODE ,DS:MY_DATASTART: MOV AX,MY_D
5、ATAMOV DS,AXMOV DX,P8255_MODEMOV AL,90H ;初始化8255控制字A 口输入,B、C输出OUT DX,ALAGAIN: MOV BX,0MOV DX,P8255_AIN AL,DXTEST AL,80HJNZ QD ;启动MOV DX,P8255_BMOV AL,11111111BMOV DX,P8255_C;绿灯红灯全灭数码管灭抢答B: MOV BX,0040HMOV CX,7TEST AL,BLJNZC从K7判断是否抢答若抢答跳转JMP AGAINLOOPDJZ B ;若第一次没检测到抢答者返回继续检测C:MOV DX,P8255_B ;红灯亮MOV A
6、L,11111101B位选线 PB7MOV AL.10000000BMOV BX.CX;将第一个抢答者的组别送C 口 LED显示MOV AL,SGTBBXOUT DX.ALMOV ALJ1111101BMOV DX,P8255_A ;检测开关是否复位,如果没有继续检测,如果有,开始下一轮的抢答。JNZRJMP AGAIN ;重新开始EXIT: MOV AX,4C00HINT21HMY_PROC ENDpMY_CODE ENDSEND START伉)调试过程6.1实验连线出现的问题:在一开始时输完程序,编译连接,发现程序没有错误,可是红, 绿灯一开始就是不亮,更别说是通过开关来控制了。经仔细检查
7、程序 并没有发现什么问题,后来又去检查线路,发现有一根线接触不良, 用手一扌恩灯就亮,手一放灯就灭。后来通过换线子,解决了问题。6.2实验中程序出现的问题:解决了线路问题,兴高采烈,木以为试验就可以成功,可是无论 怎么拨弄开关红,绿灯还是不亮,无可奈何只好重新检查程序,在检 查程序的过程中发现少了一些控制语句。源程序中因为没有循环控制 语句,所以程序循环的太快,使得绿灯熄灭的频率太快,人肉眼无法 分辨出来,因此我在程序中加了 MOV DX,P8255_B MOVAL,11111101 B OUT DX,AL MOV DX,P8255_A IN AL,DX TEST AL,80H JNZ R J
8、MP AGAIN这几句程序来判断K8是 否复位,如果没有复位是红灯一直亮,强制使绿灯熄灭,如果复位后 就进行下一轮的抢答。解决了程序的问题。实验中操作易出现的问题:在使用编译软件的过程中我发现如果我更换程序要注意重新新 建,因为我每次更该程序仅仅靠复制,粘贴,可是实验结果和没有更 换程序一样,即使是进行复位也解决不了问题,后来我每次更换程序 都重新新建编译文本,这样问题就解决啦!(七)总结:首先:我觉的我们学生的动手能力太差,只要结果没出来就怀疑是 实验仪器出问题了,而不去检查程序是否出问题。其次:同学都不愿意去动脑子,很少有人愿意自己去编程序,都是 相互复制。在实验室中只要有一个同学把实验做
9、出来,很快其他同学 也做出来了。原因是只要把程序复制一下,稍微修改一些数据就能把 实验做出来,可是当问其每一步的步骤是什么意思时,很多人支支吾 吾,不知所以然,这样就失去实验的意义了。再者:我认为最重要的一点是通过实验反映一个人性格。大多人在 实验中只要遇一点困难就东张西望,或是焦躁不安,跑去问别人即使 问题解决了还是不知道是什么原因。而有的同学遇到问题回去反复实 验,仔细研究在研究中发现问题解决问题。这样的人收获是做大的, 因为他们在解决问题的过程中会学到很多东西。所以当我们遇到问题 时要尽最大努力去解决,即使别人帮忙解决也要明白为什么,这样才 会有收获。(八)参考文献1裘雪红,李伯成,刘凯编著微型计算机原理及接口技术(第二版).西安电子科技大学出版社.20072杨全胜.现代微机原理与接口技术.电子工业出版社.2005
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1