单片机第6章

合集下载

单片机原理及应用第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 同。

单片机第六章定时器

单片机第六章定时器
计数溢出时,TFx置位。如果中断允许,CPU响应中 断并转入中断服务程序,由内部硬件清TFx。TFx也可以 由程序查询和清零。
这种方式下,计数寄存器由13位组成,即THx高八位(作计数器)
和TLx的低5位构成。TLx的高3位未用。
计数时,TLx的低5位溢出后向THx进位,THx溢出后 将TFx置位,并向CPU申请中断。
用软件控制,置 l时,启动 T1;清0时,停止 T1。
TF0(TCON.5)——T0的溢出标志。
TR0(TCON.4)——T0的运行控制位。
用软件控制,置1时,启动T0;清 0时,停止 T0。
• IE1(TCON.3)——外部中断1中断请求标志位。
• IE0(TCON.1)——外部中断0中断请求标志位。
器之外,还可用作串行接口的波特率发生器。
6.2
定时器/计数器T0、T1
T0、T1 的内部结构简图示于图6-1中。从图中 可以看出,T0、T1由以下几部分组成:
• 计数器TH0、TL0和TH1、TL1;


特殊功能寄存器TMOD、TCON;
时钟分频器;

输入引脚T0、T1。
6.2.1 与定时器/计数器T0、T1有关的 特殊功能寄存器
⑵定时器/计数器T1
T0方式3时,T1可以工作在方式0、1、2三种方式 T1的结构如图6–6所示。 由于T0占用了原来T1的启动位TR1和溢出标志TF1, 所以此时T1溢出时不能置位溢出标志,不能申请中断, 其溢出信号送给串行口,此时T1作为波特率发生器。
T1的启停由写入方式字控制,当写入方式0/1/2 时,T1立即启动,写入方式3 时,立即停止工作。
分析:设置T0工作在方式2,计数功能,每记满100个外 部脉冲,从P1.0输出一个低电平脉冲信号(简化的打包 操作)。

《单片机原理及应用》第6章 51单片机中断系统应用基础

《单片机原理及应用》第6章   51单片机中断系统应用基础
• 单片机原理及应用(第4版)
• 姜志海 王蕾 姜沛勋 编著
• 电子工业出版社
第6章 51单片机中断系统应用基础
• 本章主要介绍中断系统的应用。 • 包括:
6.1 中断结构与控制 6.2 中断优先级与中断子程序 6.3 外部中断应用举例 6.4 实验与设计
6.1 中断结构与控制
5个中断源
• 外部中断:外部中断0 /INT0
6.2 中断优先级与中断子程序
• 优先级排列如下(从高到低): 外部中断0 定时器/计数器0溢出 外部中断1 定时器/计数器1溢出 串行口中断
6.3 外部中断应用示例
• 51单片机提供了2个外部中断源 : • 外部中断0请求,占用P3.2引脚,其中断请求号为0 • 外部中断1请求,占用P3.3引脚,其中断请求号为2 • 外部中断源的初始化时通过设置相应的特殊功能寄
注意:
和例题5-6的区别
修改:
(1)按3下S0,P1口的发光状态发生反转 (2)按一下,灯变为闪烁,按一下,灯全亮。
【例6-2】当S0动作时,P1.0端口的电平反向,当外S1 动作,P1.7端口的电平反向
• 修改:
• (1)S0控制P1.0—P1.3的灯,S1控制P1.4—P1.7的灯 。
• (2)按下S0后,点亮8只LED;按下S1后,变为闪烁状 态。
(3)IE寄存器中的EA、EX0、EX1位
• EA为中断允许总控制位;EX0、EX1为外 部中断0中断和外部中断1中断的中断允 许位。如:
• SETB EA;开放总的中断控制 • SETB EX0;允许外部中断0中断 • CLR EX1;禁止外部中断1中断
【例6-1】初始状态时低4位灯亮,高4位的灯灭,编程 实现按一下S0,P1口的发光状态发生反转。

第6章单片机经典课件

第6章单片机经典课件

