第六章单片机串行口及应用

合集下载

单片机原理及应用第6章80C51单片机的串行口

单片机原理及应用第6章80C51单片机的串行口

单片机原理及应用第6章80C51单片机的串行口80C51单片机是一种基于哈佛架构的8位单片机,具有强大的串行口功能。

串行口是一种通信接口,可以通过单根线传输数据。

本章将介绍80C51单片机的串行口原理及其应用。

一、80C51单片机的串行口原理80C51单片机的串行口包含两个寄存器,分别是SBUF(串行缓冲器)和SCON(串行控制寄存器)。

SBUF寄存器用来存储待发送或接收到的数据,SCON寄存器用来配置和控制串行口的工作模式。

80C51单片机的串行口有两种工作模式:串行异步通信模式和串行同步通信模式。

1.串行异步通信模式串行异步通信是指通信双方的时钟频率不同步,通信的数据按照字符为单位进行传输,字符之间有起始位、数据位、校验位和停止位组成。

80C51单片机的串行口支持标准的RS-232通信协议和非标准通信协议。

在串行异步通信模式下,SCON寄存器需要配置为相应的工作模式。

首先,需要选择串行口的工作模式。

80C51单片机支持第9位,即扩展模式,可以用来检测通信错误。

其次,需要设置波特率。

波特率是指数据每秒传输的位数,用波特率发生器(Baud Rate Generator,BRGR)来控制。

然后,需要设置起始位、数据位和停止位的配置,包括数据长度(5位、6位、7位或8位)、停止位的个数(1位或2位)。

在发送数据时,将待发送的数据通过MOV指令传送到SBUF寄存器,单片机会自动将数据发送出去。

在接收数据时,需要检测RI(接收中断)标志位,如果RI为1,表示接收到数据,可以通过MOV指令将接收到的数据读取到用户定义的变量中。

2.串行同步通信模式串行同步通信是指通信双方的时钟频率同步,在数据传输时需要时钟信号同步。

80C51单片机的串行同步通信支持SPI(串行外设接口)和I2C(串行总线接口)两种协议。

在串行同步通信模式下,SCON寄存器需要配置为相应的工作模式。

首先,需要选择串行口的工作模式。

80C51单片机支持主从模式,可以作为主设备发送数据,也可以作为从设备接收数据。

单片机原理及应用 第06章定时计数器

单片机原理及应用  第06章定时计数器

20
6.5 定时器/计数器的编程
初始化
1 根据要求给方式寄存器TMOD送一个方式控制 字,以设定定时器的工作方式; 2 根据需要给TH和TL选送初值,以确定需要的 定时时间或计数的初值; 3 根据需要给中断允许寄存器IE送中断控制字, 以开放相应的中断和设定中断优先级;
也可用查询方式来响应定时器。
JBC TF1,RP1 SJMP DEL2
30
6.6.4 长定时时间的产生
例 假设系统时钟为6MHz,编写定时器T0产生 1秒定时的程序。 (1)T0工作方式的确定 定时时间较长,采用哪一种工作方式? 由各种工作方式的特性,可计算出: 方式0最长可定时16.384ms;
方式1最长可定时131.072ms; 方式2最长可定时512μs。 选方式1,每隔100ms中断一次,中断10次为1s。
8
6.3 定时/计数器的4种工作方式 方式0、方式1(13位、16位定时计数方式)
T1工作于方式0的等效框图(M1M0=00、01)
GATE=0、A=1、TR1=1 GATE=1、INT1=1、TR1=1。注意定时器初值与定时时间的不同
9
6.3.1 方式0、方式1的说明 定时/计数器T1工作在方式0时,为13位的计数器,由TL1 的低5位和TH1的8位所构成。TL1低5位溢出向TH1进 位,TH1计数溢出置位TCON中的溢出标志位TF1。 GATE位的状态决定定时/计数器运行控制取决于TR1 一个条件还是TR1和INT1引脚这两个条件。 当GATE=0时,A点电位恒为1,则只要TR1被置为1,B 点电位即为1,定时/计数器被控制为允许计数(定时/计 数器的计数控制仅由TR1的状态确定,TR1=1计数, TR1=0停止计数)。 当GATE=1时,B点电位由INT1输入的电平和TR1的状 态确定,当TR1=1,且INT1=1时,B点电平才为1,才 允许定时器/计数器计数(计数控制由TR1和INT1二个条 件控制)。 方式1时,TL1的8位都参与计数,因而属于16位 定时/计数器。其控制方式,等效电路与方式0完全相 10 同。

