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

合集下载

单片机原理及应用第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
串行输入并行输 出的移位寄存器

《单片机原理与应用》第六章串行口通信技术

《单片机原理与应用》第六章串行口通信技术
指令解析
为了实现远程控制功能,需要设计指令解析程序,根据不同的指令执行相应的操作,例如打开或关闭电器设备、 调节灯光亮度等。
串行口通信在智能家居系统中的应用
智能家居系统
串行口通信在智能家居系统中扮演着重 要的角色,单片机可以通过串行口与其 他设备进行通信,实现家庭设备的集中 控制和管理。例如,通过与门窗传感器 、烟雾报警器等设备进行通信,实现家 庭安全监控功能;通过与灯光、空调等 设备进行通信,实现智能节能控制功能 。
它只利用一根传输线,节省了 线缆成本,广泛应用于各种通 信场景。
串行通信的数据传输速率相对 较低,但传输距离较远,适用 于长距离通信。
串行通信的分类
同步串行通信
发送端和接收端使用相同的时钟 信号进行数据同步,数据在时钟 信号的控制下逐位传输。
异步串行通信
发送端和接收端使用各自的时钟 信号,通过起始位、停止位和校 验位等控制字符来实现数据的同 步。
数据传输协议
为了保证数据的准确性和可靠性,需要制定统一的数据传输协议,包括数据格式、波特率、校验位等 ,以确保不同设备之间的数据通信能够正常进行。
串行口通信在远程控制中的应用
远程控制
通过串行口通信,单片机可以实现远程控制功能,例如在智能家居系统中,用户可以通过手机或电脑等终端设备 发送控制指令,通过串行口将指令传输到单片机中,实现对家电设备的远程控制。
03
输速率。
03
单片机串行口通信硬件设计
串行口通信的硬件接口
串行口通信接口类型
RS-232、RS-485、RS-422等,根 据通信距离和传输速率选择合适的接 口类型。
串行口通信接口电路
包括发送和接收电路,用于实现单片 机与外部设备之间的数据传输。

单片机的串行口及其应用

单片机的串行口及其应用
RS-485的信号传输采用两线间的电压来表示逻辑1和逻辑0,如图 6-12所示。由于发送方需要两根传输线,接收方也需要两根传输 线。传输线采用差动信道,所以它的干扰抑制性极好,又因为它 的阻抗低,无接地问题,所以传输距离可达1200米,传输速率可 达1Mbps。
图6-12 RS-485接口
6.1.3 单片机串行口的结构与控制寄存器
图6-2串行异步传送的字符格帧式
(a)无空闲位
(b)有空闲位
(2)同步通信 同步通信是一种连续串行传送数据的通信方式,1次通信只 传输一帧信息,即1次传送1组数据。这里的信息帧和异步通 信的字符帧不同,通常有若干个数据字符,如图6-3所示。 图6-3(a)为单同步字符帧结构,图6-3(b)为双同步字符帧结构
(2)RS-422A接口
RS-422A输出驱动器为双端平衡驱动器,如图6-11所示。如果其中 一条线为逻辑“1”状态,另一条线就为逻辑“0”,比采用单端不 平衡驱动对电压的放大倍数大一倍。 RS-422A传输速率(90Kbps)时,传输距离可达1200米。
图6-11 RS-422A接口
(2)RS-485接口
2. RS-449、RS-422A、RS-485标准接口
RS-449标准除了与RS-232C兼容外,在提高传输速率,增加传 输距离,改善电气性能等方面有了很大改进。
(1)RS-449标准接口
• RS-449在很多方面可以代替RS-232C使用。RS-449与RS232C的主要差别在于信号在导线上的传输方法不同:RS-232C 是利用传输信号与公共地的电压差,RS-449是利用信号导线之 间的信号电压差,在1219.2 m的24-AWG双铰线上进行数字通信。 • RS-449规定了两种接口标准连接器,一种为37脚,一种为9脚。 • RS-449可以不使用调制解调器,它比RS-232C传输速率高, 通信距离长,且由于RS-449系统用平衡信号差传输高速信号, 所以噪声低,又可以多点或者使用公共线通信,故RS-449通信 电缆可与多个设备并联。

单片机原理及应用第07章串行口

单片机原理及应用第07章串行口

单片机原理及应用第07章串行口在单片机中,串行口是一种常见的通信接口。

串行口允许单片机与外部设备通过串行通信进行数据的传输和接收。

它常用于与计算机、显示器、键盘、传感器等设备进行数据交互。

串行口一般有两个主要的部分:发送器和接收器。

发送器负责将单片机内部的数据转换成串行数据,并通过一个引脚发送出去。

接收器负责将从外部设备接收到的串行数据转换成单片机内部的数据,供单片机进一步处理。

串行口的应用非常广泛。

