实验五串行接口输入输出实验.docx

上传人:b****5 文档编号:8268546 上传时间:2023-01-30 格式:DOCX 页数:8 大小:155.28KB
下载 相关 举报
实验五串行接口输入输出实验.docx_第1页
第1页 / 共8页
实验五串行接口输入输出实验.docx_第2页
第2页 / 共8页
实验五串行接口输入输出实验.docx_第3页
第3页 / 共8页
实验五串行接口输入输出实验.docx_第4页
第4页 / 共8页
实验五串行接口输入输出实验.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

实验五串行接口输入输出实验.docx

《实验五串行接口输入输出实验.docx》由会员分享,可在线阅读,更多相关《实验五串行接口输入输出实验.docx(8页珍藏版)》请在冰豆网上搜索。

实验五串行接口输入输出实验.docx

实验五串行接口输入输出实验

只能写入,不能读出。

对状态寄存器和数据接收寄存器只能读出,不能写入。

Intel8251使用2个地址来访问内部的寄存器,其中用偶地址访问数据发送寄存器和数据接收寄存器,并以读、写控制信号加以区分。

用奇地址访问模式寄存器、控制寄存器和状态寄存器,由于状态寄存器为只读,而模式寄存器和控制寄存器为只写,因此需进一步区分模式寄存器和控制寄存器的写操作,方法是:

在对intel8251芯片进行复位后,以奇地址写入的数据将被写入到模式寄存器中,一旦完成了模式寄存器的写操作后就不能再次写入,以后再以奇地址写入的数据将被写到控制寄存器中。

Intel8251在使用前需进行初始化,即在intel8251芯片复位后,首先将工作模式信息写入模式寄存器,然后将运行控制信息写入控制寄存器,顺序不能颠倒。

注意:

①每当intel8251芯片复位后(即按了“RESET”键),都需要对8251进行初始化,然后才能进行正常的数据传输操作;②每次复位后,只能对8251进行1次初始化,多次初始化将导致芯片工作不正常。

3、在使用COM2时,需要将两片intel8251芯片之间的跳线短接(缺省状态),以便为COM2正常工作提供所需的控制信号和数据;此外,还需要为其分配端口地址。

TEC-XP+已将COM2的控制信号C/D#与地址总线的最低位A0相连,但片选信号/CS未连,只引出1个插孔,实验时,应从标有“I/O/CS”的7个I/O译码电路输出端的插孔中,选择一个与COM2的片选信号/CS插孔相连。

三、实验内容与步骤

1、为扩展I/O接口选择一个地址,即将TEC-XP+的COM2的片选信号/CS与标有“I/O/CS”的插孔中地址为90~9FH的插孔相连。

2、将TEC-XP+的COM1连接到微机PC1的一个串口上,在PC1上运行PCEC16,进入联机状态后保持PCEC16的运行状态。

3、将PC1侧的串口插头拔出,将其连接到另一台微机PC2的串口上,在PC2上运行PCEC16,进入联机状态后保持PCEC16的运行状态。

4、用另一条串口线将PC1的串口连接到TEC-XP+的COM2。

5、与TEC-XP+的COM1相连的微机作为主PC,在主PC上用输入和运行程序,对TEC-XP+的COM2进行操作。

与TEC-XP+的COM2连接的微机作为从PC,从PC只能进行数据的输入和输出。

1)程序1:

初始化TEC-XP+的COM2

在主PC的PCEC16的命令行提示符状态下输入:

A2000

2000:

MVRDR0,004E;给R0赋值004E(8251模式寄存器参数)

2002:

OUT91;将R0的值输出到COM2口中8251的模式寄存器(地址为0091H)

2003:

MVRDR0,0037;给R0赋值0037(8251控制寄存器参数)

2005:

OUT91;将R0的值输出到COM2口中8251的控制寄存器(地址同为0091H)

2006:

RET

在命令行提示符状态下输入G2000,运行初始化程序,对COM2进行初始化。

注意:

每次按“RESET”键后,在对COM2进行收、发数据之前,都要运行该程序,而且每按一次“RESET”键后,只能对COM2进行一次初始化,即只能运行一次初始化程序。