STC单片机串口通信与应用

STC单片机串口通信与应用

STC单片机串口通信一、串口通信原理串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到计算机端,而且也能实现计算机对单片机的控制。

由于其所需电缆线少,接线简单,所以在较远距离传输中,得到了广泛的运用。

串口通信的工作原理请同学们参看教科书。

以下对串口通信中一些需要同学们注意的地方作一点说明: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、通信协议的使用通信协议是通信设备在通信前的约定。

单片机、计算机有了协议这种约定,通信双方才能明白对方的意图,以进行下一步动作。

单片机原理及应用第2版课后答案第6章习题答案

单片机原理及应用第2版课后答案第6章习题答案

单片机原理及应用第2版课后答案第6章习题答案1.异步通信和同步通信的主要区别是什么?MCS-51串行口有没有同步通信功能?答案:异步通信因为每帧数据都有起始位和停止位,所以传送数据的速率受到限制。

但异步通信不需要传送同步脉冲,字符帧的长度不受限制,对硬件要求较低,因而在数据传送量不很大。

同步通信一次可以连续传送几个数据,每个数据不需起始位和停止位,数据之间不留间隙,因而数据传输速率高于异步通信。

但同步通信要求用准确的时钟来实现发送端与接收端之间的严格同步。

MCS-51串行口有同步通信功能。

2.解释下列概念:(1)并行通信、串行通信。

(2)波特率。

(3)单工、半双工、全双工。

(4)奇偶校验。

答案:(1)并行通信:数据的各位同时进行传送。

其特点是传送速度快、效率高,数据有多少位,就需要有多少根传输线。

当数据位数较多和传送距离较远时,就会导致通信线路成本提高,因此它适合于短距离传输。

串行通信:数据一位一位地按顺序进行传送。

其特点是只需一对传输线就可实现通信,当传输的数据较多、距离较远时,它可以显著减少传输线,降低通信成本,但是串行传送的速度慢。

(2)波特率:每秒钟传送的二进制数码的位数称为波特率(也称比特数),单位是bp(bitperecond),即位/秒。

(3)单工:只允许数据向一个方向传送,即一方只能发送,另一方只能接收。

半双工:允许数据双向传送,但由于只有一根传输线,在同一时刻只能一方发送,另一方接收。

全双工:允许数据同时双向传送,由于有两根传输线,在A站将数据发送到B站的同时,也允许B站将数据发送到A站。

(4)奇偶校验:为保证通信质量,需要对传送的数据进行校验。

对于异步通信,常用的校验方法是奇偶校验法。

采用奇偶校验法,发送时在每个字符(或字节)之后附加一位校验位,这个校验位可以是“0”或“1”,以便使校验位和所发送的字符(或字节)中“1”的个数为奇数——称为奇校验,或为偶数——称为偶校验。

接收时,检查所接收的字符(或字节)连同奇偶校验位中“1”的个数是否符合规定。

第十九讲单片机串行接口及其应用(精)

第十九讲单片机串行接口及其应用(精)

异步——发送时钟不一定等于接收时钟。

教学方法 授课时数 教学目的 1、 了解单片机的基础知识。

2、 了解单片机的发展概况。

3、 熟悉数制的转换。

教学重点:单片机的含义及作用 教学难点: 掌握逻辑分析仪的使用方法 第十九讲 单片机串行接口及其应用讲授法 2学时 § 4-3 MCS-51单片机串行接口 一、串行通信概述1、什么叫串行通信? 并行、串行举生活中的例子(排横队行走,排纵队行走)说明; 引出并行通信,串行通信的概念。

P00 P01 P02 P03 单片机 RXDTXD、设1外 * 外设22、同步通信、异步通信 提问:数字电路中移位寄存器是怎样进行移位的? 同步一一发送设备时钟等于接收设备时钟。

同步字符1 I 同步字符2数据1数据2… 数据n 校验字符校验字符空闲位起始位5-8位数据奇偶校验位停止位空闲位3、1串行通信方向A发「B单工—收►4、波特率即串行通信速率。

举例、设有一帧信息,240个字符。

求波特率。

解:(1 + 8+ 1)X 240= 2400 b/s = 2400波特。