以下是串行口在一些常见应用中的使用方式:1.与计算机通信:单片机可以通过串行口与计算机进行数据交互。

这种应用广泛用于传感器数据的采集、控制命令的发送等场景。

通过串行口,单片机可以将采集到的数据传输给计算机进行分析和处理,或者接收计算机发送的控制命令实现特定功能。

2.与显示器通信:串行口可以用来控制液晶显示器(LCD)。

通过发送特定的指令和数据,单片机可以控制液晶显示器显示不同的字符、图形或者动画。

这种应用广泛用于嵌入式系统中的人机交互界面,如数码相机、手机等设备。

3.与键盘通信:通过串行口,单片机可以接收来自键盘的按键数据。

这种应用广泛用于嵌入式系统中的输入设备,如电脑键盘、数字键盘等。

通过接收键盘的按键数据,单片机可以进行相应的操作,如控制电机、显示字符等。

4.与传感器通信:单片机可以通过串行口与各种传感器进行通信。

传感器可以是温度传感器、湿度传感器、光敏传感器等。

通过串行口,单片机可以获取传感器采集到的数据,并进行相应的处理和控制。

总之,串口是一种非常常见并且实用的通信接口,在单片机中得到了广泛应用。

它不仅可以实现单片机与外部设备之间数据的传输和接收,还可以用于控制和监测各种设备。

通过串口的使用,单片机可以更加灵活和方便地与外部设备进行通信,从而实现更多样化、智能化的应用。

单片机基础及应用项目六课后习题及答案