2)程序2:

从与COM2相连的从PC上输入一个字符串,在与COM1口相连的主PC上显示出来。

在主PC的PCEC16的命令行提示符状态下输入:

A2040

2040:

IN91;判键盘上是否按了一个键(读8251状态寄存器,地址为0091H)

2041:

SHRR0;即串行口是否有了输入的字符(判断D1位是否为1?

2042:

SHRR0

2043:

JRNC2040;没有输入则循环测试(D1=0则循环查询)

2044:

IN90;从COM2口读入字符到R0

2045:

OUT90;将该字符从COM2口输出至从PC回显

2046:

OUT80;将该字符从COM1口输出

2047:

MVRDR1,00FF

2049:

MVRDR2,000D

204B:

ANDR0,R1

204C:

CMPR0,R2

204D:

JRNZ2040

204E:

RET

204F:

在命令行提示符状态下输入:

G2040,运行该程序。

从与COM2口相连的从PC机键盘上输入一个字符串,则在与COM1口相连的主PC机的屏幕上显示该字符串,按回车键结束。

3)程序3:

从与COM1口相连的主PC上输入字符串,在与COM2口相连的从PC上显示该字符串。

在主PC的PCEC16的命令行提示符状态下输入:

A2060

2060:

IN81;判键盘上是否按了一个键

2061:

SHRR0;即串行口是否有了输入的字符

2062:

SHRR0

2063:

JRNC2060;没有,则循环等待

2064:

IN80;接收键盘输入的字符

2065:

OUT80;字符送主PC回显

2066:

OUT90;将键盘输入的字符从COM2输出(8251数据发送缓冲器地址为90H)

2067:

MVRDR1,00FF

2069:

MVRDR2,000D

206B:

ANDR0,R1

206C:

CMPR0,R2

206D:

JRNZ2060

206E:

RET

206F:

在命令行提示符状态下输入:

G2060,运行该程序。

从主PC机键盘输入字符串,在在与COM2口相连的从PC机的屏幕上显示,按回车键结束。

6、准备两台TEC-XP+教学计算机,各自分别与PC进行联机(运行PCEC16)。

用另一条串口线将两台教学计算机的COM2连接起来,在两台PC机对应的PCEC16上分别输入以下程序:

从2000H单元开始输入下面的程序:

2000:

MVRDR0,004E;给R0赋值004E

2002:

OUT91;将R0的值输出到COM2口的8251中的寄存器中

2003:

MVRDR0,0037;给R0赋值0037

2005:

OUT91;将R0的值输出到COM2口的8251中的寄存器中

;以上为8251的初始化程序

2006:

IN81;检查本机键盘是否按了一个键,

2007:

SHRR0;即串行口是否有了输入的字符

2008:

SHRRO

2009:

JRNC200D;没有,则转去检查扩展接口COM2的键盘有没有输入

200A:

IN80;若本机键盘有输入则接收该字符

200B:

OUT80;将键盘输入的字符在本机PC上输出

200C:

OUT90;将从键盘输入的字符输出经扩展串口COM2送到另一台教学机输出

200D:

IN91;检查扩展串口相连的另一台教学机对应的PC键盘上是否按键,

200E:

SHRR0;即串行口是否有了输入的字符

200F:

SHRR0

2010:

JRNC2006;没有,则转去判本机键盘是否有输入

2011:

IN90;若有,则接收

2012:

OUT80;在本机输出

2013:

JR2006

2014:

RET

注意:

每次运行该程序前,须对COM2进行复位操作,即依次按RESET键和START键。

该程序完成两台教学计算机的COM2接口扩展操作并完成该串口初始化,同时运行这个程序,则两个键盘的输入同时显示在两个屏幕上,实现的是双机的双向通讯功能。

四、实验要求

1、实验前应查阅intel8251芯片的资料,了解芯片的基本功能和初始化及使用的方法;

2、实验后写出实验报告,记录操作过程及程序运行的结果,并写出实验心得体会。

3、如何判断intel8251可以发送数据?

如何判断intel8251已经接收了一个数据?

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 城乡园林规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1