第六章 中 断 系 统
(3) 正在执行的是中断返回指令RETI或是访问特殊功能
寄存器IE或IP的指令。换言之,在RETI或者在读/写IE(IP)之 后,不会马上响应中断请求,至少要在执行其它一条指令之 后才会响应。 若存在上述任一种情况,则中断查询结果就被取消。否 则,在紧接着的下一个机器周期,中断查询结果变为有效。
第六章 中 断 系 统
(2) TF0和TF1:定时器0和定时器1的溢出中断。当T0
或T1计数器加1计数产生溢出时,则将TCON中的TF0或TF1 置位,向CPU申请中断。 (3) RI和TI:串行口的接收和发送中断。当串行口接收 或发送完一帧数据时,将TCON中的RI或TI置位,向CPU申 请中断。 当某中断源的中断请求被CPU响应之后,CPU将自动把 此中断源的入口地址装入PC,中断服务程序从此地址开始 执行。由于相邻中断源的入口地址之间只有8个字节,因此 一般在中断源的入口地址处存放一条绝对跳转指令,可以跳 转到用户安排的中断服务程序的入口处。
断。
第六章 中 断 系 统
ET2=1,允许定时器2中断,否则禁止中断。系统复位
后,IE各位都为0,即禁止所有中断。IE寄存器可以位寻址 也可以字节寻址。 3.中断优先级设定 80C51单片机的中断分为两个优先级,每个中断源的优 先级都可以通过中断优先级寄存器IP中的相应位来设定。IP 各位的定义如下:
第六章 中 断 系 统
PX0 (IP.0):外部中断0优先级设定位。PX0=1时,外部
中断0设定为高优先级,否则为低优先级。 当系统复位后,IP各位均为0,所有中断源设置为低优 先级中断。IP也是可以进行字节寻址和位寻址的特殊功能寄 存器。 4.优先级结构 通过设置IP寄存器中的各位,把中断源的优先级分为高、 低两级,它们遵循以下基本原则: (1) 低优先级中断可以被高优先级中断所中断,反之则 不能。

单片机原理及其接口技术--第6章 MCS-51单片机定时器计数器

单片机原理及其接口技术--第6章 MCS-51单片机定时器计数器

单片机原理及其接口技术
T/C方式2的逻辑结构图
1
TH1/TH0
T8
T7
T6
T5
T4
T3
T2
T1
寄存器 计数器

TL1/TL0
T8
T7
T6
T5
T4
T3
T2
T1
主目录
上一页
下一页

单片机原理及其接口技术
4、方式3 M1M0=11 T0和T1有不同的工作方式
C/T0:
TH0和TL0被拆成2个独立的8位计数器。
28),向CPU申请中断,标志位TF1自动置位,若中
断是开放的,则CPU响应定时器中断。当CPU响应
中断转向中断服务程序时,由硬件自动将该位清0。
&
加1计数器 & 1
主目录
上一页
下一页


EA
ET1
单片机原理及其接口技术
2个模拟的位开关,前者决定了T/C的工作状态:当1单片机有2个特殊功能寄存器TCON和TMOD: TCON:用于控制定时器的启动与停止,中断标志。 TMOD:用于设置T/C的工作方式。
主目录
上一页
下一页


单片机原理及其接口技术
1.定时器控制寄存器TCON
88H TCON
位地址
D7
D6
D5
D4
D3
D2
D1
D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 8F 8E 8D 8C 8B 8A 89 88
过实时计算求得对应的转速。
主目录 上一页 下一页 结 束
单片机原理及其接口技术 对于定时/计数器来说,不管是独立的定时器芯片还是单

单片机原理及应用教程(C语言版)-第6章 MCS-51单片机的定时器计数器


6.1.1 单片机定时器/计数器的结构
MCS-51单片机定时器/计数器的原理结构图
T0(P3.4) 定时器0 定时器1 T1(P3.5) 定时器2 T2EX(P1.1)
T2(P1.0)
TH0
溢 出 控 制
TL0
模 式 溢 出
TH1
控 制
TL1
模 式 溢 出
TH2
TL2
重装 捕获
RCAP 2H
RCAP 2L
6.2.2 T0、T1的工作模式
信号源 C/T设为1,为计数器,用P3.4引脚脉冲 C/T设为0,为定时器,用内部脉冲 运行控制 GATE=1,由外部信号控制运行 此时应该设置TR0=1 P3.2引脚为高电平,T0运行 GATE=0, 由内部控制运行 TR0设置为1,T0运行
6.2.2 T0、T1的工作模式
6.2.3 T0、T1的使用方法
例6-1 对89C52单片机编程,使用定时器/计 数器T0以模式1定时,以中断方式实现从P1.0引 脚产生周期为1000µ s的方波。设单片机的振荡频 率为12MHz。 分析与计算 (1)方波产生原理 将T0设为定时器,计算出合适的初值,定 时到了之后对P1.0引脚取反即可。 (2)选择工作模式 计算计数值N
6.2.1 T0、T1的特殊功能寄存器
TR1、TR0:T1、T0启停控制位。 置1,启动定时器; 清0,关闭定时器。
注意: GATE=1 ,TRx与P3.2(P3.3)的配合控制。
IE1、IE0:外部中断1、0请求标志位 IT1、IT0:外部中断1、0触发方式选择位
6.2.2 T0、T1的工作模式
6.2.1 T0、T1的特殊功能寄存器
GATE=0,禁止外部信号控制定时器/计数器。 C/T——定时或计数方式选择位 C/T=0,为定时器;C/T=1,为计数器 计数采样:CPU在每机器周期的S5P2期间,对 计数脉冲输入引脚进行采样。