5、串行通信接口发送:展示投影胶片CPU接收:D7 |D6D5D厂D3 D2D1 DO1 D7 D6 |D5 D4 D 3D:> D1 D0 0发送时钟发送数据寄存器SBUF (99H)发送数据展示投影胶片接收时钟b/s 、bps1个起始位、8个数据位、1个停止位,传输速率为B0 D0 D1 D2 D3 D4 D5 D6 D7 1fl2、串行口的工作方式(1)方式0:同步移位寄存器方式,波特率固定为 fosc / 12 RXD ――接收发送数据 TXD ――产生同步移位脉冲接收/发送完,置位RI / TI ,(要求SM2 = 0)无起始位,无停止位(2)方式1: 8位UART ,波特率为(2SMOD X T1的溢出率)/ 32DO Dl 寸2 D3 D4 D5 D6 D7 接收数据寄存器 SBUF (99H )CPU 二、MCS-51机串行接口 单片机内有:通用异步接收/发送器 UART 全双工,4种工作方式,波特率可编程设置,可中断。

串行口工作方式2、3及应用举例

串行口工作方式2、3及应用举例

二■方式2. 3的应用
▼主从式多机通信:
▼该通信系统中,每个从机有不同的地址;主机与各从机之间能实现 双向通信,而各从机之间不能直接通信,只能通过主机才能通信。
二■方式2. 3的应用
主从式多机通信过程: ▼初始化时令主机的SM2=0,所有从机的SM2=REN = 1; ▼主机在TB8=1时向所有从机发送n号从机的地址; ▼所有从机都收到该地址帧,只有n号从机修改本机的SM2=0 ; ▼主机在TB8=0时发送数据帧,但只有n号从机能够接收到数据信息。 ▼主机与n号从机之间的数据通信完成后,n号从机应重新设定SM2 = 1, 以便等待下一次通信。
-PS.T.'T! D
-
1
R国Pg円
再机
19_ ;:EL1
15_ 5_
PSEN ALE

FAL1 EL2 RST
31 卩UFN
fete
ALE
LED-RED _EA
ponton PO.t'ftDI
PQ3 时
D3 PO.^ftDi PO-S^DS PO.&P.D 6 PO.TJP.D T
P2DPS P2.1.-P3 P22'Ain
例:由三个单片机组成主从式多机通信系统,其中A为主机,B、C为从机。
硬件连接图为:
要求实现: A机的按键按第一次,A机的LED灯亮1秒,同时 A机的两个数码管分别显示〃0”和“A”;
按第二次,B机的LED灯亮1秒,同时A机的两个 4 R1
数码管分别显示“1”和“b”;
zu R2
按第三次,C机的LED灯亮1秒,同时A机的两个
单片机的串行口 -串行口方式2、3及应用
杨凌雪教授河南理工大学
—■方式2. 3的功能特点

单片机串行口及应用特百度

单片机串行口及应用特百度

单片机串行口及应用特百度单片机串行口是指单片机上的一组用于串行通信的接口。

串行通信是一种逐位传输数据的通信方式,相对于并行通信来说,占用的引脚数目较少,适用于资源有限的场合。

单片机串行口通常包括多个引脚,其中包括发送引脚(Tx),接收引脚(Rx)和时钟引脚(Clk)等。

单片机串行口的应用十分广泛,主要涉及以下几个方面:1. 与计算机通信:单片机通过串行口与计算机之间可以进行数据的传输与通信,可以用于单片机与PC进行数据的互传和控制。

在这种应用中,通过合理编程可以实现数据的双向传输,包括数据的发送和接收。

2. 控制外设:单片机可以通过串行口与外部设备进行通信和控制。

比如,单片机可以通过串行口与LCD液晶显示屏通信,控制其显示内容;通过串行口与电机驱动芯片通信,控制电机的转动;通过串行口与温湿度传感器通信,获取环境温湿度信息等。

3. 数据采集与传输:单片机可以通过串行口与各种传感器进行通信,实时采集传感器产生的数据,并通过串行口传输给其他设备进行处理。

比如,可以通过串行口与光电传感器通信,实时采集光照强度并传输给其他设备进行处理;通过串行口与压力传感器通信,实时采集压力数值并传输给其他设备进行处理。

4. 远程控制:单片机可以通过串行口与远程设备进行通信,实现对远程设备的控制。

