当前位置:首页 > 实验四:串行接口输入输出实验
实验四 串行接口输入输出实验
一、实验目的
1、学习TEC-2000教学计算机I/O接口扩展的方法;
2、学习串行通信的基本知识,掌握串行通信接口的设置和使用方法。
二、实验说明
1、TEC-2000教学机配置了两个串行接口COM1和COM2,其中COM1口是系统默认的串行接口,上电复位后,监控程序对其进行初始化,并通过COM1与PC机终端相连,监控程序负责对COM1进行管理。COM2口预留给实验者扩展使用,监控程序不对COM2进行任何处理,实验者需要对COM2进行初始化、使用和管理。
2、实验前查阅有关资料,了解可编程串行通信接口芯片8251的工作原理,了解8251复位、初始化、数据传输过程控制等方面的知识。注意,①每次对8251复位后(即按了“RESET”键),都需要对其进行初始化,然后再进行正常的数据传输;②每次复位后,只能对8251进行1次初始化,多次初始化将导致串口工作不正常。
3、在使用COM2口时,需要将两片8251芯片之间的跳线短接(缺省状态),以便为COM2正常工作提供所需的控制信号和数据;此外,还需要为其分配端口地址。教学机已将COM2口的C/(/D)与地址总线的最低位A0相连,但片选信号/CS未连,只引出1个插孔,实验时,应将该插孔与标有“I/O /CS”的7个插孔中的1个相连。
三、实验内容
1、为扩展I/O口选择一个地址,即将8251的/CS与标有I/O /CS的一排插孔中的一个相连。 2、将COM2口与终端或另一台运行有PCEC16的PC机的串口相连。
3、用监控程序的A命令,编写一段小程序,先初始化COM2口,再向COM2口发送一些字符,也可从COM2口接收一些字符,或实现两个串口的通信。
四、实验要求
应了解监控程序的A命令只支持基本指令,扩展指令应用E命令将指令代码写入到相应的存储单元中。
五、实验步骤
1、为扩展I/O接口选择一个地址,将8251的/CS与标有I/O /CS的插孔中地址为90~9F的插孔相连;
2、将教学机COM1口与微机PC1相连,在PC1上运行PCEC16.EXE,进入联机状态后保持PCEC的运行状态; 3、断开教学机COM1与PC1的串口线,将其连接到另一台微机PC2的串口上,在PC2上运行PCEC16.EXE联机; 4、用另一条串口线将PC1与教学机的COM2接口相连。
5、与COM1相连的PC2作为主PC,在主PC2上输入程序,和COM2连接的从PC1只作数据输入输出; 6、在主PC上用A、E命令编程对实验机的COM2口进行操作。 1)程序1:初始化COM2口
主PCEC在命令行提示符状态下输入:
A 2000
从2000H单元开始输入下面的程序: 2000:MVRD R0,004E 2002:OUT 91 2005:OUT 91 2006:RET
在命令行提示符状态下输入G 2000运行初始化程序,完成对COM2口的初始化。注意:每次按“RESET”按键后,在对COM2进行读写操作之前,都应运行该程序。注意,按一次“RESET”按键后,只能对COM2口进行一次初始化操作。
2)程序2:从与COM2口相连的PC输入字符串,在与COM1口相连的PC上显示该字符串。
主PCEC在命令行提示符状态下输入:
2003:MVRD R0,0037
;给R0赋值004E(8251模式寄存器参数)
;将R0的值输出到COM2口中8251的模式寄存器(地址为0091H) ;给R0赋值0037(8251控制寄存器参数)
;将R0的值输出到COM2口中8251的控制寄存器(地址同为0091H)
1
A 2040
从2040H单元开始输入下面的程序: 2040:IN
91 ;判键盘上是否按了一个键(读8251状态寄存器,地址为0091H) R0 ;即串行口是否有了输入的字符(判断D1位是否为1?) R0
2040 ;没有输入则循环测试(D1=0则循环查询) 90 ;从COM2口读入字符到R0 90 80
;将该字符从COM2口输出回显 ;将该字符从COM1口输出
2041:SHR 2042:SHR 2043:JRNC 2044:IN
2045:OUT 2046:OUT 2047:MVRD 2049:MVRD 204B:AND 204C:CMP 204D:JRNZ 204E:RET 204F:
运行该程序。在命令行提示符状态下输入: G 2040
从与COM2口相连的PC机键盘输入字符串,则在与COM1口相连的PC机的屏幕上显示,按回车键结束。 3)程序3:从与COM1口相连的PC输入字符串,在与COM2口相连的PC上显示该字符串。 主PCEC在命令行提示符状态下输入:
A 2060
从2060H单元开始输入下面的程序: 2060:IN 81 2062:SHR R0 2063:JRNC 2060 2065:OUT 2067:MVRD 2069:MVRD 206B:AND 206C CMP 206D:JRNZ 206E:RET 206F:
运行该程序,在命令行提示符状态下输入: G 2060
从主PC机键盘输入字符串,在在与COM2口相连的从PC机的屏幕上显示,按回车键结束。
80
;将从键盘输入的字符输出到另一串口(8251数据发送缓冲器的地址为0090H)
R1,00FF R2,000D R0,R1 R0,R2 2060
;没有,则循环等待
2064:IN 80 ;接收字符 2066:OUT 90
;判键盘上是否按了一个键
2061:SHR R0 ;即串行口是否有了输入的字符
R1,00FF R2,000D R0,R1 R0,R2 2040
2
共分享92篇相关文档