9第九章CS-51串行通信
- 格式:ppt
- 大小:226.00 KB
- 文档页数:37
51单片机串口通信51单片机串口通信(转载)2009-03-03 18:22一、串口通信原理串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到计算机端,而且也能实现计算机对单片机的控制。
由于其所需电缆线少,接线简单,所以在较远距离传输中,得到了广泛的运用。
串口通信的工作原理请同学们参看教科书。
以下对串口通信中一些需要同学们注意的地方作一点说明:1、波特率选择波特率(Boud Rate)就是在串口通信中每秒能够发送的位数(bits/second)。
MSC- 51串行端口在四种工作模式下有不同的波特率计算方法。
其中,模式0和模式2波特率计算很简单,请同学们参看教科书;模式1和模式3的波特率选择相同,故在此仅以工作模式1为例来说明串口通信波特率的选择。
在串行端口工作于模式1,其波特率将由计时/计数器1来产生,通常设置定时器工作于模式2(自动再加模式)。
在此模式下波特率计算公式为:波特率=(1+SMOD)*晶振频率/(384*(256-TH1))其中,SMOD——寄存器PCON的第7位,称为波特率倍增位;TH1——定时器的重载值。
在选择波特率的时候需要考虑两点:首先,系统需要的通信速率。
这要根据系统的运作特点,确定通信的频率范围。
然后考虑通信时钟误差。
使用同一晶振频率在选择不同的通信速率时通信时钟误差会有很大差别。
为了通信的稳定,我们应该尽量选择时钟误差最小的频率进行通信。
下面举例说明波特率选择过程:假设系统要求的通信频率在20000bit/s以下,晶振频率为12MHz,设置SMOD=1(即波特率倍增)。
则TH1=256-62500/波特率根据波特率取值表,我们知道可以选取的波特率有:1200,2400,4800,9600,19200。
列计数器重载值,通信误差如下表:因此,在通信中,最好选用波特率为1200,2400,4800中的一个。
2、通信协议的使用通信协议是通信设备在通信前的约定。
单片机、计算机有了协议这种约定,通信双方才能明白对方的意图,以进行下一步动作。
51单片机串行通信原理以51单片机串行通信原理为标题,本文将详细介绍51单片机串行通信的原理及其应用。
一、引言在现代电子设备中,串行通信是一种常见的通信方式。
它通过将数据位逐个传输,从而实现设备之间的数据交换。
51单片机是一种常用的微控制器,也支持串行通信。
本文将着重介绍51单片机串行通信的原理和应用。
二、串行通信原理1. 串行通信的基本概念串行通信是指将数据位逐个传输的通信方式。
相比并行通信,串行通信只需要使用一根信号线即可完成数据传输,因此可以节省线路资源。
在串行通信中,数据位按照一定的顺序传输,通常包括起始位、数据位、校验位和停止位。
2. 串行通信的工作原理51单片机通过UART(通用异步收发器)模块实现串行通信。
UART模块包括发送和接收两个部分,分别负责将数据发送到外部设备和接收外部设备发送的数据。
在发送数据时,51单片机将数据位逐个传输到UART模块,UART模块根据预设的波特率将数据转换为连续的电平信号发送出去。
在接收数据时,UART模块通过接收引脚接收外部设备发送的数据,并将其转换为51单片机可读取的数据格式。
3. 串行通信的优点和应用串行通信相比并行通信具有以下优点:(1)节省线路资源:串行通信只需要一根信号线,可以节省线路资源。
(2)易于实现:串行通信的电路设计相对简单,易于实现。
(3)可靠性高:串行通信可以通过增加校验位等方法提高通信的可靠性。
串行通信在实际应用中广泛使用,例如:(1)计算机与外部设备之间的数据传输;(2)网络通信中的数据传输;(3)工业控制系统中的数据采集和控制。
三、51单片机串行通信的实现1. 硬件连接51单片机的串行通信需要将其TXD(发送引脚)和RXD(接收引脚)与外部设备的相应引脚相连。
同时,还需要将单片机的地线与外部设备的地线相连,以确保信号的正常传输。
2. 软件编程在51单片机的编程中,需要配置UART模块的相关寄存器,设置波特率等参数。
具体的编程过程可以参考51单片机的开发文档,根据实际需求进行相应的配置。
51单片机串行通讯在当今的电子世界中,单片机的应用无处不在,从家用电器到工业自动化,从智能仪表到航空航天,都能看到它的身影。
而在单片机的众多功能中,串行通讯是一项非常重要的技术。
首先,咱们来了解一下什么是串行通讯。
简单来说,串行通讯就是指数据一位一位地按顺序传送。
与并行通讯(数据的各位同时传送)相比,串行通讯虽然速度相对较慢,但它只需要少数几条线就能完成数据传输,大大降低了硬件成本和连线的复杂性。
51 单片机的串行通讯有两种工作方式:同步通讯和异步通讯。
异步通讯是比较常用的一种方式。
在异步通讯中,数据是以字符为单位进行传输的。
每个字符由起始位、数据位、奇偶校验位和停止位组成。
起始位是一个低电平信号,用于通知接收方数据即将开始传输。
数据位通常是 5 到 8 位,可以表示一个字符的信息。
奇偶校验位用于检验传输数据的正确性,而停止位则是高电平,标志着一个字符传输的结束。
同步通讯则是在发送和接收两端使用同一个时钟信号来控制数据的传输。
这种方式传输速度快,但硬件要求相对较高。
51 单片机的串行口结构包括发送缓冲器和接收缓冲器。
发送缓冲器只能写入不能读出,而接收缓冲器只能读出不能写入。
在进行串行通讯时,我们需要对 51 单片机的串行口进行初始化设置。
这包括设置波特率、数据位长度、奇偶校验位和停止位等参数。
波特率是指每秒传输的位数,它决定了数据传输的速度。
通过设置定时器 1 的工作方式和初值,可以得到不同的波特率。
在编程实现串行通讯时,我们可以使用查询方式或者中断方式。
查询方式相对简单,但会占用大量的 CPU 时间,影响系统的实时性。
中断方式则可以在数据接收或发送完成时触发中断,提高系统的效率。
比如说,我们要实现 51 单片机与 PC 机之间的串行通讯。
在 PC 端,我们可以使用串口调试助手等软件来发送和接收数据。
在单片机端,通过编写相应的程序,设置好串行口的参数,然后根据接收的数据执行相应的操作,或者将需要发送的数据发送出去。
51单片机串口通信原理一、串口通信概述串行口(也称为串口或UART)是计算机与外部设备之间进行数据传输的一种接口。
串口通信是一种通用的、可靠的通信方式,广泛应用于各种领域,如计算机、嵌入式系统、通信设备等。
51单片机作为一种常用的嵌入式微控制器,也支持串口通信功能。
串口通信通过两个引脚进行数据的传输,分为发送端和接收端。
发送端将数据按照一定的规则转换为串行数据,然后通过发送引脚传输给接收端。
接收端收到串行数据后再将其恢复为原始数据。
1.数据格式串口通信需要定义一种数据格式,包括起始位、数据位、校验位和停止位等。
起始位用于标识数据传输的开始,通常为逻辑低电平;数据位表示每个字符的位数,常用的有5位、6位、7位、8位;校验位用于验证数据的正确性,可选的校验方式有奇校验、偶校验和无校验;停止位用来表示数据传输结束,常用的有1位和2位。
2.波特率3.时序串口通信的时序是指数据位、起始位、校验位、停止位等的时钟信号。
发送端和接收端的时钟信号需要保持一致,以确保数据的正确传输。
时序信号的生成和恢复可通过硬件电路或软件算法实现。
4.缓冲区为了提高串口通信的效率,通常会设置一个发送缓冲区和一个接收缓冲区。
发送端将要发送的数据存储在发送缓冲区中,接收端将接收到的数据存储在接收缓冲区中。
通过中断或查询方式,发送端和接收端可以实时地读写数据。
三、51单片机串口通信实现步骤下面以51单片机作为例子,简要介绍串口通信的实现步骤。
1.硬件连接51单片机的串口通信一般通过P3口的RXD和TXD引脚实现,其中RXD为接收端引脚,TXD为发送端引脚。
需要将单片机的RXD引脚与外部设备的TXD引脚相连,将单片机的TXD引脚与外部设备的RXD引脚相连。
2.配置波特率通过设置特定的寄存器,将波特率设定为所需的值。
通常需要配置串口控制寄存器SCON,设置波特率控制寄存器TH1和TL13.串口通信初始化通过配置串口控制寄存器SCON、波特率控制寄存器TH1和TL1,实现串口通信的初始化。
MCS-51单⽚机的串⾏⼝及串⾏通信技术数据通信的基本概念串⾏通信有单⼯通信、半双⼯通信和全双⼯通信3种⽅式。
单⼯通信:数据只能单⽅向地从⼀端向另⼀端传送。
例如,⽬前的有线电视节⽬,只能单⽅向传送。
半双⼯通信:数据可以双向传送,但任⼀时刻只能向⼀个⽅向传送。
也就是说,半双⼯通信可以分时双向传送数据。
例如,⽬前的某些对讲机,任⼀时刻只能⼀⽅讲,另⼀⽅听。
全双⼯通信:数据可同时向两个⽅向传送。
全双⼯通信效率最⾼,适⽤于计算机之间的通信。
此外,通信双⽅要正确地进⾏数据传输,需要解决何时开始传输,何时结束传输,以及数据传输速率等问题,即解决数据同步问题。
实现数据同步,通常有两种⽅式,⼀种是异步通信,另⼀种是同步通信。
异步通信在异步通信中,数据⼀帧⼀帧地传送。
每⼀帧由⼀个字符代码组成,⼀个字符代码由起始位、数据位、奇偶校验位和停⽌位4部分组成。
每⼀帧的数据格式如图7-1所⽰。
⼀个串⾏帧的开始是⼀个起始位“0”,然后是5〜8位数据(规定低位数据在前,⾼位数据在后),接着是奇偶校验位(此位可省略),最后是停⽌位“1”。
起始位起始位"0”占⽤⼀位,⽤来通知接收设备,开始接收字符。
通信线在不传送字符时,⼀直保持为“1”。
接收端不断检测线路状态,当测到⼀个“0”电平时,就知道发来⼀个新字符,马上进⾏接收。
起始位还被⽤作同步接收端的时钟,以保证以后的接收能正确进⾏。
数据位数据位是要传送的数据,可以是5位、6位或更多。
当数据位是5位时,数据位为D0〜D4;当数据位是6位时,数据位为D0〜D5;当数据位是8位时,数据位为D0〜D7。
奇偶校验位奇偶校验位只占⼀位,其数据位为D8。
当传送数据不进⾏奇偶校验时,可以省略此位。
此位也可⽤于确定该帧字符所代表的信息类型,“1"表明传送的是地址帧,“0”表明传送的是数据帧。
停⽌位停⽌位⽤来表⽰字符的结束,停⽌位可以是1位、1.5位或2位。
停⽌位必须是⾼电平。
接收端接收到停⽌位后,就知道此字符传送完毕。