第六章 MCS-51单片机内部定时器


6.3.1 模式0及应用
在这种模式下,16位寄存器只用了13位。 其中,TL0的高3位未用,TH0占8位。当 TL0的低5位溢出时,向TH0进位。当TH0 溢出时,向中断标志位TF0进位,并申请中 断。 因此,可通过查询TF0 是否置位或考 察中断是否发生来判断定时器/计数器0的 操作完成与否。
(2)计算1ms定时T0的初值:
机器周期为(1/fOSC)×12=[1/(12×106)]×12=1μs, 设T0的 计数初值为X,则 (213-X)×1×10-6=1×10-3ms
X=213-1×10-3/(1×10) -6 =8192-1000=7192D=1110000011000
高8位: E0H 低5位: 18H
fosc=12MHz, 采用查询方式。
解:方波周期 T=1/100Hz=0.01s=10ms 用T1定时5ms 计数初值 X为: X=216-12×5×103/12=60536=EC78H 程序如下:
MOV TMOD, #10H ;T1模式1,定时方式
SETB TR1 LOOP:MOV TH1,#0ECH
例:晶振为12MHZ ,则计数周期为
T=12/(12*106)Hz =1微秒
最短的定时 周期
计数器工作方式:
当定时器/计数器为计数工作方式时,通过
引脚T0和T1对外部信号计数,外部脉冲的下降
沿触发计数
在每个机器周期的
采样过程:
S5P2期间采样引脚
当输入脉冲信号从1到0的负跳变时,计数器就 自动加1。 由于检测一个由1到0的跳变需要两 个机器周期,所以 计数的最高频率为振荡频 率的1/24。为了确保给定电平在变化前至少被 采样一次,外部计数脉冲的高低电平均需保持 一个机器周期以上。(占空比没有限制)

单片机原理及接口技术第6章习题答案

第6章习题答案1、定时器模式2有什么特点?适用于什么场合?答:(1) 模式2把TL0(或TL1)配置成一个可以自动重装载的8位定时器/计数器。

TL0计数溢出时不仅使溢出中断标志位TF0置1,而且还自动把TH0中的内容重新装载到TL0中。

TL0用作8位计数器,TH0用以保存初值。

(2) 用于定时工作方式时间(TF0溢出周期)为()82T H 012T =-⨯⨯初值振荡周期,用于计数工作方式时,最大计数长度(TH0初值=0)为28=256个外部脉冲。

这种工作方式可省去用户软件重装初值的语句,并可产生相当精确定时时间,特别适于作串行波特率发生器。

2、单片机内部定时方式产生频率为100KH Z 等宽矩形波,假定单片机的晶振频率为12MH Z ,请编程实现。

答:5100,110(00)Z f KH t T -==⨯采用定时器选择工作模式50.510-⨯=⨯⨯136(2-X )12/(1210)13(2)5X -=81871111111111011X ==T0低5位:1BHT0高8位:FFHMOV TMOD,#00H ;设置定时器T0工作于模式0MOV TL0,#1BH ;设置5ms 定时初值MOV TH0,#0FFHSETB TR0 ;启动T0LOOP:JBC TF0,L1 ;查询到定时时间到?时间到转L1SJMP LOOP ;时间未到转LOOP ,继续查询L1:MOV TL0,#1BH ;重新置入定时初值MOV TH0,#0FFHCPL P1.0 ;输出取反,形成等宽矩形波SJMP LOOP ;重复循环3、89C51定时器有哪几种工作模式?有何区别?答:有四种工作模式:模式0,模式1,模式2,模式3(1) 模式0:选择定时器的高8位和低5位组成一个13位定时器/计数器。

