




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章
MCS-51单片机的内部资源及应用
3.1MCS-51单片机的并行I/O口应用3.2MCS-51单片机的中断系统
3.3MCS-51单片机的定时器/计数器3.4MCS-51单片机的串行通信3.4MCS-51单片机的串行通信1.串行通信概述2.MCS-51的串行口3.串行口的工作方式4.串行口的通信波特率5.串行口的应用(1)通信
通信:单片机与外界进行信息交换统称为通信。并行通信:多位数据同时发送或接收。 传送速度快、效率高,但成本高。 短距离传送数据,计算机内部,以并行方式为主。串行通信:一位一位顺序发送或接收。 传送速度慢,但成本低。 长距离传送数据,与外界的数据交换以串行方式为主1串行通信-概述(2)通信的制式单工方式:数据仅按一个固定方向传送;半双工方式:数据可实现双向传送,但不能同时进行;全双工方式:允许双方同时进行数据双向传送;多工方式:在同一线路上实现资源共享。(3)串行通信的分类按数据传送方式: 分为异步通信和同步通信1串行通信-概述同步方式:以数据块为单位进行数据传送,包括同步字符、数据块和校验字符CRC。优点是数据传输速率较高,缺点是要求发送时钟和接收时钟保持严格同步。数据格式如下图所示。
1串行通信-概述异步方式:以字符为单位进行数据传送,每一个字符均按固定的字符格式传送,又被称为帧。优点是不需要传送同步脉冲,可靠性高,所需设备简单;缺点是字符帧中因包含有起始位和停止位而降低了有效数据的传输速率。数据格式如下图所示:1串行通信-概述(4)串行通信的波特率
波特率是指每秒钟传送信号的数量,单位为波特(Baud)。而每秒钟传送二进制数的信号数(即二进制数的位数)定义为比特率,单位是bps(bitpersecond)或写成b/s(位/秒)。在单片机串行通信中,传送的信号是二进制信号,波特率与比特率数值上相等。单位采用bps。例如:异步串行通信的数据传送的速率是120字符/秒,而每个字符规定包含10位数字,则传输波特率为:
120字符/秒×10位/字符=1200位/秒=1200bps1串行通信-概述全双工的异步串行通信口(P3.0、P3.1) 一个UART(通用异步接收/发送器) 同步移位寄存器 帧格式可有10位和11位 可设置各种波特率
2MCS-51串行口MCS51的串行口SBUF(发)SBUF(收)发送控制器TI接收控制器RI移位寄存器波特率发生器T11A累加器(门)移位寄存器RxD(P3.0)TxD(P3.1)去申请中断引脚引脚CPU内部
MCS-51串行口的结构如下图所示:同名的接收/发送缓冲寄存器SBUF输入和输出移位寄存器和控制器1.串行口寄存器结构MCS-51串行口MCS-51串行口(1)独立的同名接收/发送缓冲寄存器SBUF
指令MOVSBUF,A:数据发送指令MOVA,SBUF:数据接收。向SBUF写入数据即发送数据从SBUF读出数据即接收数据(2)输入和输出移位寄存器和控制器(3)2个SFR寄存器,SCON和PCON,用于串行口的初始化编程。(4)接收/发送一个数据,必须用指令对RI/TI清0,以备下一次收/发。2.串行通信控制寄存器SCON
(98H)SM0SM1SM2RENTB8RB8TIRISM0,SM1:串行口4种工作方式控制位。
=00:方式0,8位同步移位寄存器,其波特率为fosc/12;
=01:方式1,10位UART,其波特率为可变(T1溢出率);
=10:方式2,11位UART,其波特率为fosc/64或fosc/32;
=11:方式3,11位UART,其波特率为可变(T1溢出率)。
其中:fosc为系统晶振频率。RI,TI:串行口收/发数据申请中断标志位
=1:申请中断;
=0:不申请中断。RB8: 方式2、3中,存放收到的第9位数据; 双机通信中,作奇偶校验位; 多机通信中,作地址帧/数据帧的标志:0—数据,1—地址。TB8: 方式2、3中,要发送的第9位数据; 双机通信中,数据进行奇偶校验; 多机通信中,作地址帧/数据帧标志:0—数据,1—地址。REN:串行口接收允许控制位
1:表示允许接收,
0:禁止接收。SM2: 方式2、方式3中,多机通信的附加控制位。 主机置为0 所有从机的SM2位置1,处于接收地址帧状态。 地址相符的从机,置为0,以接收主机发来的数据帧。2.串行通信控制寄存器SCON(98H)SM0SM1SM2RENTB8RB8TIRI3.中断允许寄存器IE(0A8H)
EA=1:总中断允许;
ES=1:允许串行中断;
ES=0:禁止串行中断。4.电源管理寄存器PCON(87H)不可位寻址。PCON主要用于实现电源控制而设置的专用寄存器。SMODGF1GF0PD1DLSMOD:串行口波特率倍增位
=1:串行口波特率加倍。
=0:串行口波特率不变,系统复位时默认为SMOD=0。3.4.3串行口的工作方式
1.方式0:
8位移位寄存器I/O方式,用于扩展并行口2.方式1:波特率可变的10位异步通信方式3.方式2:固定波特率的11位异步通信方式1.方式0(8位移位寄存器I/O方式)发送/接收过程:SBUF中的串行数据由RXD逐位移出/移入(低位在先,高位在后);TXD输出移位时钟,频率=fosc1/12;每送出/接收8位数据TI/RI自动置1;需要用软件清零TI/RI。注意:串行口在方式0下的工作并非是一种同步通信方式,经常配合“串入并出”“并入串出”移位寄存器一起使用,以达到扩展一个并行口的目的。扩展电路如下页图所示。3.4.3串行口的工作方式
如要发送数据,查询方式的程序如下:
MOVSCON,#00H;串行口方式0MOVSBUF,A;将数据送出
JNBTI,$;等待数据发送完毕
CLRTI;为下次发送作准备注意:复位时,SCON已经被清零,缺省值为方式0。发送条件:TI=0。接收条件:RI=0,置位REN=1(允许接收数据)。1.方式0(8位移位寄存器I/O方式)发送/接收数据的格式:
一帧信息包括1个起始位(0),8个数据位和1个停止位(1)。发送/接收过程:
SBUF中的串行数据由TXD/RXD逐位移出/移入; 每发送/接收8位数据TI/RI自动置1;用软件清零TI/RI。发送端自动添加一个起始位和一个停止位;接收端自动去掉一个起始位和一个停止位。
波特率=(2^SMOD/32)T1的溢出率,波特率可变。发送/接收条件:TI=0/RI=0,置位REN=1(允许接收数据)2.方式1(波特率可变的10位异步通信方式)3.方式2(固定波特率的11位异步接收/发送方式)发送/接收过程:
类似于方式1,比方式1增加了一位“第9位”数据(TB8/RB8),常用于“奇偶校验”。 方式2常用于单片机间通信。波特率=fosc2SMOD/64。 发送/接收条件:TI=0/RI=0,置位REN=1(允许接收数据)4.方式3(可变波特率的11位异步接收/发送方式)
方式3和方式2唯一的区别是波特率机制不同 方式3的波特率=(2SMOD/32)T1的溢出率。奇偶校验:是检验串行通信双方传输的数据正确与否的一个措施,并不能保证通信数据的传输一定正确。即如果奇偶校验发生错误,表明数据传输一定出错了;如果奇偶校验没有出错,绝不等于数据传输完全正确。奇校验规定:8位有效数据连同1位奇偶校验附加位中,二进制“1”的个数为奇数。偶校验规定:8位有效数据连同1位奇偶校验附加位中,二进制“1”的个数为偶数。校验方式:3.4.4串行口的通信波特率
波特率:每秒钟传送数据的位数,反映串行传输数据的速率。串行口四种工作方式中:方式0:波特率固定:波特率=
fosc/12。方式2:波特率固定:波特率=(2SMOD/64)×fosc,
SMOD是PCON的最高位方式1和方式3:
波特率可变,由定时器T1控制。波特率=(2SMOD/32)×T1溢出率
T1溢出率=(fosc/12)/(2KTC)
其中:K——定时器T1的位数,定时器T1用作波特率发生器时,通常工作在方式2,8位定时器,T1的溢出所需的周期数=28TC。TC——定时器T1的预置初值。
T1工作于方式2的常用波特率及初值。
常用波特率(bps)fOSC(MHz)SMODTH1初值1920011.05921FDH3960011.05920FDH3480011.05920FAH6240011.05920F4H12120011.05920E8H24串行口的通信波特率波特率=
(2SMOD/32)×
(fosc/12)/(2KTC)
TC=2K
(2SMOD×fosc
/12/
波特率/32)Fosc2^SMODBAUDTCTC1200000011200229.9583230E61200000012400242.9792243F31200000022400229.9583230E61200000024800242.9792243F31105920011200232
E81105920012400244
F41105920014800250
FA1105920019600253
FD1105920022400232
E81105920024800244
F41105920029600250
FA11059200219200253
FDTC=2K
(2SMOD×fosc
/12/
波特率/32)接收/发送缓冲寄存器SBUF(99H)MOVSBUF,A ;发送数据MOVA,SBUF ;接收数据串行通信控制寄存器SCON(98H)串行通信小结:SM0SM1SM2RENTB8RB8TIRI电源管理寄存器PCON(87H)SMODGF1GF0PD1DL串行口的工作方式:串行通信小结:串行口的工作方式:方式0:8位移位寄存器I/O方式方式1:8位数据,1位起始,1位停止位,一帧10位方式2:9位数据,1位起始,1位停止位,一帧11位方式3:9位数据,1位起始,1位停止位,一帧11位波特率方式0:波特率固定:波特率=
fosc/12。方式2:波特率固定:波特率=(2SMOD/64)×fosc,方式1和方式3:波特率可变,由定时器T1控制。波特率=(2SMOD/32)×(fosc/12)/(2KTC)TC=2K
(2SMOD/32)×(fosc
/12)/
波特率波特率晶振频率 (MHz)SMOD位Timer1工作在模式2下载入TH1(=TL1)的计数初始值6001200CCH12001210F6H24001200F3H48001210F3H120011.059200E8H240011.059200F4H480011.059200FAH960011.059200FDH1920011.059210FDHTC=2K
(2SMOD/32)×(fosc/12)/波特率3.4.5串行口的应用
串口应用初始化步骤:(1)设置TMOD(2)设置T1初值(4)设置PCON(3)启动定时器1(5)设置SCON定时器T1溢出率波特率倍增率串口工作模式MOVTMOD,#20H ;定时器1置为方式2
MOVTH1,#0F4H ;装载定时器初值
MOVTL1,#0F4H ;波特率2400(12MHz时为0F3h)SETBTR1 ;启动定时器MOVPCON,#00H ;SMOD=0,PCON=00000000 MOVSCON,#50H ;设定串行口方式1SM0SM1SM2RENTB8RB8TIRI双机通信
双机通信的硬件连接图如下图所示。
双机通信软件要求:通信协议一致
(双方相同的约定)例如: 采用方式1,10位(起始位1、数据位8,停止位1) 波特率为2400bps:T1工作在方式1, 时钟频率11.0592MHz TH1=TL1=0F4H, PCON寄存器的SMOD位为0。单片机与PC的通信
单片机与PC机通信:硬件接口:电平转换软件设计:通信协议一致PC与单片机通信实例:
1.PC发送6个字节数据给单片机
2.单片机收到后将6个数据发回单片机
3.将LED移动一位。程序如下:SIO.ASM
ORG0000H AJMPMAIN ORG0023H ;串行口中断入口
LJMPINT_SERIAL ;ORG0030HMAIN:MOVSP,#60H CLR P1.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度私人住宅装修与智能家居系统集成合同
- 二零二五年度特色小吃连锁品牌全国代理合同
- 二零二五年度保密技术研发与知识产权保护协议
- 二零二五年度煤炭行业知识产权保护合作协议
- 2025年度网络安全防护与信息安全人才招聘合作协议
- 2024年项目管理集成原题
- 二零二五年度烟草专卖许可证转让与行业自律组织合作协议
- 大学语文论文写作试题及答案
- 消防设施操作员考试能力提升试题及答案
- 美术教材与教具选用指南计划
- DB43-T 2287-2022共享经济灵活用工服务平台管理规范
- 甲醇汽油安全技术说明书MSDS
- 干校六记-大学语文-幻灯片
- 大学综合英语Unit4 A View of Mountains公开课一等奖省优质课大赛获奖课件
- 少儿美术-浪花一朵朵
- 中学生安全教育优质实用课件(共54张PPT)
- 右室流出道室早的心电图定位和消融供参考
- T∕CSPSTC 72-2021 隧道衬砌脱空注浆治理技术规程
- 陈氏十八式太极拳教案
- 导向系统设计(课堂PPT)
- 六年级下第三单元圆柱与圆锥集体备课思维导图(课堂PPT)
评论
0/150
提交评论