比如,通过串行口与无线模块通信,实现对远程设备的远程开关控制;通过串行口与蓝牙模块通信,实现对蓝牙设备的远程控制等。

需要注意的是,由于单片机串行口的通信速率相对较低,一般只适合低速数据传输,对于高速数据传输,通常需要使用其他接口,如USB、以太网等。

单片机串行口在物联网、智能家居、工业控制、嵌入式系统等领域有着广泛的应用。

通过串行口的使用,可以实现信息的传输、设备的控制和数据的采集,提高系统的灵活性和可控性。

同时,单片机串行口的应用也需要深入了解串行通信的原理和相关编程知识,以保证通信的稳定和可靠性。

单片机的串行口及应用

单片机的串行口及应用

起 始
D0
D1
D2
D3
D4
D5
D6
D7
停 止
16
第六章 8051单片机的串行口应用
与门
或门
⑴发送:方式1时,发送的工作原理图如上图所示。 D将1写入 数据写 计数器 数据为0 TXD输 D0发 移位寄存 SBUF 溢出 发送为0 出0 送 器9位 TI置 发送第9 清除发 D1发 计数器第16 位 送信号 位1 送 次溢出 17
⑴发送
8位数据写 入SBUF TI置位 撤消 发送 选通D触发 器置1 零检测 器为 0 发送启动 8位数据 移位输出
第9位向 左均为 0
14
左边补0
第六章 8051单片机的串行口应用
⑵接收
当REN=1 且RI为零
启动 接收
1111 1110 写入移位 寄存器
清除接 收信号
15
RXD引脚 接收一位 信号 移位寄存器 的内容送入 SBUF
并行输出, 最高位
清除端,低 电平输出全 为0
时钟输入
24
第六章 8051单片机的串行口应用 例6-1 在单片机的串行口外接一个串入并出8位移位寄存器 74LS164 ,实现串口到并口的转换。数据从RXD端输出,移位脉冲 从TXD端输出。执行如下程序后LED指示灯轮流点亮。
时钟输入端
串行输入端
25
第六章 8051单片机的串行口应用 6.3 串行口应用举例 6.3.1 串口/并口转换 例: 使用74LS164的并行输出接8只发光二极管,利用它的 串入并出功能,把发光二极管从左向右依次点亮,并不断循环 之。
并行输出端
串行输入端
时钟输入端
22
串行输入并行输 出的移位寄存器
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理及应用第六章单片机串行口及应用P2 6.1 MCS-51 单片机串行接口6.1.1 基本概念1.串行通信与并行通信并行通信:数据的各位同时进行传送的通信方式。

并行通信的优点是传送速度快,缺点是需要的传输线多,不适宜远距离通信。

并行通信通过并行口实现。

串行通信:数据逐位按顺序传送的通信方式。

串行通信的优点是只需要一对传输线,特别适用于远距离通信。

其缺点是传送速度低。

串行通信通过串行口实现。

2.异步通信和同步通信(1)异步通信在异步通信中,数据以字符为单位进行传送,一个字符也叫一帧信息。

每帧数据数用一起始位(低电平)表示传送字符的开始,接着由数据的低位开始逐位传送。

最后以一个停止位(高电平)表示该字符结束。

异步通信字符帧的格式 无空闲位字符帧:带空闲位字符帧:P3D70/1D1D0D1D2D3D4D5D6D70/1D011停止位起始位停止位起始位第n-1字符第n+1字符第n 字符帧8个数据位校验位停止位起始位D0第n+1字符D0D1D2D3D4D5D6D70/111起始位第n-1字符第n 字符帧8个数据位111空闲位空闲位校验位(2) 同步通信同步通信是一种连续串行传送数据的通信方式。

每次通信连读传送若干个数据字符。

在数据传送前,发送方先发送1个或2个同步符作起始标志,接收方不断采样传输线,确认接收到同步符后便开始接收后面的数据。

数据紧跟同步符之后,个数不受限制,每个数据不需起始位和停止位,数据之间无间隙。

所以同步通信的传输速率要比异步通信高,可达56000bps。

为使发送方和接收方的时钟保持严格同步,要求发送方除发送数据外,还要同时发送时钟脉冲到接收端。

同步字符1同步字符2数据1数据2数据3数据……同步字符数据1数据2数据3数据……3. 串行通信的传送方式串行通信的传送方式有三种。

(1)单工方式:只允许数据向一个方向传送。