TL 低5位溢出时向TH 进位,TH 溢出时向中断标志位TF 进位,并申请中断。

定时时间t=(213-初值)×振荡周期×12;计数长度位213=8192个外部脉冲(2) 模式1:与模式0的唯一差别是寄存器TH 和TL 以全部16位参与操作。

单片机魏第6章


三、中断控制(两级管理) 中断控制(两级管理) 1、中断屏蔽(第一级管理) 、中断屏蔽(第一级管理) 在中断源与CPU之间有二级中断允许控制逻辑电路,类似开关,其 中第一级为一个总开关,第二级为五个分开关,由IE控制。 IE EA — — — — ES ET1 EX1 ET0 EX0
EA —— 总控制位 “—” —— 未定义位 ES —— 串口控制位 ET1—— T1中断控制位 中断控制位 EX1—— /INT1控制位 控制位 ET0—— T0中断控制位 中断控制位 EX0—— /INT0控制位 控制位 若为“ ,开关接通, 若为“1”,开关接通,允许 例如 SETB EA 若为“ ,开关断开, 若为“0”,开关断开,不允 许 例如 CLR IE.7
ORG 0000H;复位入口 ; 单片机 AJMP MAIN INT0 ORG 0003H ;中断入口 AJMP PINT0 P1.0 ORG 0100H ;主程序 MAIN:MOV SP,#40H;设栈底 : , ; SETB EA ;开总允许开关 SETB EX0 ;开INT0中断 中断 SETB IT0 ;负跳变触发中断 H: SJMP H : ;执行其它任务 ORG 0200H ;中断服务程序 PINT0:CPL P1.0 ;改变 改变LED : RETI ;返回主程序
只要P1.0 端输出一个负脉冲就可以使D 触发器置“ 1” , 只要 P 端输出一个负脉冲就可以使 D 触发器置 “ 从而撤消了低电平的中断请求信号。 从而撤消了低电平的中断请求信号。所需的负脉冲 可增加如下两条指令得到: 可增加如下两条指令得到: 01H ORL P1,#01H ;P 1 . 0 为“1 ” ANL P1,#0FEH ;P 1 . 0 为“0 ”
同一级中的5个中断源的优先顺序是: 同一级中的 个中断源的优先顺序是: 个中断源的优先顺序是 高 /INT0中断 中断 T0溢出中断 溢出中断 /INT1中断 中断 T1溢出中断 溢出中断 串口中断 低 中断优先原则: 概括为四句话) 中断优先原则:(概括为四句话) 1、低级不打断高级 、 2、高级不睬低级 、 3、同级不能打断 、 4、同级、同时中断,事先约定。 、同级、同时中断,事先约定。 出厂前已由厂家固化顺序 ——事先约定 事先约定
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(2) 数据接收
串行口作为并行输入口使用时,要有“并入串出” 的移位寄存器配合。
74HC165 S/L端为移位/置入端,当S/L=0时,从Q0~ Q7并行置入数据,当S/L=1时,允许从QH端移出数据。在 80C51串行控制寄存器SCON中的REN=1时,TXD端发出移位 时钟脉冲,从RXD端串行输入8位数据。当接收到第8位数 据D7后,置位中断标志RI,表示一帧数据接收完成。
第6章
机械工业出版社同名教材 配套电子教案
第6章 串行通信
本章要点
异步通信和同步通信 串行通信波特率 串行通信的制式 串行通信的校验 串行口特殊功能寄存器 串行工作方式
计算机与外界信息交换称为通信。
通信的基本方式可分为并行通信和串行通信:
并行通信是数据的各位同时发送或同时接收; 串行通信是数据的各位依次逐位发送或接收。 并行通信优点:传送速度快 缺点:不便长距离传送 串行通信优点:便于长距离传送 缺点:传送速度较慢
接收 允许
发送 第9位
接收 第9位
发送 中断
接收 中断
① ② ③ ④ ⑤ ⑥ ⑦
SM1 —— 串行口工作方式选择位。 —— 多机通信控制位。 —— 允许接收控制位。REN=1,允许接收。 —— 方式2和方式3中要发送的第9位数据。 —— 方式2和方式3中要接收的第9位数据。 —— 发送中断标志。 —— 接收中断标志。
2、串行控制寄存器SCON
SCON 位名称 位地址 功能 D7 SM0 9FH D6 SM1 9EH D5 SM2 9DH D4 REN 9CH D3 TB8 9BH D2 RB8 9AH D1 TI 99H D0 RI 98H
工作方式 选择 SM0 SM2 REN TB8 RB8 TI RI
多机通信 控制
⑵ 数据接收
接收时,在REN=1前提下,当采样到RXD从1向0跳变状态 时,就认定为已接收到起始位。随后在移位脉冲的控制下, 将串行接收数据移入SBUF中。一帧数据接收完毕,将SCON中 的RI置1,表示可以从SBUF取走接收到的一个字符。
⑶ 波特率
方式1波特率可变,由定时/计数器T1的计 数溢出率来决定。 波特率 = 2SMOD×(T1溢出率)/ 32 其中SMOD为PCON寄存器中最高位的值, SMOD=1表示波特率倍增。 在实际应用时,通常是先确定波特率,后 根据波特率求T1定时初值,因此上式又可写为:
;置T1定时器工作方式2
;置T1计数初值 ;置T1计数重装值 ;禁止T1中断 ;T1启动 ;置串行方式1,禁止接收 ;置SMOD=0(SMOD不能位操作) ;禁止串行中断 ;置接收数据区首地址 ;置接收数据长度 ;启动接收 ;等待一帧数据接收完毕 ;清接收中断标志 ;读接收数据 ;存接收数据 ;指向下一数据存储单元 ;判16个数据接收完否?未完继续 ;
80C51串行口
80C51系列单片机有一个全双工 的串行口,这个口既可以用于网络通 信,也可以实现串行异步通信,还可 以作为同步移位寄存器使用。
一、串行口特殊功能寄存器
1、串行数据缓冲器SBUF
在逻辑上只有一个,既表示发送寄存器,又表示接收寄 存器,具有同一个单元地址99H,用同一寄存器名SBUF。 在物理上有两个,一个是发送缓冲寄存器,另一个是接 收缓冲寄存器。 发送时,只需将发送数据输入SBUF,CPU将自动启动和 完成串行数据的发送; 接收时,CPU将自动把接收到的数据存入SBUF,用户只 需从SBUF中读出接收数据。
20 11059200 = 256 - 32 × 12×1200
= 232 = E8H
甲机发送子程序:
TXDA: MOV MOV MOV CLR SETB MOV MOV CLR MOV MOV TRSA: MOV MOV JNB CLR INC DJNZ RET TMOD,#20H TL1,#0E8H TH1,#0E8H ET1 TR1 SCON,#40H PCON,#00H ES R0,#40H R2,#16 A,@R0 SBUF,A TI,$ TI R0 R2,TRSA ;置T1定时器工作方式2 ;置T1计数初值 ;置T1计数重装值 ;禁止T1中断 ;T1启动 ;置串行方式1,禁止接收 ;置SMOD=0(SMOD不能位操作) ;禁止串行中断 ;置发送数据区首地址 ;置发送数据长度 ;读一个数据 ;发送 ;等待一帧数据发送完毕 ;清发送中断标志 ;指向下一字节单元 ;判16个数据发完否?未完继续 ;
RDSB:
3、 串行工作方式2
方式2是一帧11位的串行通信方式,即1个起始位, 8个数据位,1个可编程位TB8/RB8和1个停止位, 其帧 格式为:
起始 D0 D1 D2 D3 D4 D5 D6 D7 TB8/RB8 停止
可编程位TB8/RB8既可作奇偶校验位用,也可作 控制位(多机通信)用,其功能由用户确定。 数据发送和接收与方式1基本相同,区别在于方式2 把发送/接收到的第9位内容送入TB8/RB8。 波特率:方式2波特率固定,即fosc/32和fosc/64。 如用公式表示则为: 波特率=2SMOD
解:编程如下:
LIGHT:MOV SCON,#00H ;串行口方式0 CLR ES ;禁止串行中断 MOV DPTR,#TAB ;置发光二极管亮暗控制字表首址 LP1: MOV R7,#0 ;置顺序编号0 LP2: MOV A,R7 ;读顺序编号 MOVC A,@A+DPTR ;读控制字 CLR P1.0 ;关闭并行输出 MOV SBUF,A ;启动串行发送 JNB TI,$ ;等待发送完毕 CLR TI ;清发送中断标志 SETB P1.0 ;开启并行输出 LCALL DLY500ms ;调用延时0.5秒子程序(参阅例4-13) INC R7 ;指向下一控制字 CJNE R7,#30,LP2 ;判循环操作完否?未完继续 SJMP LP1 ;顺序编号0~29依次操作完毕,从0开始重新循环 TAB: DB 0FFH,7FH,3FH,1FH,0FH,07H,03H,01H,00H;从左向右依次暗灭, 每次减少一个,直至全灭; DB 80H,40H,20H,10H,08H,04H,02H,01H;从左向右依次点亮,每次亮一个 DB 02H,04H,08H,10H,20H,40H,80H;从右向左依次点亮,每次亮一个 DB 0C0H,0E0H,0F0H,0F8H,0FCH,0FEH;从左向右依次点亮, 每次增加一个,直至全部点亮;
⑴ 数据发送
串行口作为并行输出口使用时,要有“串入并出” 的移位寄存器配合。
在移位时钟脉冲(TXD)的控制下,数据从串行口RXD 端逐位移入74HC164 SA、SB端。当8位数据全部移出后, SCON寄存器的TI位被自动置1。其后74HC164的内容即可 并行输出。74HC164 CLR为清0端,输出时CLR必须为1, 否则74HC164 Q0~Q7输出为0。
乙机接收子程序:
RXDB:
MOV
MOV MOV CLR SETB MOV MOV CLR MOV MOV SETB JNB CLR MOV MOV INC DJNZ RET
TMOD,#20H
TL1,#0E8H TH1,#0E8H ET1 TR1 SCON,#40H PCON,#00H ES R0,#50H R2,#16 REN RI,$ RI A,SBUF @R0,A R0 R2,RDSB

