1、东南大学微机实验及课程设计实验报告实验六 8255并行输入输出姓 名:学 号:专 业:实 验室: 计算机硬件技术实验时间:2012 年 05月18日 报告时间:2012 年 05月20日评定成绩:审阅教师:一. 实验目的与内容1)掌握8255 方式0 的工作原理及使用方法,利用直接输入输出进行控制显示;2)掌握8 段数码管的动态刷新显示控制;3)分析掌握8255工作方式1时的使用及编程,进一步掌握中断处理程序的编写。二. 基本实验原理一)、8255 方式0:简单输入输出实验电路如下图所示,8255C 口输入接逻辑电平开关K0K7,编程A 口输出接LED显示电路L0L7;用指令从C 口输入数据,再从A 口输出。实验电路及程序流程图如下:288HP C 0PA0P L: 1P A 1P C 2F口2P C 3PA3P L: 4P A4P C EPA5P C 6PA6P C 7PA71 4斗1 531 621 71 3401 2331 13S1 037U1882E5 L4/CS为片选信号,由系统地址线译码产生,低电平有效;此方式为简单输入输出,A 口、B 口、C 口的 高4位和低4位都可以分
2、别设置成输入或输出,在此实验中设置C 口为数据输入端,A 口为数据输出端。 (二)、数码管显示原理实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反 相驱动器,位码输入端高电平选中。七段数码管的字型代码如下表所示:数码管对应断码为:1(三)、8 段数码管静态显示按下图所示连接好电路,将8255的A 口PA0PA6分别与七段数码管的段码驱动输入端ag相连, 位码驱动输入端S1接+5V (选中),SO、dp接地(关闭)。编程从键盘输入一位 十进制数字(09),在七段数码管上显示出来。单管静态显示电路如下图所示:实验结果显示:(四)、 8 段数码管动态显示输入数据经8255芯片并行输出,将信息反映在8段数码管si上。NY结朿有键按下?送“5”段码至A I 1送“6”段码至A 1设置82刃为A 口输出延讨送全灭段码至A丨送位码02H至C门送全灭段码至A丨送位码01H至C I 1延讨驱动显示按下图所示连接好电路,七段数码管段码连接不变,位码 输入端Si、SO接8255 C 口的PC1、PCO。编程在两个数码管上 “56”。(注意字符变换之间应使段位全灭,避免
3、显示“影子”) 双管动态电路设计及程序流程图如下:送位码02H至C 口,使PCO为0, PC1为1,即选中S1,关闭SO,在S1的数码管上显示“5”送位码 01H至C 口,使PCO为1,PC1为0,即选中S0,关闭S1,在S0的数码管上显示“6”。这是数码管动态显 示方式。由于两个数码管之间轮流显示的间隔时间很短,因视觉暂留作用,所以人眼无法判别其间隔作用。 实验图片:三. 方案实现与测试一)、获取 TPC 扩展卡 I/O 和存储基地址直接在windows下利用控制面板查看占用的存储和中断资源,可知:TPC 设备内存范围:FDDFF000FDDFF0FF接口芯片输入输出范围: BC00BCFFTPC设备输入输出范围:ecOOB87F接口芯片内存范围:FDC00000FDCFFFFF二)、检查硬件设备运行程序前先用动态I/O命令单步输出控制字,对相应端口进行I/O操作。连接如简单输入输出的电路,通过拨开关设置输入数据。在DEBUG模式下,键入命令ib80a可读出开关状态。如果读出数正确,则8255工作正常。在DEBUG模式下键入命令行:mov dx,b80bmov al,8bhout d
4、x,alinout: mov dx,b80ain al,dxmov dx,b808out dx,al可看到LED灯显示为开关的状态。;设8255为C 口输入,A 口输出从口输入一数据从口输出刚才自C 口; 所输入的数据三)、8255 方式0:简单输入输出源程序见书 P69指令中重要片段见上,设置控制字 8B: 10001011,通过 in、out 指令对其进行数据的读入和写出。运行程序后可看到LED灯L0L7显示为开关KOK7的状态。(四)、编程将A 口 L0-L7控制成流水灯,流水间隔时间由软件产生;流水方向由K0键在 线控制,随时可切换;流水间隔时间也可由K4K7键编码控制,如0000对应停止,0001对 应1秒,1111对应15秒,大键盘输入ESC键退出。源程序见8255_light文件,但该程序中只实现了K0控制方向,K4灯为0000时停止,其它键间隔相同 时间(1秒)的功能,没有改变间隔时间和键入ESC键退出的功能。完善程序以实现流水灯,见创新部分。(五)、 8 段数码管静态显示源程序见8255_led_s.asm,其中指令xlat的功能是求出相应的段码。 运行程序后可看到题目中提到的功能都能实现。(六)、 8 段数码管动态显示源程序见 8255_led_d.asm, 主要程序片段如下:mov byte ptr bz,bh push didec diadd di, bzmov bl,dipop dimov bh,0mov si,offset led;bl 为要显示的数;置LED数码表偏移地址为SIadd si,bxmov al,byte ptr simov dx,io8255cout dx,almov al,byte ptr bzmov dx,io8255aout dx,al;求出对应的LED数码; 自 8255A 的口输出; 使相应的数码管亮由实验现象可看到数码管显示相应数值,但因为间隔时间太短,由于视觉暂留,误认为数码管是一起 显示的。五分析与总结1、具体实验分析见各部分的调试实验分析。2、硬件是基础,做实验时要首先检查硬件设备是否可用,保证后续实验的可检测性3、在实验中应不要带电接线、插拔芯片; 插拔接线时轻微转动,便于插拔。4、在实验中学会使用示波器、万用表、逻辑笔观察、测量。
《8255并行输入输出实验报告》由会员桔****分享,可在线阅读,更多相关《8255并行输入输出实验报告》请在金锄头文库上搜索。