(2)半双工方式:允许数据双向传送,但同一时刻只能一方发送,另一方接收。

(3)全双工方式:允许数据同时双向传送,全双工方式其发送和接收是各自独立的通道。

发送器接收器A 站B 站发送器发送器接收器接收器A 站B 站发送器接收器接收器发送器A 站B 站4. 波特率和发送/接收时钟(1)波特率波特率的定义为每秒钟传送二进制代码的位数。

单位是位/秒(bps)。

波特率是串行通信的重要指标,用于表征数据的传输速度。

每位的传送时间为波特率的倒数。

即Td=1/波特率。

(2)发送/接收时钟在异步传送方式中,发送/接收时钟频率为波特率的n倍,n取16或64,通常取16。

即每位的传送时间Td=nTc,(Tc为发送/接收时钟周期)。

也就是每传送1位需要16个时钟周期。

这样做目的是更准确地给数据位定位。

收发双方传送波特率必须保持一致,否则传送过程就会发生错位。

6.1.2 串行口结构串行口主要由发送缓冲器、发送控制器、输出控制门、接收缓冲器,接收控制器、输入侈位寄存器等组成。

内部数据总线发送端口接收端口波特率发生器≥1串行口中断写SBUF读SBUFSBUF (发送)发送控制器接收控制器SBUF (接收)接收移位寄存器TXDP3.1RXDP3.0DBDBTIRIP7P8 6.1.3 串行口控制1.串行口控制寄存器SCONSCON 格式:D7D0SM0SM1SM2REN TB8RB8TI RI(98H)各位的含义和下:SM0、SM1:串行口工作方式选择位。

SM0 SM10 0方式0,同步移位寄存器方式,传送波特率为fosc/12。

0 1 方式1,10位异步收发,传送波特率可变。

1 0 方式2,11位异步收发,传送波特率为fosc/32或fosc/64。

1 1 方式3,11位异步收发,传送波特率可变。

P9 SCON (续)SM2:多机通信控制位。

单片机串行口的4种工作方式中,只有方式2或方式3(11位异步通信)才可用于多机通信。

在进行多机通信时,若接收机的SM2置1,则它只能接收地址帧,而不能接收数据帧。

只有SM2=0时才能接收数据帧。

有关通信原理将在后面介绍。

REN:允许接收控制位。

REN=1时,允许串行口接收数据。

REN=0时,禁止串行口接收数据。

TB8:是方式2和方式3发送数据的第9位。

发送数据前,预先将第9位写入TB8中。

RB8:是方式2和方式3接收数据的第9位。

接收数据时,将接收到的数据第9位存入RB8中。

TI:发送中断标志位。

发送完一帧数据后,由硬件置位TI,同时向CPU发出中断请求。

RI:接收中断标志位。

当一帧数据接收完并能进入输入SBUF,则置位RI,同时向CPU发出中断请求。

2. 电源控制寄存器PCON PCON 格式:PCON 中只有D7位SMOD 与串行口有关,SMOD 称为串行口波特率倍率控制位,用于控制串行口工作于方式1、2、3时的波特率。

单片机复位时,SMOD =0。

D7D0(87H)SMODGF1GF2PDIDLD3P10P11 6.2 串行口工作方式及波特率设置6.2.1串行口的工作方式1.方式0(SM0=0,SM1=0)方式0亦称为同步移位寄存器方式,常用作扩展并行I/O口。

特点:①一帧数据为8位,无起始位和停止位。

②发送和接收数据均通过RXD引脚进行。

③TXD引脚发送同步移位脉冲,传送波特率为fosc/12。

(1)发送:CPU执行一条写SBUF指令后,即开始发送数据,从低位到高位逐位发送。

当一帧数据发送完后,由硬件自动置TI=1,并发出中断请求。

要继续发送数据必须用指令将TI清0,再执行写SBUF指令。

(2)接收:在RI=0条件下,将REN置1便启动接收器接收。

当一帧数据接收完后,由硬件置RI=1,并发出中断请求。

CPU响应中断后,服务程序将接收SBUF的数据读入累加器A中,并用指令将RI置0,以便接收下一帧数据。

P12 2. 方式1 (SM0=0,SM1=1)特点:①一帧数据为10位,包括一个起始位和一个停止位。

②通过TXD发送数据,通过RXD接收数据。

③传送波特率可变。