fosc/64
【例6-4】 设计一个串行方式2发送子程序 (SMOD=1),将片内RAM 50H~5FH中的数据串行 发送,第9数据位作为奇偶校验位。接到接收方 核对正确的回复信号(用FFH表示)后,再发送 下一字节数据,否则再重发一遍。
二、串行通信波特率
波特率bps(bit per second)定义: 每秒传输数据的位数,即:
1波特 = 1位/秒(1bps)
波特率的倒数即为每位传输所需的时间。 相互通信的甲乙双方必须具有相同的波特 率,否则无法成功地完成串行数据通信。
三、串行通信的制式
串行通信按照数据传送方向可分为三种制 式:
1、串行工作方式0(同步移位寄存器工作方式)
以RXD(P3.0)端作为数据移位的输入/输出端, 以TXD(P3.1)端输出移位脉冲。 移位数据的发送和接收以8位为一帧,不设起始位和停止 位,无论输入/输出,均低位在前高位在后。 其帧格式为:
•••
D0
D1
D2
D3
D4
D5
D6
D7
•••
方式0可将串行输入输出数据转换成并行输入输出数据。
2、串行工作方式1
方式1是一帧10位的异步串行通信方式,包括1个起始 位,8个数据位和一个停止位。 其帧格式为: 起始 D0 D1 D2 D3 D4 D5 D6 DSBUF,在串行口由硬件自动加入 起始位和停止位,构成一个完整的帧格式。然后在移位脉冲 的作用下,由TXD端串行输出。一帧数据发送完毕,将SCON 中的TI置1。
1、单工制式(Simplex)
单工制式是指甲乙双方通信时只能单向传 送数据,发送方和接收方固定。
2、半双工制式(Half Duplex)
半双工制式是指通信双方都具有发送器 和接收器,既可发送也可接收,但不能同时 接收和发送,发送时不能接收,接收时不能 发送。
3、全双工制式(Full Duplex)
§6-1
串行通信概述
一、异步通信和同步通信
串行通信按同步方式可分为异步通信和同步通信。
1、异步通信
异步通信依靠起始位、停止位保持通信同步。 异步通信数据传送按帧传输,一帧数据包含 起始位、数据位、校验位和停止位。 异步通信对硬件要求较低,实现起来比较简 单、灵活,适用于数据的随机发送/接收,但因 每个字节都要建立一次同步,即每个字符都要 额外附加两位,所以工作速度较低,在单片机 中主要采用异步通信方式。
3、电源控制寄存器PCON
PCON 位名称 D7 SMOD D6 — D5 — D4 — D3 D2 D1 PD D0 IDL GF1 GF0
相关文档
最新文档