单片机基础及应用项目六课后习题及答案
sbit KEY_PORT = P0^0;
void delay_ms(int ms)
{
unsigned char a,b;
while(ms)
{
for(b=4;b>0;b--)
for(a=113;a>0;a--);
C、数据从RXD串行输入或输出,同步信号从TXD输出
D、数据从TXD串行输入或输出,同步信号从RXD输出
12.串行口的控制寄存器SCON中,REN的作用是(C)
A、接收中断请求标志位B、发送中断请求标志位
C、串行口允许接收位D、地址/数据位
13.以下所列特点中,不属于串行工作方式2的是(C)
A、11位帧格式B、有第9数据位
6.控制串行口工作方式的寄存器是(C)
A、TMOD B、PCON C、SCON D、TCON
7.串行口每一次传送(C)字符
A、1个B、1串C、1帧D、1波特
8.单片机串行口发送/接收中断源的工作过程是:当串行口接收或发送完一帧数据时,将SCON中的(A),向CPU申请中断。
A、RI或TI置1 B、RI或TI置0
一、填空题
1.在串行通信中,根据数据传送方向分为(单工)、(半双工)和(全双工)。
2.使用定时器/计数器设置串行通信的波特率时,应把定时器/计数器设定工作方式(2),即(自动重新加载)方式
3.串行口传送数据的帧格式为1个起始位“0”,7个数据位,1个偶校验位和1个停止位“1”组成。当该串行口每分钟传送1800个字符,则波特率应为(300b/s)。
C、使用一种固定的波特率D、使用两种固定的波特率
三、问答题
1.51单片机串行口有几种工作方式?由什么寄存器决定?
答:有4种工作方式,由串行口控制寄存器SCON的SM0和SM1设置。

微机原理与单片机接口技术(第2版)李精华 第6章微处理器中断及定时计数器应用设计

微机原理与单片机接口技术(第2版)李精华 第6章微处理器中断及定时计数器应用设计
低级中断,一个正在执行的高级中断是不能被低级中断而中断的。 (4)若多个同级中断请求同时发出,则单片机按照一定的原则决定执行的顺序。51系列单片机对中
断的查询顺序是“外部中断0→定时/计数器T0→外部中断1→定时/计数器T1→串行口中断”。 (5)若程序正在执行读/写IE和IP指令,则CPU执行该指令结束后,需要再执行一条其他指令才可
处理中断源的程序称为中断处理程序。 CPU执行有关的中断处理程序称为中断处理 。而返回断点的过程称为中断返回,中断响应 和处理过程如图6-1所示。
图6-1 中断响应和处理过程
4
2.中断的处理过程
①接收中断请求。 ②查看本级中断屏蔽位,若该位为1,则本级中断源参与优先级排队。 ③中断优先级选择。 ④处理机执行完一条指令后或者这条指令已无法执行完,则立即中止现 行程序。接着,中断部件根据中断级去指定相应的主存单元,并把被中 断的指令地址和处理机当前的主要状态信息存放在此单元中。 ⑤中断部件根据中断级又指定另外的主存单元,从这些单元中取出处理 机新的状态信息和该级中断控制程序的起始地址。 ⑥执行中断控制程序和相应的中断服务程序。 ⑦执行完中断服务程序后,利用专用指令使处理机返回被中断的程序或 转向其他程序。
7.中断屏蔽
对各中断级设置相应的屏蔽位。只有屏蔽位为1时,该中断级才能参加 中断优先级排队。中断屏蔽位可由专用指令建立,因而可以灵活地调整中断 优先级。有些机器针对某些中断源也设置屏蔽位,只有当屏蔽位为1时,相 应的中断源才起作用。。
6.2 单片机中断系统概述
51系列不同型号单片机的中断源的数量是不同的(5~11个) ,本节以8051单片机的中断系统为例分析51系列单片机的中断系 统,其它各种51单片机的中断系统与之基本相同,8051单片机的 中断系统结构框图如图6-2所示。8051单片机有5个中断源,2个中 断优先级,可以实现二级中断服务程序嵌套,每个中断源可以编 程为高优先级或低优先级中断,允许或禁止向CPU请求中断。与中 断系统有关的特殊功能寄存器有中断允许控制寄存器IE、中断优 先级控制寄存器IP和中断源寄存器TCON、SCON。

模块6 单片机串行口《单片机原理及应用》教学课件

模块6 单片机串行口《单片机原理及应用》教学课件
《单片机原理及应用》
✩精品课件合集
模块6 第单X片章机串XX行X口X
单片机原理及应用
任务1 用单片机串 行口扩展输出口
➢ 任务目标
• 利用串行口方式0扩展并行输出口驱动数码管显示 器显示数字。通过完成该任务,了解单片机内部 串行口的结构,学习和掌握与串行口功能有关的 SCON,SBUF的特殊寄存器的作用和正确使用方法。
• (1)发送
• 发送时,数据从TXD端输出。当向CPU执行一条 写SBUF指令即开启了发送过程。在发送时,串行 口自动地在数据的前后分别插入一位起始位“0”和 一位停止位“1”,以构成一帧信息;在8位数据发出 之后,并在停止位开始时,CPU自动使TI为1,申请 发送中断,同时发送出下一个数据。当一帧信息 发完后,自动保持TXD端的信号为“1”。
• void main()
•{

ES=1; //开中断

EA=1;

SCON=0x10; //串口初始化为方式0并启动接收数据

RI=0; //初始值为0

SL=0; //启动74LS165并行接收数据

delay(0x01,0x10); //延时一段时间

SL=1; //选择74LS165串行输出数据
N
修改变量为输出下 一个显示数字段码 做准备
修改变量为0输出第 一个显示数字段码 做准备
源程序
利用软件查询TI标志实现程序功能,流程图如 图5-2所示。
• #include "reg51.h"
• #define uchar unsigned char
• sbit P3_7=P3^7;
• void delay()

单片机原理及接口技术(李朝青)课后习题答案——第六章

单片机原理及接口技术(李朝青)课后习题答案——第六章

答:用 T1 控制位 C/T 切换定时器或计数器工作方式就可以使 T1 运行。定时器 T1 无工作模
式 3,将 T1 设置为工作模式 3,就会使 T1 立即停止计数,关闭。
8、以定时器/计数器 1 进行外部时间计数,每计数 1000 个脉冲后,定时器/计数器 1 转为定
时工作方式,定时 10ms 后又转为计数方式,如此循环不止。假定 为 6WHZ,用模式 1 编程。
16、89C51 单片机的定时器在何种设置下可提供三个 8 位计数器定时器?这时,定时器 1 可
作为串行口波特率发生器。若波特率按 9600b/s,4800b/s,2400b/s,1200b/s,600b/s,100b/s 来考虑,
则此时可选用的波特率是多少(允许存在一定误差)?设 fosc=12MHz。
SJMP LOOP2
;时间未到,转 LOOP2,继续查询
9、一个定时器定时时间有限,如何实现两个定时器的串行定时以满足较长定时时间的要求?
答:当一个定时器溢出时,设置另一个定时器的初值为 0 开始定时。
10、使用一个定时器,如何通过软硬件结合方法实现较长时间的定时?
答:设定好定时器的定时时间,采用中断方式用软件设置计数次数,进行溢出次数累计,从
置 TMOD 中的 M1M0 为 00
(2) 模式 1:与模式 0 的唯一差别是寄存器 TH 和 TL 以全部 16 位参与操作。定时时间
t=(216-初值)×振荡周期×12;计数长度位 216=65536 个外部脉冲
置 TMOD 中的 M1M0 为 01
(3) 模式 2:把 TL0 和 TL1 配置成一个自动重装载的 8 位定时器/计数器。TL 用作 8 位
18、 设 fosc=12MHz。试编制一段程序,功能为:对定时器 T0 初始化,使之工作在模式 2,
  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位并行输出口如图所示,编一程序,使发光管从右到左以一定速度循环轮流点亮。

相关文档
最新文档