(1)发送:CPU执行一条写SBUF指令后,即开始发送数据,数据从SBUF由低到高逐位经TXD发送出去。

一帧数据发送完后,由硬件置TI=1,并向CPU发中断请求。

要继续发送数据,同样要用指令将TI清0。

(2)接收:将REN置1后,接收器便开始工作,先以波特率16倍的频率采样RXD上的电平,若发现有负跳变并确认是起始位,则启动接收器接收数据。

当一帧数据接收完后,若以下两个条件同时满足:①RI=0;②SM2=0或接收到的停止位为1。

则所接收到的8位数装入SBUF,停止位装入RB8中,并置RI=1,向CPU发出中断法请求。

若条件不满足,则接收到的数据不能进入SBUF而自动丢失。

P13 3. 方式2和方式3特点:①一帧数据为11位,包括一个起始位和一个停止位。

②数据由TXD端发送,RXD端接收。

③数据的第9位用于奇偶校验或地址/数据识别(可实现多机通信)。

发送时,第9位先存入TB8,接收时,接收到的第9位存入RB8中。

④传送波特率:方式2固定为fosc/32或fosc/64;方式3波特率可变,由T1的溢出率和SMOD决定。

(1)发送:CPU执行一条写SBUF指令后,即启动发送器发送数据,发送的第9位由TB8提供。

一帧数据发送完后,由硬件置TI=1,并向CPU 发出中断请求。

(2)接收:将REN置1后,接收器开始检测RXD的电平,当发现有负跳变并确认为起始位后,即启动接收器接收数据。

当接收到的第9位数据进入移位寄存器后,若满足以下条件:①RI=0,SM2=0。

或②RI=0,SM2=1且第9位D8=1,则将8位数据装入SBUF,第9位装入RB8中,并置RI=1,向CPU发出中断请求。

若条件不满足,则接收的数据不能进入SBUF而自动丢失。

6.2.2 波特率设置1. 方式0的波特率:(固定)波特率= fosc/122.方式2的波特率:(固定为两种频率)波特率= 2SMOD /64 ×fosc当SMOD = 0时,波特率= fosc/64当SMOD = 1时,波特率= fosc/323.方式1和方式3的波特率:(可变)方式1、3波特率= 2SMOD /32×T1的溢出率T1溢出率= = = 方式1、3波特率= 2SMOD /32×= 2SMOD ×fosc / [32×12(2n –x)]在实际应用中T1常设为方式2即上式中n = 8。

1T1的溢出周期1T1的定时时间(2n –X)×12/fosc 1(2n –X)×12/fosc1P14P15 【例6-1】设8051的fosc = 12MHz,串行口工作方式1,串行通信波特率为4800bps,T1设为方式2,求T1初值并编写串行口初始化程序。

设SMOD = 1,则T1的初值为:X = 28-21×12×106/ (32×12×4800)= 242.98≈243 = F3H定时器T1和串行口的初始化程序如下:MOV TMOD , #20H ;T1设为定时方式2MOV TL1 , #0F3H ;置定时器初值MOV TH1 , #0F3HSETB TR1 ;启动T1MOV PCON , #80H ;SMOD = 1MOV SCON , #40H ;串行口设为方1式P16 SMOD 的取值对波特率误差的影响如上例SMOD = 1时,计算出来的波特率和误差如下:波特率= 2SMOD×fosc/ [32×12(28–x)]= {21×12×106/ [32×12(256-243)]}= 4807.69bps 波特率误差= (4807.69-4800)/4800 = 0.16%若SMOD = 0,T1的初值为:X = 28-20×12×106/(32×12×4800) = 249.49≈249则计算出来的波特率和误差如下:波特率= 2SMOD×fosc/ [32×12(28–x)]= {20×12×106/ [32×12(256-249)]}= 4464.29bps 波特率误差= (4464.29-4800)/4800 = -6.99%由上可知应选择使波特率误差小的SMOD值。

P102,表6-2给出常用波特率及其设置方法。

6.3 串行口应用及实例6.3.1串行口方式0的应用串行口方式0通常用于扩展并行I/O 口,通过外接“串入并出”或“并入串出”移位寄存器,实现扩展并行输出口或并行输入口。

【例6-2】8051外接CD4094扩展8位并行输出口如图所示,编一程序,使发光管从右到左以一定速度循环轮流点亮。

相关文档
最新文档