8255试验报告(方式1查询输出)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《微型计算机接口技术》实验报告
实验名称:可编程并行接口芯片8255应用
(8255方式1、查询输出)
姓名
学号:
班级:
日期:
广东外语外贸大学信息科学技术学院
一、实验目的
掌握8255方式1查询输入、输出时的使用及编程
二、实验内容
1、按照图示连接硬件(注意图中大多数线试验箱已经连好,只连接需要用户连接的部分,预习,参考PPT)
2、编程:每按一次单脉冲按钮,ACK信号有效,8255内部输出准备好状态有效(INTR),查询输出一次数据,点亮、熄灭相应的发光二极管。
三、实验原理(8255方式1输出:结合结构图、时序图、状态字描述)
8255是一片可编程并行I/O接口芯片,每片8255有两个8位的并行口(PA,PB)和两个4位并行口(PC的高、低四位),其中PA口可工作于方式0,1,2。PB口工作于方式0,1。PC口仅能工作于方式0。在方式1中,将8255的三个端口分为了A、B两组,PA、PB两个口仍作为数据输入/输出口,而PC口则作为两部分,分别作为PA、PB口的联络信号。8255A 方式1 A口输出过程由CPU响应中断开始,在中断中用OUT指令通过8255A 向外设输出数据,发出WR 信号;WR上升沿清除INTRA 中断请求信号,且使OBFA =“L”(有效),通知外设取数;当外设接受数据后,发出ACKA 应答信号,一方面使OBFA=“H”(无效),另一方面在ACKA信号的上升沿使INTRA=“H”(有效),以此向CPU发出新的中断请求,开始下一轮输出。
四、硬件设计及方案论证(完整图的信号线连接及作用:数据、地址、控制及外设线)硬件设计如图,其中:
1.8255芯片中的数据总线D0—D7是和CPU的数据线直接相连的,从而CPU可以向8255
发送命令、数据和8255芯片也可以向CPU发送状态、数据等等。
2.8255芯片中的A0和A1也是与CPU的地址总线直接相连,并且在控制字在以下几种
情况有不同的设置,若A1A0= 00时,8255芯片中的PA口被选中,若A1A0=01时,8255芯片中的PB口被选中,若A1A0=10时,8255芯片中的PC口被选中,若A1A0=11时,则8255芯片的控制口被选中。
3.8255芯片的读信号、写信号、复位信号,分别于CPU的IOR、IOW、RESET直接相
连,当CPU执行IN指令时,8255的读信号有效,CPU从8255芯片读取信息,当CPU 执行OUT指令时,8255的写信号有效,CPU输出信息到8255芯片,完成一定的功能。
而当CPU发出复位的信号时,8255也会进行复位操作。
4.8255芯片中的片选信号与3—8译码器的Y1相连,而Y1的寻址范围是288H—28FH,
而8255芯片中的端口A的地址是288H,端口B的地址是289H,端口C的地址是28AH,控制端口的地址是28BH,因此4的端口都在在3—8译码器的Y1的寻址范围之内。5.8255芯片的PC6与脉冲信号是连接在一起,8255芯片的A端口与二极管L7—L0直接
相连。当脉冲信号到来,PC6会被置1,允许中断,CPU会将数据通过8255芯片的A 口输出到二极管L7中,点亮相应的灯。
。。。。。。等等详细论证,如我课堂所讲
五、程序设计思想、流程图、源程序及注释
程序设计思想:在老师给出的程序基础上,原本程序是每按下一次脉冲就加一从而点亮一盏灯,而改动成为通过连续按下脉冲灯能够从左到右亮起来只需在AL寄存器进行循环左移即可达到目的!
流程图:
源程序及注释:
io8255a equ 288h ;端口A地址
io8255b equ 28bh ;控制口地址
io8255c equ 28ah ;端口C地址
code segment
assume cs:code
start:
mov dx, io8255b
mov al, 0a0h
out dx, al ;输出工作字,端口A方式1输出mov al, 0dh
out dx, al ;使PC6 =1,允许中断
mov al,0
mov dx,io8255a
out dx,al ;将A口清0
mov bl,1h
trsmt: mov dx,io8255c
in al,dx
and al,08h ;查询INTRA=1?(STATE)
jz trsmt ;等于0就一直等待
mov al,bl
Rol al,1 ;左循环移位
mov bl,al
mov dx,io8255a
out dx,al ;将al的数据输出到A口
jmp trsmt
code ends
end start
六、结果分析(截图及分析,至少三张截图,尽量在状态变化处截图,分析状态的变化)未输入脉冲时AL寄存器内的数据为1 二进制即为00000001
输入一次脉冲,向左移一位,AL寄存器中变为数据变为2 即为00000010
再一次输入脉冲,再次向左循环移位一位,AL寄存器中变为数据变为4,即00000100
当有脉冲打入ZF为0时执行移位操作,木有脉冲ZF为1时执行等待操作
七、实验及课程体会和建议
许振杰:
本次实验以TPC——USB微机接口实验系统为基础进行操作,所以实验过程比较
简单,但是对于模块不是很熟悉和对实验操作不熟练,所以时间用得比较长。
通过实验,更明白各模块的功能、熟悉了实验操作技巧和对知识的更进一步的
理解。听老师说现在是学习接口的黄金时期,是接口课登堂入室的开门砖,我一
定要把握好这段时间,争取把这个课程掌握!另外因为本人大一大二计算机原理
及汇编学得不踏实,所以涉及到这方面的知识还望老师能详细延伸下就更好了。
杨溢霖:
这门课其实于我来说就是大二的汇编课的进阶,无奈自己感觉大二学习的东西都要还给老师了。后来在接口课老师的教导下“捉住一个点去深入研究去读懂程序,培养感情慢慢学习”,我一个个地耐心地去查,去和同学讨论,终于算是开始慢慢捉摸到那个感觉了。可是还是很不多不懂得地方需要实验伙伴的帮助。希望以后继续努力,耐心地学习这门课吧!
八、试验所以设备及型号列表(计算机、试验箱、示波器、信号源等)
8255芯片试验箱计算机