RS232串口通信实验
一、 认识RS232
单片机的串行口是非常有用的,通过他我们可以把单片机系统的数据传回电脑处理或者接受电脑传过来的数据而进行相应的动作,在串行通讯时,
要求
对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗
通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。
RS-232-C接口(又称EIA RS-232-C)是目前最常用的一种串行通讯接口. 它是在1970年由美国电子工业协会(EIA)联合贝尔系统,调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准.它的全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准"该标准规定采用一个25个脚的DB-25连接器,对连接器的每个引脚的信号
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
加以规定,还对各种信号的电平加以规定.后来IBM的PC机将RS232简化成了DB-9连接器,从而成为事实标准.而工业控制的RS-232口一般只使用RXD,TXD,GND三条线.
在讨论RS-232C接口标准的内容之前,先说明两点:
首先,RS-232-C标准最初是远程通信连接数据终端设备DTE(Data Terminal Equipment)与数据通信设备DCE(Data Communication Equipment)而制定的。因此这个标准的制定,并未考虑计算机系统的应用要求。但目前它又广泛地被借来用于计算机(更准确的说,是计算机接口)与终端或外设之间的近端连接标准。显然,这个标准的有些规定及和计算机系统是不一致的,甚至是相矛盾的。有了对这种背景的了解,我们对RS-232C标准与计算机不兼容的地方就不难理解了。
其次,RS-232C标准中所提到的“发送”和“接收”,都是站在DTE立场上,而不是站在DCE的立场来定义的。由于在计算机系统中,往往是CPU和I/O设备之间传送信息,两者都是DTE,因此双方都能发送和接收。
(1)RS232(DB9)的接口说明
1 DCD 载波检测
2 RXD 接收数据
3 TXD 发送数据
4 DTR 数据终端准备好
5 SG 信号地
6 DSR 数据准备好
7 RTS 请求发送
8 CTS 允许发送
9 RI 振铃提示
(2)接口的电气特性 在RS-232-C中任何一条信号线的电压均为负逻辑关系。即:逻 辑“1”,-5— -15V;逻辑“0” +5— +15V 。噪声容限为2V。即 要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号 作为逻辑“1”
(3) 接口的物理结构
RS-232-C接口连接器一般使用型号为DB-25的25芯插头座,通常插头在DCE端,插座在DTE端. 一些设备与PC机连接的RS-232-C接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。所以采用DB-9的9芯插头座,传输线采用屏蔽双绞线。
(4)传输电缆长度
由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为50英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50英尺,美国DEC公司曾规定允许码元畸变为10%而得出附表2 的实验结果。其中1号电缆为屏蔽电缆,型号为DECP.NO.9107723 内有三对双绞线,每对由22# AWG 组成,其外覆以屏蔽网。2号电缆为不带屏蔽的电缆。型号为DECP.NO.9105856-04是22#AWG的四芯电缆。
二( 串口通信的概念
串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超越20米,并且任意两个设备间的长度不得超越2米;而对于串口而言,长度可达1200米。
典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。因为串口通信是异步的,端口能够在一根线上发送数据
同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配:
? 波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。
? 数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0,127(7位)。扩展的ASCII码是0,255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,阿包括开始/停止位,数据位和奇偶校验位。因为实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。
? 停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。因为数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的时机。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。
? 奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有时机判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步.
三、实现RS232的一个简单通信
下面,我们做一个简单的串口通信实验。通过该实验程序,我们可以检测实验板串口的状态。
(1)实验内容:
本实验接收计算机发送来的数据,然后再发送回计算机,如果串口调试软件中发送窗和接收窗中显示的字符相同,即当发送字母收到字母,发送汉字收到汉
字,发送数字收到数字时,则说明实验板的串口是良好的,能够正常收发数据。
实验之前我们检查RS232是否完好,首先,串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连,同一个串口的接收脚和发送脚直接用线相连 对 9 针串口和 25 针串口,均是 2 与 3 直接相连; 两个不同串口(不论是同一台计算机的两个串口或分别是不同计算机的串口)
9 针, 9 针 25 针, 25 针 9 针, 25 针
2 3 3 2 2 2
3 2 2 3 3 3
5 5 7 7 5 7 上面表格是对微机标准串行口而言的,还有许多非标准设备,如接收GPS数据或电子罗盘数据,只要记住一个原则:接收数据针脚(或线)与发送数据针脚(或线)相连,彼些交叉,信号地对应相接,就能百战百胜.
在这里我们一RS232(DB9)为例,用一根导线将RS232的2引脚和3引脚连接起来,再通过Awen串口调试软件进行调试,观察是否发送数据都能够收到,若能够正常收到数据,则说明RS232完好。
(2)实验步骤:
1、在Keil uVision2z中输入以下程序:
#include
//sbit BEEP = P1^4;
bit Flag=0,Flag2=1;
unsigned char ReData[20],SenData;
unsigned char sent_index=0,rece_index=0;
void main (void) {
TMOD=0x20;//设置定时器1为工作方式2
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
Flag2=1;
while(1)
{
// if (Flag==1)
// {
if((sent_index
本文档为【RS232串口通信实验】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。