红外控制RS-485通信系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
- - --
目录
第1章引言4
1.1RS-485通信技术的开展4
1.2设计任务与方案5
1.2.1设计任务5
1.2.2系统总体设计方案5
第2章系统硬件设计6
2.1硬件系统的构造6
2.2系统部件功能描述6
2.2.1AT89C51单片机6
2.2.2单片机最小应用系统8
2.2.3红外接收10
2.2.4MA*485接口电路11
2.3RS-485串口标准13
第3章系统的软件设计15
3.1MCS-51汇编语言简介15
3.2串行通信原理16
3.2.1数据通信的根本概念16
3.2.2串行通信的过程16
3.2.3串行通信协议17
3.3串行通信程序设计18
3.3.1串行口的构造和功能18
3.3.2选择串行口工作方式19
3.3.3串行口波特率的设置20
3.3.4初始化串口21
3.3.5程序的编制21
3.4红外通信原理22
3.4.1红外发送原理22
3.4.2红外解码原理23
3.5红外解码程序设计23
3.5.1延时子程序23
3.5.2解码子程序24
3.6RS-485程序设计流程图26
3.6.1数据接收局部26
3.6.2命令执行局部26
3.6.3数据发送局部27
第4章系统的调试27
4.1WAVE6000软件简介27
4.2程序调试27
4.3系统硬件的调试28
总结28
致29
参考文献29
附录一30
附录二30
- - --
第1章引言
1.1 RS-485通信技术的开展
单片机技术和PC机技术在现实生活中都起着不可取代的作用,而结合这两种技术的应用有着极大的开展前景。
单片机和PC机串行通信技术有着其特有的魅力,现已经在工业、农业、科研等各个领域广泛地应用。
它凭着本钱低、实现简单等特点,在单片机与PC机的通信中占着一席之地。
如今形成了RS-232总线标准、RS-485总线标准、总线、CAN总线、无线通信、USB总线等并行开展的趋势。
可以预测单片机和PC机串行通信技术的应用将更为广泛,并随着其他新技术的开展而开展。
单片机与微机之间以RS-232通信最为常见,微机对外的两个串口1、2都是专门为RS-232通信而设置的。
虽然RS-232的通信方式方便,但它也有一些缺点。
例如,RS-232只能实现短距离通信,通常只有十余米,要实现长距离通信还得依赖于调制解调器。
另外,RS-232对地而言是共模传输方式,而各种电气干扰大多也是对地共模方式,它的抗干扰能力不理想。
RS-485通信方式与RS-232相比有很多优点,首先它的通信距离比RS-232要远得多,通常可以做到数百米甚至千米以上,而且还可以实现多点通信方式,从而可以建立一个小围的局域网,因而更有实用价值。
RS-485采用差分信号传输方式,它的抗干扰能力比RS-232强的多,即便在信号电压比拟小的情况下也能获得稳定的传输。
所以RS-485通信方式比RS-232应用要广泛。
近年来,红外遥控技术在工业生产、家用电器、平安保卫以及人们的日常生活中的使用越来越广泛,特别是在家庭生活中,如电视、空调的遥控器,智能开关,电梯等。
利用红外遥控技术具有的控制简单、实施方便、传输可靠性高的特点,将红外遥控技术和RS-485通
信技术结合起来,实现基于红外控制的RS-485通信系统。
这个通信系统将更加实用,也更容易实现。
研究这个课题对于了解RS-485通信系统、红外遥控技术都会有帮助。
1.2 设计任务与方案
设计任务
采用51单片机作为微处理器,设计出红外控制的RS-485通信系统。
要能过实现基于红外控制的,可靠的RS-485串行通信。
系统总体设计方案
本次设计采用AT89C51单片机作为微处理器,51系列单片机以其优良的性价比,得到了广泛的应用。
其特点主要有以下几点:
1.可靠性高
因为芯片是按工业测控环境要求设计的,故抗干扰的能力优于PC 机。
系统软件(如:程序指令,常数,表格)固化在ROM 中,不易受病毒破坏。
许多信号的通道均在一个芯片,所以运作时系统稳定可靠。
2.便于扩展
片具有计算机正常运行所必需的部件,片外有很多供扩展用的(总线、并行和串行的输入/输出)管脚,很容易组成一定规模的计算机应用系统。
3.控制功能强
具有丰富的控制指令。
如:条件分支转移指令,I/O 口的逻辑操作指令,位处理指令。
4.实用性好
体积小,功耗低,价格廉价,易于产品化。
整个系统分为两大局部,第一局部是红外发射〔红外遥控器〕,第二局部是红外接收电路。
本次设计所采用的红外遥控器是现成的,里面的发射芯片是LC7461。
红外接收电路包括红外接收和MA*485接口两局部。
当红外遥控器有键按下时,红外接收器接收到来自遥控发射器的红外信号,将收到的红外遥控信号转为电信号,经放大、调解、滤波后,经红外接收器将原编码输入到AT89C51的外部中断0的引脚,然后由AT89C51对接收到的原编码信号进展判断、识别,然后做出相应判断。
PC机通过MA*485芯片实现和单片机的通信,红外信号经过解码以后,按遥控器不同的键,在串口调试助手窗口会有不同的数字显示。
第2章系统硬件设计
2.1 硬件系统的构造
整个硬件系统是由红外接收模块和MA*485接口电路两大局部组成,红外接收模块的作用是将接收的红外信号转换为电信号,经放大、调解、滤波后,输入到AT89C51,然后由AT89C51对所接收的原编码信号进展判断、识别、然后做出相应的处理。
MA*485接口电路负责传送数据。
2.2 系统部件功能描述
2.2.1 AT89C51单片机
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器〔FPEROM—Falsh Programmable and Erasable Read Only Memory〕的低电压,高性能CMOS8位微处理器。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
图2.1所示为AT89C51的引脚图,它的主要功能引脚有:
1)电源引脚Vcc和Vss
Vcc〔40脚〕:电源端,为+5V。
Vss〔20脚〕:接地端。
2)外接晶体引脚*TAL1和*TAL2
*TAL2〔18脚〕:接外部晶体和微调电容的一端。
在89C51片它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体的固有频率。
假设须采用外部时钟电路,则该引脚悬空。
要检查89C51的振荡电路是否正常工作,可用示波器查看*TAL2端是否有脉冲信号输出。
*TAL1〔19脚〕:接外部晶体和微调电容的另一端。
在片,它是振荡电路反相放大器的输入端。
在采用外部时钟时,该引脚输入外部时钟脉冲。
3)控制信号引脚RST
RST〔9脚〕:RST是复位信号输入端,高电平有效。
当此输入端保持两个机器周期〔24个时钟振荡周期〕的高电平时,该引脚输入外部时钟脉冲。
4)输入/输出端口P0、P1、P2和P3
P0端口(P0.0~P0.7,39—32脚):P0口是一个漏极开路的8位准双向I/O端口。
作为漏极开路的八路输出端口,每次能驱动8个LS型TTL负载。
当P0口作为输入口使用时,应先向口锁存器(地址80H)写入全1,此时P0口的全部引脚悬空,可作为高阻抗输入。
P1端口(P1.0~P1.7,1—8 脚):P1口是一个带有部上拉电阻的8位双向I/O端口。
P1的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过部的上拉电阻把端口拉到高电位,这时可用作输入口。
P1作输入口使用时,因为有部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(
I)。
IL
P2端口(P2.0~P2.7,21—28 脚):P2口是一个带有部上拉电阻的8位双向I/O端口。
P2的输出缓冲器可驱动〔吸收或输出电流方式〕4个TTL输入。
对端口写1时,通过部的上拉电阻把端口拉到高电位,这时可用作输入口。
P2作输入口使用时,因为有部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流〔
I〕。
IL
P3端口(21—28 脚):P3口是一个带有部上拉电阻的8位双向I/O端口。
P3口的输出缓冲器可驱动〔吸收或输出电流方式〕4个TTL输入。
P3口与其它的I/O口有很大区别,它除作为—般准双向I/O口外,每个引脚还具有专门的功能,见表2.1。
图2.1 AT89C51引脚图
表2.1 端口引脚功能
端口引脚第二功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 0
INT(外中断0)
P3.3 1
INT〔外中断1〕
P3.4 0T〔定时/计数器0〕
P3.5 1T〔定时/计数器1〕
P3.6 WR〔外部数据存储器写选通〕
P3.7 RD〔外部数据存储器读选通〕
单片机最小应用系统
单片机最小应用系统是指仅使用单片机部资源辅以必需的外围电路所构建的简单的应用系统。
它包括:单片机的选择和单片机最小应用系统的设计。
通过单片机的选择,最大限度满足应用系统对硬件资源的要求,本次课程设计选用AT89C51单片机。
最小应用系统设计则是指单片机最根本的、最常用的外围电路设计。
时钟电路和复位电路就可以构成一个最小系统。
1)时钟电路
时钟电路是单片机的心脏,它控制着单片机的工作节奏。
单片机工作时,是在统一的时钟脉冲控制下一拍一拍地进展着,这个脉冲是由时序电路发出的。
时钟信号可以由两种方式
产生:一种是部方式,利用芯片部的振荡电路产生时钟信号;另一种为外部方式,时钟信号由外部引入。
AT89C51单片机有一个用于构成部振荡器的反相放大器,引脚*TAL1和*TAL2分别是放大器的输入、输出端。
外接石英晶体和瓷晶体构成自激振荡器。
这种方式称为部时钟方式,如图2.2所示。
如果振荡器已启振,则在*TAL2引脚上输出3V左右的正弦波。
振荡器的频率取决于晶振的频率。
电容C1和C2主要作用是帮助启振〔谐振〕,其值的大小对振荡频率也有影响。
因此常用调节C1或C2的容量大小对频率进展微调,电容容量通常在20pF~100pF之间选择,当时钟频率为12MHz时其典型值为30pF。
本次设计就是采用部时钟方式。
图2.2 部振荡电路
如果从外部时钟频率驱动器件,*TAL2可以不接,而从*TAL1接入,如图2.3所示。
对外部振荡器的信号没有特殊的要求,一般为0.5~12MHz的方波,方波的波形应尽量规。
图2.3 外部振荡电路
2)复位电路
复位是单片机的初始化操作。
其主要功能是把PC初始化为0000H,使单片机从0000H 单元开场执行程序。
除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为了摆脱困境,也须按复位键重新启动。
除PC之外,复位操作还对其他一些存放器有影响。
复位是由外部复位电路来实现的,可分为上电自动复位和按键手动复位两种方式。
a)上电自动复位
上电自动复位电路只需在RST端接一个电容至Vcc和一个电阻至Vss即可,如图2.4所示。
上电复位的工作过程是在加电时,复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取
决于电容的充电时间。
电路中,时间常数RC越大,上电时保持高电平的时间越长,当震荡频率为12MHz时,典型值C=10uFμ, R=8.2kΩ,当时钟频率选用6MHz时,C=22uF, R=1kΩ。
为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。
上电时,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。
在图2.4的上电复位电路中,当Vcc掉电时,必然会使RST 端电压迅速下降到0V以下,但是,由于部电路的限制作用,这个负电压将不会对器件产生损害。
另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l〞态。
本次设计就是采用上电自动复位电路。
假设上电复位失效,用户上电后CPU从一个随机状态开场工作,系统则不能正常工作。
上电复位后,RAM单元数据是随机的。
图2.4 上电复位电路
b)手动复位
除了上电复位外,有时还需要手动复位。
所谓手动复位,是指通过接通一按钮开关,使单片机进入复位状态。
其电路图如图2.5所示。
按一下开关就会在RST端出现一段时间的高电平,使单片机复位。
图2.5 手动复位电路
红外接收
接收电路可以使用红外接收器,一般不需要任何外接元件就能完成从红外接收到输出TTL电平兼容信号的所有工作,注意选择接收器件时要保证接收器件的中心频率与发射信号的中心频率相匹配。
本次设计红外接收芯片采用LT0038。
LT0038是塑封一体化红外线接收器,它是一种集红外线接收、放大、整形于一体的集成电路,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,没有红外遥控信号时为高电平,收到红外信号时
为低电平,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。
接收器对外只有3个引脚:Vcc、GND和1个脉冲信号输出OUT,与单片机接口非常方便。
脉冲信号输出接AT89C51芯片的外部中断0引脚,数据由红外接收头接收后,经过单片机AT89C51进展解码,数据由P1口输出,因为P1口通常做通用的I/O口使用,所以在构造上有其自身的特点;另外电路的部有上拉电阻,这些电阻与场效应管共同组成输出驱动。
为此,P1口作为输出使用时,已能向外提供推拉电流负载,而无需再接上拉电阻。
P1口出来的数据经电阻分压后直接接到发光二极管上,8个发光二极管对应8位的数据码,当数据码为“1〞时亮,为“0〞时暗,图2.6所示是一个红外遥控器的接收电路。
采用这种连接方法,软件解码既可以工作于查询方式,也可以工作于中断方式。
在实际应用中,还可以进一步增加抑制干扰电路和提高驱动能力电路,增强系统稳定性。
例如将遥控器的数字“1〞按下时,则图2.6中的红外接收器接收来自遥控发射器的红外信号,将接收的红外信号转换为电信号,经放大、调解、滤波后,经红外接收器的第2脚(OUT)将原编码输入到AT89C51的12脚(外部中断0),然后由AT89C51对所接收的原编码信号进展判断、识别、然后做出相应的处理。
图2.6 红外接收电路
MA*485接口电路
MA*485芯片是用于RS-485通信的低功率收发器,芯片中包含有一个驱动器和一个收发器,它的电气特性如表2.2所示。
表2.2 MA*485芯片的电气特性
通信方式数据率
/Mbps
转换率
限制
低功耗
关机
接收器
/驱动
器使能
静态电
流/mA
总线上
收发器
数目
管脚数
半双工 2.5 NO NO YES 300 32 8
MA*485芯片由八个引脚组成,图2.7为其引脚图,芯片各个引脚功能如下所示。
1)0R脚(接收器输出端):假设A比B大200 mV,0R为高;假设A比B小200 mV,0R 为低。
2)RE脚(接收器输出使能端):RE为低时,0R有效;RE为高时,0R成高阻状态。
3)DE脚(驱动器输出使能端):假设DE为高,驱动输出A和B有效;假设DE为低,它们成高阻状态,假设驱动器输出有效,器件作为线驱动器用;假设为高阻状态时,RE为低,它们作线接收器用。
4)DI脚(驱动器输入):DI为低,将迫使输出Y为低,Z为高;假设DI为高,将迫使输出Y为高,Z为低。
5)GND脚:接地。
6)B脚:反相接收器输入和反相驱动器输出。
7)A脚:同相接收器输入和同相驱动器输出。
8)Vcc:电源正极4.75~5.25V。
图2.7 MA*485芯片引脚图
MA*485芯片的引脚的逻辑关系如表2.3、表2.4所示。
表2.3 MA*485发送逻辑关系
输入端输出端
RE DE DI B A
* 1 1 0 1
* 1 0 1 0
0 0 * 高阻抗高阻抗
1 0 * 关闭关闭
表2.4 MA*485接收逻辑关系
输入端输出端
-RO
RE DE A B
+ 1
0 0 ≥0.2V
≤-0
0 0 0.2V
0 0 输入端开路 1
1 0 X高阻抗
由于PC机的接口采用的是RS-232串行通信标准接口,所以MA*485芯片不可以直接与PC机串口相连,需要一个RS232-485转换器,把RS-232信号电平转换成RS-485的信号电平,然后再将RS-485电平转换成TTL电平,并在适宜的通信协议和合理的通信程序支持下,完成PC机与单片机的长距离、抗干扰能力强的串行数据通信任务。
MA*485芯片与PC机和AT89C51的接口电路如图2.8所示。
图2.8 PC机与单片机接口电路
2.3 RS-485串口标准
单片机串行口的输入输出为TTL电平,抗干扰性较差,只能在几米的围之传输数据。
为了提高串行通信的可靠性,增强抗干扰性,增加传输距离,必须采用标准串行总线接口将串行口的输入输出电平进展转换。
目前流行的标准串行总线接口有RS-232C, RS-422A、RS-485等,它们各有优缺点。
RS-232C是最早的串行接口标准,在短距离(<15m),较低波特率串行通信当中得到了广泛应用。
RS-422A接口是对RS-232C接口的改良,它采用平衡传输电气标准,输入/输出均采用差分驱动,因此具有更强的抗干扰能力,传送速率也大大提高,它向外部的连接器采用9针“D〞型插头。
RS-232C和RS-422A虽然应用广泛,但有明显的缺乏,主要表达为:接口的信号电平值较高,易损坏接口的电路芯片;必须经过电平转换电路方能与TTL电路相连;传输速率较
低;对噪声的抗干扰性弱;传输距离有限。
RS-485以良好的抗干扰性、长距离传输特性和多站能力等优点成为用户首选的串行接口。
1) 性能特点
a)RS-485的电气特性:逻辑“1”以两线间的电压差为+〔2—6〕V表示;逻辑“0”以两线间的电压差为-〔2—6〕V表示。
接口信号电平比RS-232C降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL电路连接。
b)RS-485的数据最高传输速率为10Mbps。
c)RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好。
d)RS-485接口的最大传输距离标准值为4000英尺,实际上可到达3000米,另外RS-232C接口在总线上只允许连接1个收发器,即单站能力。
而RS-485接口在总线上是允许连接多达128个收发器,即具有多站能力。
RS-485接口所组成的半双工网络一般只需要两根连线,RS-485接口均采用屏蔽双绞线传输。
RS-485接口连接器采用DB9插头座。
2)与其他标准接口的对照
表2.5是RS-485与其他标准接口的对照表。
表2.5 标准串行接口的对照表
RS-232C RS-422A RS-485
工作方式
逻辑“0〞电平
逻辑“1〞电平
节点数
最大传输距离
最大传输速率
驱动器加载输出电压接收器输入电阻
抗干扰能力单端
3~15V
-15~-3V
1发1收
50英尺
20Kb/s
±5~±15V
3kΩ~7kΩ
弱
差分
2~6V
-6~-2V
1发10收
400英尺
10Mb/s
±2V
4kΩ〔最小〕
强
差分
-(2—6)V
+(2—6)V
1发32收
400英尺
10Mb/s
±1.5V
≥12kΩ
强
所以时至今日,虽然工业以太网、CAN等现场总线,ZIGBEE等传感器网络,USB等接口,IEEE802等无线网络等都提供全面的配置,但是由于RS-485串行通信兼容性好,简单易用,本钱低,在工业通信上使用最广泛的仍然是RS-485串行通信。
第3章系统的软件设计
3.1 MCS-51汇编语言简介
汇编语言是面向机器的程序设计语言。
在汇编语合中,用助记符代替操作码,用地址符号或标号代替地址码。
这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。
于是汇编语言亦称为符号语言。
使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。
汇编程序把汇编语言翻译成机器语言的过程称为汇编。
汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。
汇编语言,作为一门语言,对应于高级语言的编译器,需要一个“汇编器〞来把汇编语言原文件汇编成机器可执行的代码。
高级的汇编器如MASM,TAS M等等为我们写汇编程序提供了很多类似于高级语言的特征,比方构造化、抽象等。
在
这样的环境中编写的汇编程序,有很大一局部是面向汇编器的伪指令,已经类同于高级语言。
现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。
汇编语言的长处在于编写高效且需要对机器硬件准确控制的程序。
3.2 串行通信原理
数据通信的根本概念
在实际工作中,计算机的CPU与外部设备之间常常要进展信息交换,一些计算机与其他计算机之间也往往要交换信息,所有这些信息交换均可称为通信。
根本的通信方法有并行通信和串行通信两种。
一组信息〔通常是字节〕的各位数据被同时传送的通信方法称为并行通信。
并行通信依靠并行I/O接口实现。
并行通信速度快,但传输线根数多,只适用于近距离〔相距数公尺〕的通信。
一组信息的各位数据被逐位顺序传送的通信方式称为串行通信。
串行通信可通过串行接口来实现。
它的突出优点是只需一对传输线,这样就大大降低了传送本钱,特别适合远距离通信,其缺点是传送速度较低。
串行通信的传送方式通常有3种:单向〔或单工〕配置,只允许数据向一个方向传送;半双工〔或半双工〕配置,允许数据向两个方向中的任一方向传送,但每次只能有一个站点发送;全双向〔全双工〕配置,允许同时双向传送数据,因此,全双工配置是一对单向配置,它要求两端的通信设备都具有完整和独立的发送和接收能力。
串行通信的过程
两个通信设备在串行线路上成功地实现通信必须解决两个问题:一是串—并转换,即如何把要发送的并行数据串行化;二是设备同步,即同步发送设备和接收设备的工作节拍,以确保发送数据在接收端被正确读出。
1)串—并转换
串行通信是将计算机部的并行数据转换成串行数据,将其通过一根通信线传送,并将接
收的串行数据再转换成并行数据送到计算机中。
在计算机串行发送数据之前,计算机部的并行数据被送入移位存放器,并一位一位地移出,将并行数据转换成串行数据。
在接收数据时,来自通信线路的串行数据被送入移位存放器,满8位后并行送到计算机部。
在串行通信控制电路中,串—并、并—串转换逻辑被集成在串行异步通信控制器芯片中。
89C51单片机的串行口和IBM-PC机中的8250芯片都可实现这一功能。
2)设备同步
进展串行通信的两台设备必须同步工作,才能有效的检测通信线路上的信号变化,从而采样传送数据脉冲。
设备同步对通信双方有两个共同要求:一是通信双方必须采用统一的编码方法;二是通信双方必须能产生一样的传送速率。
采用统一的编码方法确定了一个字符二进制表示值的位发送顺序和位串长度,当然还包括统一的逻辑电平规定,即电平信号上下与逻辑1和逻辑0的固定对应关系。
通信双方只有产生一样的传送速率,才能确保设备同步,这就要求发送设备和接收设备采用一样频率的时钟。
发送设备在统一的时钟脉冲上发送数据,接收设备才能正确检测出与时钟脉冲同步的数据信息。
串行通信协议
通信协议是对数据传送方式的规定,包括数据格式定义和数据位定义等。
通信双方必须遵守统一的通信协议。
串行通信协议包括同步协议和异步协议两种,在此只讨论异步串行通信协议和异步串行协议规定的字符数据的传送格式。
1)起始位
通信线上没有数据被传送时处于逻辑1状态。
当发送设备要发送一个字符数据时,首先发送一个逻辑0信号,这个逻辑低电平就是起始位。
起始位通过通信线传向接收设备,接收设备检测到这个逻辑低电平后,就开场准备接收数据位信号。
起始位所起的作用就是设备同
步,通信双方必须在传送数据位前协调同步。
2)数据位
当接收设备收到起始位后,紧接着就会收到数据位。
数据位的个数可以是5、6、7或8.IBM-PC中经常采用7位或8位数据传送,89C51串行口采用8位或9位数据传送。
这些数据位被接收到移位存放器中,构成传送数据字符。
在字符数据传送过程中,数据位从最低有效位开场发送,依次顺序在接收设备中被转换为并行数据。
3)奇偶校验位
数据位发送完之后,可以发送奇偶校验位。
奇偶校验用于有限过失检测,通信双方须约定一致的奇偶校验方式。
如果选择偶校验,则组成数据位和奇偶位的逻辑1的个数必须是偶数;如果选择奇校验,则逻辑1的个数必须是奇数。
4)停顿位
在奇偶校验位位或数据位(当无奇偶校验时)之后发送的是停顿位。
停顿位是一个字符数据的完毕标志,可以是1位、1.5位或2位的高电平。
接收设备收到停顿位之后,通信线路上便又恢复逻辑1状态,直至下一个字符数据的起始位到来。
5)波特率设置
通信线上传送的所有位信号都保持一致的信号持续时间,每一位的信号持续时间都由数据传送速度确定,而传送速度是以每秒多少个二进制位来衡量的,这个速度叫波特率。
如果数据以每秒300个二进制位在通信线上传送,则传送速度为300波特,通常记为300b/s。
3.3 串行通信程序设计
串行口的构造和功能
AT89C51单片机有一个全双工异步串行I/O口,占P3.0(串行数据接收端R*D)和P3.1(串行数据发送端T*D)两个引脚,是P3口的第二个功能。
该接口不仅能同时进展数据的发送和接收,也可以作为一个同步移位存放器使用。