《微机原理实验报告(8255并口实验)》由会员分享,可在线阅读,更多相关《微机原理实验报告(8255并口实验)(7页珍藏版)》请在金锄头文库上搜索。
1、深 圳 大 学 实 验 报 告 课程名称: 微型计算机技术 实验项目名称: 8255并行接口实验 学院: 信息工程学院 专业: 电子信息工程 指导教师: 报告人: 学号: 班级: 实验时间: 实验报告提交时间: 教务处制一, 实验目的1, 学习并掌握8255 的工作方式及其应用。2, 掌握 8255 典型应用电路的接法。3, 掌握程序固化及脱机运行程序的方法。二, 实验设备PC机器一台,TD-PITE实验装置一套,导线若干,另外PC与TD-PITE实验装置连接线。三, 实验内容1,基本输入输出实验。编写程序,使 8255 的 A 口为输入,B 口为输出,完成拨动开关到数据灯的数据传输。要求只要
2、开关拨动,数据灯的显示就发生相应改变。2,流水灯显示实验。编写程序,使 8255 的 A 口和 B 口均为输出,数据灯 D7D0 由左向右,每次仅亮一个灯,循环显示,D15D8 与 D7D0 正相反,由右向左,每次仅点亮一个灯,循环显示。四 实验内容及步骤1. 基本输入输出实验本实验使 8255 端口 A 工作在方式 0 并作为输入口,端口 B 工作在方式 0 并作为输出口。实验接线图如图 6 所示,按图连接实验线路图。用一组开关信号接入端口 A,端口 B 输出线接至一组数据灯上,然后通过对 8255 芯片编程来实现输入输出功能。 图6 8255 基本输入输出失误接线图3.编写实验程序如下面(
3、1)汇编源程序SSTACKSEGMENT STACKDW 32 DUP(?)SSTACKENDSCODE SEGMENTASSUME CS:CODESTART:MOV DX, 0646H ;控制端口地址0646H送DX,因为8255的cs端口接的是I0Y1,而I0Y1对应的编址空间是0640H067FH,所以这里是0646H。MOV AL, 90H ; 方式选择控制字送ALOUT DX, AL ;方式选择控制字输给8255A的控制端口,完成端口 A 工作在方式 0 并作为输入口,端口 B 工作在方式 0 并作为输出口。AA1: MOV DX, 0640H ;控制端口A地址0640H送DXIN
4、AL, DX ;将端口A连接的开关的对应状态送给ALCALL DELAYMOV DX, 0642H ;控制端口A地址0642H送DXOUT DX, AL ;将AL的数据送到8255的端口B,从而使其连接的LED的灯发光JMP AA1DELAY:PUSH CXMOV CX, 0F00HAA2: PUSH AXPOP AXLOOP AA2POP CXRETCODE ENDSEND STARTii具体实验步骤如下述:(1) 编写实验程序,经编译、连接无误后装入系统(2)运行程序,改变拨动开关,同时观察 LED 显示,验证程序功能。(3)点击“调试”下拉菜单中的“固化程序”项,将程序固化到系统存储器中
5、。(4)将短路跳线 JDBG 的短路块短接到 RUN 端,然后按复位按键,观察程序是否正常运行;关闭实验箱电源,稍等后再次打开电源,看固化的程序是否运行,验证程序功能。(5)实验完毕后,请将短路跳线 JDBG 的短路块短接到 DBG 端(为了脱离计算机的控制而端接到JDBG端,试验后要调回,以便的实验)。程序分析:请看上面程序中的注释。实验结果:从实验中可以明显的看到,当key开关波动后,经过8255处理后的输出信号端相对应的led灯就会被点亮。具体灯图像如下:2. 流水灯显示实验:使 8255 的 A 口和 B 口均为输出,数据灯 D7D0 由左向右,每次仅亮一个灯,循环显示,D15D8 与
6、 D7D0 正相反,由右向左,每次仅点亮一个灯,循环显示。实验接线图如下图 所示。实验程序如下: SSTACKSEGMENT STACKDW 32 DUP(?)SSTACKENDSCODE SEGMENTASSUME CS:CODESTART:MOV DX, 0646H ;控制端口地址0646H送DXMOV AL, 80H ; 方式选择控制字送ALOUT DX, AL ;方式选择控制字输给8255A的控制端口,完成端口A、 B都 工作在方式 0 并作为输出口。MOV BX, 8001HAA1: MOV DX, 0640H ;控制端口A地址0640H送DX MOV AL, BH ;将BH中的值送
7、给ALOUT DX, AL ;点亮D7对应的LED灯ROR BH, 1 1000000数据循环右移,是数据灯D7D0由左向右逐个点亮MOV DX, 0642H ;控制端口B地址0642H送DX MOV AL, BL OUT DX, AL ;点亮D8对应的LED灯ROL BL, 1 00000001数据循环左移,是数据灯D8D15由右向左逐个点亮CALL DELAYCALL DELAYJMP AA1DELAY:PUSH CXMOV CX, 0F000HAA2: PUSH AXPOP AXLOOP AA2POP CXRETCODE ENDSEND START实验步骤如下所述:(1)按图 4.35
8、连接实验线路图。(2)编写实验程序,经编译、链接无误后装入系统(具体实验步骤和实验1基本类似)。(3)运行程序,观察 LED 灯的显示,验证程序功能。(4)自己改变流水灯的方式,编写程序。程序分析:请看上面程序中的注释。实验结果:由于条件的原因,没能记录下当时的现场结果。自己修改的程序: 这段程序对应的实验结果是: 这段程序对应的实验结果是:数据灯 D7D0 由左向右, 数据灯 D7D0 灯不亮首先亮的的是D3,每次仅亮一个 数据灯 D8D15由左向右首先亮灯,循环显示。数据灯 D8D15 的是D8,每次仅亮一个,循环显示。也是由左向右,首先亮的是D8,每次仅亮一个,循环显示。 四, 实验结论1,可以通过对8255工作方式控制的设置,可以实现对对不同的端口设置其输入输出功能,从而实现输入与输出数据的处理功能。2, 可以利用8255芯片的端口的输入输出功能的设置控制及其数据处理能力实现简单的小应用,即实现简单的流水灯的实验。指导教师批阅意见:成绩评定: 指导教师签字: 年 月 日