实验九8255并行接口应用实验.docx
《实验九8255并行接口应用实验.docx》由会员分享,可在线阅读,更多相关《实验九8255并行接口应用实验.docx(16页珍藏版)》请在冰点文库上搜索。
实验九8255并行接口应用实验
实验九8255并行接口应用实验
实验十一8251串行通讯应用实验
实验十二可编程接口芯片综合应用实验
一、实验目的
1.学习并掌握8255的各种工作方式及其应用。
2.学习在系统接口实验单元上构造实验电路。
3.掌握8251的工作方式。
4.学习串行通讯的有关知识。
5.了解8251在半双工双机通讯情况下的软件编制,硬件连接技术。
6.掌握可编程并行接口芯片8255的用法。
7.掌握可编程串行接口芯片8251的用法。
8.学习8255、8253、8251的综合应用。
二、实验设备
TDN86/88教学实验系统
三、实验内容及步骤
实验九:
(一)系统中的8255芯片
1.8255可编程并行接口芯片介绍
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:
方式0--基本输入/出方式
方式1--选通输入/出方式
方式2--双向选通工作方式
2.系统中的8255芯片
8255的数据线、片选信号线、地址线、读写控制线等分别与系统总线相连,其A、B、C三个端口以排针形式引出,供8255实验使用,其线路如图9-1所示,端口地址如表9-1所示。
图9-1系统中的8255线路
表9-18255端口地址
信号线
寄存器
编址
IOY3
A口
60H
B口
61H
C口
62H
控制寄存器
63H
3.接口实验单元中的开关和发光二极管电路
图9-2拨动开关和发光二极管电路
(二)8255接口应用实验
图9-3实验线路图
按图9-3所示实验线路编写程序,使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。
用一组开关信号接入端口B,端口A输出线接至一组发光二极管上,然后通过对8255芯片编程来实现输入/出功能。
实验程序如下:
STACK1SEGMENTSTACK
DW64DUP(?
)
STACK1ENDS
CODESEGMENT
ASSUMECS:
CODE
START:
MOVAL,82H;8255初始化
OUT63H,AL
A1:
INAL,61H;从B口输入开关量数据
OUT60H,AL;由A口输出
JMPA1
CODEENDS
ENDSTART
实验步骤
(1)按图接线。
(2)输入源程序,进行编译、链接和加载。
(3)运行程序,拨动开关组,观察发光二极管应开关组状态一一对应。
实验十一:
(一)系统中的8251芯片
1.系统中的8251芯片
8251A是Intel公司的产品,具有同步、异步接收或发送的功能,使用单+5V电源的单相时钟。
系统装有一片8251芯片,并和标准RS-232C接口相连好,如图11-1所示。
在教学系统中,该电路用来完成同PC微机的联机以及串行监控操作的实现,8251端口地址如表11-1所示。
表11-18251端口地址
信号线
寄存器
编址
IOY6
数据口
C0H
控制寄存器
C1H
图11-1系统中的8251芯片
2.实验单元中的8251
实验单元中另装有一片8251芯片,用于各种串行接口实验,如图11-2所示,8251端口地址如表11-2所示。
图11-2实验单元中的8251
表11-28251端口地址
信号线
寄存器
编址
IOY4
数据口
80H
控制寄存器
81H
(二)实验内容:
双机通讯实验
本实验需用两台TDN86/88教学实验系统,并通过排线将两台仪器相连,具体接线如图11-3左图所示,时钟部分的连线如图11-3右图所示:
图11-3双机通讯
其中1号机用做接收机,2号机用做发送机。
实验目的是将2号机中的3000-3009H十个单元中的代码传送到1号机的3000-3009H单元中。
实验步骤
(1)按图11-3连线。
(2)两台机器上电后,均输入程序,并要求2号机用E命令在3000-3009H十个单元中填入十个ASCⅡ码,如:
3000:
30313233343536373839
(3)先使1号机程序运行,等待串行接收数据,然后再运行2号机程序,发送字串到串口,当数发送、接收完毕时,1号机显示相应的ASCⅡ码字符串,如:
R0123456789。
(4)检查1号机的3000-3009H单元,应和2号机一致。
I号机实验程序:
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE
START:
MOVAL,0B6H;8253初始化(8253为8251提供收发时钟)
OUT43H,AL
MOVAL,1BH;送8253定时器2初值
OUT42H,AL
MOVAL,3AH
OUT42H,AL
CLI
CALLINIT;调用子程序,完成8251复位
CALLDALLY;延时
MOVAL,7EH;8251初始化
OUT81H,AL;8251方式字
CALLDALLY
MOVAL,34H;8251命令字
OUT81H,AL
CALLDALLY
MOVAX,0152H;显示字母R
INT10H
MOVDI,3000H;设置接收缓冲区首地址
MOVCX,000AH;设置字符个数
A1:
INAL,81H;查询接收字符
ANDAL,02H
JZA1
INAL,80H
ANDAL,7FH
MOV[DI],AL
INCDI
LOOPA1
MOVAL,00H;在字符串尾存一结尾标志0
MOVSI,300AH
MOV[SI],AL
MOVAH,06H;显示接收到的字符串
MOVBX,3000H
INT10H
STI
A2:
JMPA2
INIT:
MOVAL,00H;8251内部复位子程序
OUT81H,AL
CALLDALLY
OUT81H,AL
CALLDALLY
OUT81H,AL
CALLDALLY
OUT80H,AL
CALLDALLY
OUT80H,AL
CALLDALLY
MOVAL,40H
OUT81H,AL
RET
DALLY:
PUSHCX;延时子程序
MOVCX,3000H
A3:
PUSHAX
POPAX
LOOPA3
POPCX
RET
CODEENDS
ENDSTART
II号机实验程序:
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE
START:
MOVAL,0B6H;8253初始化(8253为8251提供收发时钟)
OUT43H,AL
MOVAL,1BH;送8253定时器2初值
OUT42H,AL
MOVAL,3AH
OUT42H,AL
CALLINIT;调用子程序,完成8251复位
CALLDALLY
MOVAL,7EH;8251初始化
OUT81H,AL
CALLDALLY
MOVAL,34H
OUT81H,AL
CALLDALLY
MOVDI,3000H;设置发送缓冲区首地址
MOVCX,000AH;发送字符个数
A1:
MOVAL,[DI]
CALLSEND;调用子程序发送字符
CALLDALLY
INCDI
LOOPA1
A2:
JMPA2
INIT:
MOVAL,00H;8251内部复位子程序
OUT81H,AL
CALLDALLY
OUT81H,AL
CALLDALLY
OUT81H,AL
CALLDALLY
OUT80H,AL
CALLDALLY
OUT80H,AL
CALLDALLY
MOVAL,40H
OUT81H,AL
RET
DALLY:
PUSHCX;延时子程序
MOVCX,3000H
A4:
PUSHAX
POPAX
LOOPA4
POPCX
RET
SEND:
PUSHAX;发送字符子程序
MOVAL,31H
OUT81H,AL
POPAX
OUT80H,AL
A3:
INAL,81H
ANDAL,01H
JZA3
RET
CODEENDS
ENDSTART
实验十二:
用排线将两台TDN86/88实验系统相连,I号单板机通过其8255读入的一组开关量传送给II号单板机后,II号单板机可通过其8255在一组发光二极管上显示出来,反之亦可。
由定时器8253为8251提供收发时钟。
8255的基本用法可参考实验九,8251的基本用法可参考实验十一。
实验步骤:
1.设计实验的硬件连线。
2.设计实验的软件程序。
3.调试8255并行输入输出部分的软件程序和硬件连线。
4.调试8251串行通讯部分的软件程序和硬件连线。
5.系统联调。
四、实验结果:
实验九:
分别拨动开关,对应小灯亮。
实验十一:
实验十二:
STACK1SEGMENTSTACK
DW64DUP(?
)
STACK1ENDS
CODESEGMENT
ASSUMECS:
CODE
START:
MOVAL,82H
OUT63H,AL
MOVAL,0B6H
OUT43H,AL
MOVAL,1BH
OUT42H,AL
MOVAL,3AH
OUT42H,AL
CLI
CALLINIT
CALLDALLY
MOVAL,7EH
OUT81H,AL
CALLDALLY
MOVAL,35H
OUT81H,AL
CALLDALLY
LP:
CALLSEND
CALLDALLY
A1:
INAL,81H
ANDAL,02H
JZA1
INAL,80H
OUT60H,AL
JMPLP
INIT:
MOVAL,00H
OUT81H,AL
CALLDALLY
OUT81H,AL
CALLDALLY
OUT81H,AL
CALLDALLY
MOVAL,40H
OUT81H,AL
RET
DALLY:
PUSHCX
MOVCX,3000H
A3:
PUSHAX
POPAX
LOOPA3
POPCX
RET
SEND:
PUSHAX
INAL,61H
OUT80H,AL
POPAX
RET
CODEENDS
ENDSTART
两机器相互拨动电开关,发光二极管均可点亮。