串行口通讯.docx
《串行口通讯.docx》由会员分享,可在线阅读,更多相关《串行口通讯.docx(10页珍藏版)》请在冰豆网上搜索。
串行口通讯
实验十二串行通信
一、实验目的
1.了解8251的工作方式及工作原理。
2.了解8251的串行通信编程方法。
3.了解串行通信的格式协议。
二、实验原理
计算机与外设通过接口随时可进行数据交换,并根据不同的要求进行数据处理。
通常完成CPU与外设交换信息的方法有串行和并行两种,而CPU的总线是处理并行数据的。
并行数据传送和微机相连较为方便,数据不需转换,传输速度快,但所用传输线较多,在远距离传送情况下,极不方便;而串行通信仅需两条传输线,对于远距离、多位数据信息传输时,优点突出。
1.串行通信线路的工作方式
串行通信:
是指利用一条传输线将数据一位位地顺序传送。
特点:
是通信线路简单,利用电话或电报线路就可实现通信,降低成本,适用于远距离通信,但传输速度慢。
串行通信线路三种工作方式:
单工通信、半双工通信、全双工通信
2.串行通信方式
串行通信:
分为同步通信(SYNC)与异步通信(ASYNC)两种方式。
1)异步通信及其协议
异步通信以一个字符为传输单位,通信中两个字符间的时间间隔是不固定的,然而在同一个字符中的两个相邻位代码间的时间间隔是固定的。
通信协议:
异步通信的数据格式如图12-1所示。
图12-1异步通信的数据格式
传送一个字符的信息格式:
规定有起始位、数据位、奇偶校验位、停止位等。
波特率:
衡量数据传送速率指标。
表示每秒钟传送的二进制位数。
2)同步串行通信及其规程
同步通信以一个帧为传输单位,每个帧中包含有多个字符。
在通信过程中,每个字符间的时间间隔是相等的,而且每个字符中各相邻位代码间的时间间隔也是固定的。
同步通信的数据格式如图12-2所示。
图12-2同步通信的数据格式
同步通信的规程有以下两种:
①面向比特(bit)型规程:
以二进制位作为信息单位。
现代计算机网络大多采用此类规程。
最典型的是HDLC(高级数据链路控制)通信规程。
② 面向字符型规程:
以字符作为信息单位。
字符是EBCD码或ASCII码。
3.信号传输方式
1)基带传输方式
在传输线路上直接传输不加调制的二进制信号,它要求传送线的频带较宽,传输的数字信号是矩形波。
基带传输方式仅适宜于近距离和速度较低的通信。
2)频带传输方式
传输经过调制的模拟信号,在长距离通信时,发送方要用调制器把数字信号转换成模拟信号,接收方则用解调器将接收到的模拟信号再转换成数字信号,这就是信号调制解调。
实现调制和解调任务的装置称为调制解调器(MODEM)。
采用频带传输时,通信双方各接一个调制解调器,将数字信号寄载在模拟信号(载波)上加以传输。
因此,这种传输方式也称为载波传输方式。
这时的通信线路可以是电话交换网,也可以是专用线。
4.RS-232C串行接口标准
RS-232C是一种标准接口,D型插座,采用25芯引脚或9芯引脚的连接器,如图12-3所示。
微型计算机之间的串行通信就是按照RS-232C标准设计的接口电路实现的。
图
12-3RS-232C标准接口示意图
微型计算机之间的串行通信就是按照RS-232C标准设计的接口电路实现的。
① 信号线
RS-232C标准规定接口有25根连线。
只有以下9个信号经常使用.
引脚和功能分别如下:
• TXD(第2脚):
发送数据线,输出。
发送数据到MODEM。
• RXD(第3脚):
接收数据线,输入。
接收数据到计算机或终端。
•
(第4脚):
请求发送,输出。
计算机通过此引脚通知MODEM,要求发送数据。
•
(第5脚):
允许发送,输入。
发出
作为对
的回答,计算机才可以进行发送数据。
•
(第6脚):
数据装置就绪(即MODEM准备好),输入。
表示调制解调器可以使用,该信号有时直接接到电源上,这样当设备连通时即有效。
• CD(第8脚):
载波检测(接收线信号测定器)输入。
表示MODEM已与电话线路连接好。
如果通信线路是交换电话的一部分,则至少还需如下两个信号:
• RI(第22脚):
振铃指示,输入。
MODEM若接到交换台送来的振铃呼叫信号,就发出该信号来通知计算机或终端。
•
(第20脚):
数据终端就绪,输出。
计算机收到RI信号以后,就发出
信号到MODEM作为回答,以控制它的转换设备,建立通信链路。
• GND(第7脚):
地
② 逻辑电平
RS-232C标准采用EIA电平,规定:
“1”的逻辑电平在-3V~-15v之间,“0”的逻辑电平在+3V~+15V之间。
由于EIA电平与TTL电平完全不同,必须进行相应的电平转换,MCl488完成TTL电平到EIA电平的转换,MCl489完成EIA电平到ITL电平的转换。
5.可编程串行通信接口芯片8251
可编程串行接口芯片8251内部结构如图12-4所示。
图12-4可编程串行接口芯片8251内部结构图
1)发送器:
由发送缓冲器和发送控制电路两部分组成。
2)接收器:
接收器由接收缓冲器和接收控制电路两部分组成。
3)数据总线缓冲器
数据总线缓冲器是CPU与8251A之间的数据接口。
包含3个8位的缓冲寄存器:
两个寄存器分别用来存放CPU向8251A读取的数据或状态信息。
一个寄存器用来存放CPU向8251A写入的数据或控制。
4)读/写控制电路
读/写控制电路用来配合数据总线缓冲器的工作。
功能如下:
(1) 接收写信号
,并将来自数据总线的数据和控制字写入8251A;
(2) 接收读信号
,并将数据或状态字从8251A送往数据总线;
(3) 接收控制/数据信号C/
,高电平时为控制字或状态字;低电平时为数据。
(4) 接收时钟信号CLK完成8251A的内部定时;
(5) 接收复位信号RESET,使8251A处于空闲状态。
5)调制解调控制电路:
调制解调控制电路用来简化8251A和调制解调器的连接。
6.可编程串行通信接口芯片8251的控制字及其工作方式
串行通信接口编程的内容包括以下两大方面:
⑴ 一方面是由CPU发出的控制字,即方式选择控制字和操作命令控制字;
⑵ 另一方面是由8251A向CPU送出的状态字。
●可编程串行接口芯片8251方式选择控制字(模式字)
8251在初始化时,必须重新设置模式寄存器的格式。
8251的方式选择控制字(模式字)设置如图12-5所示。
图12-58251的方式选择控制字(模式字)
异步模式的传输速率要用模式寄存器的最低两位来确定波特率因子,此时,波特率=时钟频率/波特率因子。
●可编程串行接口芯片8251的操作命令控制字
可编程串行接口芯片8251的操作命令控制字格式如图12-6所示。
图12-6可编程串行接口芯片8251的操作命令控制字
●可编程串行接口芯片8251的状态控制字
可编程串行接口芯片8251的状态控制字格式如图12-7所示。
图12-7可编程串行接口芯片8251的状态控制字
三、实验仪器
微型计算机、AEDK598实验装置、RS232串口线、导线若干。
四、实验内容及步骤
1.实验内容
本实验内容是利用可编程串行接口芯片8251与计算机通信,实现从实验机键盘上键入的数字、字母显示到PC机显示器上,将PC机键盘输入的大写字符(0—F)显示到实验机的数码管上。
2.实验电路及连线
实验电路图如图12-8所示。
图12-8实验原理图
3.实验程序框图
实验主程序流程如图12-9所示。
4.程序编写
根据实验编写程序相关程序。
5.实验步骤
1)开机前,将AEDK598微机实验箱上的XC9(CPU插座)与XC6(CPU88插座)用T598A-C连接板连接起来,XC1(CPU51插座)空,进行MCS-88单片机实验。
2)用实验机配套的串行通讯电缆,将9芯电缆的一端与实验机上的9芯插座相连,另一端与PC机的串行口相连。
3)根据实验原理图及实验要求连线,将8251的片选(CS8251)连接228H;CS8279已固定接至238H。
将(29)模块中的十个短路套都套在8279侧,ETXD接232TXD;ERXD接232RXD。
4)打开AEDK598微机实验箱和PC机电源,在桌面上点击LCA88ET图标,启动LCA88ET调试软件,测试串口,如果通讯串口测试不通过,请将延时因子置高。
5)参照附录程序,打开新文件,输入程序,加载编译调试。
6)选择“窗口”菜单下的“对话窗口”,操作实验箱的键盘,观察PC机屏幕显示,操作PC机键盘,观察实验箱8位数码管显示状态。
6.实验说明
程序执行时,应先进入调试菜单下的对话窗口中,然后执行G8100:
0(当然程序必须加载在S100:
0000),就可以实现实验要求。
五、实验报告要求
实验目的,实验原理,实验电路,程序流程图,资源分配,程序清单(附有注释),实验中遇到的问题及解决方案。
六、思考题
1.串行通信和并行通信有什么异同?
它们各自的优缺点是什么?
2.为什么要在RS-232C与TTL之间加电平转换器件?
3.串行通信方式有哪几种?
各有什么特点?