版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 7.2 MCS-51 7.2 MCS-51单片机的串行口单片机的串行口 7.3 7.3 串行口的应用串行口的应用 7.1 7.1 串行通信的基本概念串行通信的基本概念 加深对串行通信基本概念的理解 掌握51单片机串行口的结构、工作方式 了解串行口的应用 掌握串行口初始化编程 掌握发送程序和接收程序的编制 7.1 7.1 串行通信的基本概念串行通信的基本概念一、基本概念一、基本概念串行通信串行通信是将数据的各位一位一位地依次传送。 适合于计算机之间、计算机与外部设备之间的远距离通信。波特率波特率每秒转送的数据位数。二、串行通信的两种方式二、串行通信的两种方式异步传送方式 空闲起始位D0D1D2
2、D4D3D5D6D7X停止位异步通信典型数据格式 同步通信中,在数据开始传送前用同步字同步通信中,在数据开始传送前用同步字符来指示(常约定符来指示(常约定1个个-2个),并由时钟来个),并由时钟来实现发送端和接收端同步,即检测到规定实现发送端和接收端同步,即检测到规定的同步字符后,下面就连续按顺序传送数的同步字符后,下面就连续按顺序传送数据,直到通信告一段落。据,直到通信告一段落。 同步传送时,字符与字符之间没有间隙,同步传送时,字符与字符之间没有间隙,也不用起始位和停止位,仅在数据块开始也不用起始位和停止位,仅在数据块开始时用同步字符时用同步字符SYNC来指示,其数据格式如来指示,其数据格式
3、如下图所示。下图所示。同步传送方式异步通信数据格式异步通信数据格式同步字符的插入可以是单同步字符方式或双同步字符方式,然后是连同步字符的插入可以是单同步字符方式或双同步字符方式,然后是连续的数据块。同步字符可以由用户约定,也可以采用续的数据块。同步字符可以由用户约定,也可以采用ASCII码中规定码中规定的的SYNC代码,即代码,即16H。按同步方式通信时,先发送同步字符,接收。按同步方式通信时,先发送同步字符,接收方检测到同步字符后,即准备接收数据。方检测到同步字符后,即准备接收数据。 同步传送时,用时钟实现发送端与接收端之间的同步。为保证接收同步传送时,用时钟实现发送端与接收端之间的同步。为
4、保证接收正确无误,发送方除了传送数据外,还要同时传送时钟信号。正确无误,发送方除了传送数据外,还要同时传送时钟信号。同步传送可以提高传输速率(达同步传送可以提高传输速率(达56kb/s或更高),但硬件比较复杂。或更高),但硬件比较复杂。同步传送方式三、数据传送的方向三、数据传送的方向 单工方式 半双工 全双工 7.2 MCS-517.2 MCS-51单片机的串行口单片机的串行口7.2.1 串行口的功能与结构7.2.2 串行口的工作方式7.2.3 多机通信7.2.4 波特率的计算7.2.1 7.2.1 串行口功能与结构串行口功能与结构MCS-51MCS-51串行口的基本功能串行口的基本功能发送:
5、将CPU送来的并行数据转换成一定格式的串行数据,从引脚TXD上按规定的波特率逐位输出。接收:接收:监视引脚RXD,一旦出现起始位“0”, 就将外围设备送来的一定格式的串行数 据转换成并行数据,等待CPU读入。 发送数据缓冲器:只能写入,不能读出; 接受数据缓冲器:只能读出,不能写入。 两者共用一个符号SBUF,共用一个地址99H。串行口数据缓冲器SBUF CPU执行一条写SBUF的指令(如MOV SBUF,A)就启 动了发送过程。 当串行口接收到1帧信息后,将数据存入接受数据 缓冲器中。这时,CPU通过执行读SBUF指令(如 MOV A,SBUF),就可获得串行口接收到的数据。串行口控制寄存器
6、SCONRITIRB8TB8RENSM2SM1SM0 D7 D6 D5 D4 D3 D2 D1 D0多机通信多机通信0 0:单机对单机:单机对单机1 1:多机通信:多机通信接收控制接收控制0 0:禁止接收:禁止接收1 1:允许接收:允许接收发送数据第发送数据第9 9位位接收数据第接收数据第9 9位位发送中断标志发送中断标志接收中断标志接收中断标志确定串行口工作方式#该寄存器地址为该寄存器地址为98H,可位寻址。,可位寻址。电源控制寄存器PCOND7D6 D5 D4 D3 D2 D1 D0 IDLPDGF0GF1SMODSMOD为波特率系数控制位:SMOD=1时,波特率增大一倍。复位时,SMOD
7、=0。PCON的其它各位与串行口无关。#其字节地址为87H,没有位寻址功能。返回本节目录7.2.2 7.2.2 串行口的工作方式串行口的工作方式有4种工作方式,由SCON中的SM0、SM1确定:SM0SM1方式方式功能功能波特率波特率00110101方式方式0方式方式1方式方式2方式方式3移位寄存器方式移位寄存器方式(并行并行I/O扩展扩展)8位通用异步接收位通用异步接收/发送器发送器9位通用异步接收位通用异步接收/发送器发送器9位通用异步接收位通用异步接收/发送器发送器fosc/12可变可变fosc/32或或fosc/64可变可变 方式0串行寄存器方式:数据从RXD引脚发送或接收;同步移位脉
8、冲从TXD 引脚输出。 一帧数据由8位数据组成,低位在前,高位在后,无 起始位和停止位。 波特率固定,为fosc/12。 主要用于扩展并行I/O口。 CPU响应TI或RI中断请求时,不会清除TI或RI标志, 必须由用户用软件清0。 串行口的其它工作方式也一样。串行口的其它工作方式也一样。发送当1个数据写入发送寄存器SBUF,串行口即 把8位数据以fosc/12的波特率从RXD端送 出(低位在前),同时从TXD上发送同步 移位脉冲。发送完毕停止发送移位脉冲,并置发送中 断标志TI为1。方式0发送时序接收REN=0时,禁止接收。当置REN=1时,从TXD上发送同步移位脉 冲,该脉冲控制外接芯片逐位
9、输入数据到 RXD端,波特率为fosc/12。RXD上的串行输入数据逐位移入移位寄存 器。当8位数据全部移入后, 8位数据从移位寄 存器送入接收数据缓冲器SBUF保存;同时 停止输出移位脉冲,并置接收中断标志RI=1。方式0接收时序方式18位异步通信接口方式:1帧信息由10位组成(起始位、8位数据、停止 位)RXD为接收端,TXD为发送端。波特率可变,由定时器/计数器1或2的溢出速率以 及SMOD确定;发送和接收波特率可以不同。发送CPU执行“写SBUF”指令,将并行数据送入 SBUF,启动发送控制器,通过输出控制门 从TXD上逐位输出1帧信号。1帧信号发送完毕,发送控制器置发送中断 标志TI
10、=1。方式1发送时序接收 允许接收位REN置1后,跳变检测器开始采 样RXD引脚上的电平。当采样到负跳变, 启动接收控制器接收数据。 如果起始位接收到的值不为0,则起始位 无效,复位接收电路。如果起始位为0,则开始接收本帧其它各位数据。控制器将RXD上的数据逐位移入移位寄存器,当本帧(8位数据和停止位)全部移入后:(1)若RI=0,SM2=0,8位数据装入SBUF,停止位装入RB8,并置RI=1。(2)若RI=0,SM2=1,只有停止位为1才发生上述动作。(3)若RI=0,SM2=1,且停止位为0,接收数据丢失。(4)若RI=1,接收数据丢失。 方式1接收时序方式2及方式3 9位异步通信接口:
11、1帧信息由11位组成。串行口用于多机通信时必须使用方式2或方式3。方式2与方式3仅波特率不同: 方式2波特率固定(SMOD=0时为fosc/64, SMOD=1时为fosc/32)。 方式3波特率由定时器/计数器1或2的溢出 速率以及SMOD确定。发送CPU执行“写SBUF”指令,将并行数据送入SBUF,启动发送控制器,通过输出控制门从TXD上逐位输出1帧信号,信号的第九位数据由SCON中的TB8提供。1帧信号发送完毕,发送控制器置发送中断标志TI=1。方式2、3发送时序接收REN置1后,当跳变检测器采样到RXD引脚上的负跳变,就启动接收控制器接收数据。 如果起始位为0,则开始接收本帧其它各位
12、数据。控制器将RXD上的数据逐位移入移位寄存器,当本帧(9位数据和停止位)全部移入后: (1)若RI=1,接收数据丢失。 (2)若SM2=1且第九位数据为0,接收数据丢失 (3)其它情况下,8位数据装入SBUF,第九位数 据装入RB8,并置RI=1。方式2、3的接收时序7.2.3 7.2.3 多机通讯多机通讯TXDRXD80310#从机TXDRXD主机TXDRXD80311#从机TXDRXD8031n#从机多机通讯连接示意图 方式方式2 2、3 3与多机通信与多机通信串行口控制寄存器SCON中的SM2为多机通信接口控制位。串行口以方式2或3接收时,若SM2为1,则仅当接收到的第9位数据RB8为
13、1时,数据才装入SBUF,置位RI,请求CPU对数据进行处理;当SM2为0时,则接收到一个数据后,不管第9位数据RB8是0还是1,都将数据装入接收缓冲器SBUF并置位中断标志RI,请求CPU处理。 根据这个特性,实现主机与多个从机之间的通信。根据这个特性,实现主机与多个从机之间的通信。主机主机:主导通信。发送的信息有数据帧和地址帧。地址帧第九位数据TB8=1;数据帧第九位数据TB8=0。各从机各从机:通信前初始化SM2=1。通信: 在主机与某一(如01#)从机通信前,先发送该从机的地址(01H,TB8=1)。 各从机SM2=1,接收到的地址帧RB8=1,接收数据有效,置RI=1,向CPU提中断
14、。 各从机CPU响应中断后,通过软件判断主机送来的是不是本机地址。如果是(01#机),就使SM2=0;如果不是(除01#机外的所有从机),保持SM2=1。 接着主机发送数据帧(RB8=0),只有地址相符的从机(01#机)SM2=0,能接收;其它从机因SM2=1,数据将丢失。 这样,就实现了主机与指定从机间的一对这样,就实现了主机与指定从机间的一对一通信。一通信。返回本节目录32/1/2溢出速率计数器定时器SMOD方式0:固定为方式2: SMOD=0时为 SMOD=1时为方式1和方式3:64/oscf32/oscf12/oscf7.2.4 7.2.4 波特率计算波特率计算例:设串行口工作于方式例
15、:设串行口工作于方式3 3,SMOD=0SMOD=0,foscfosc=11.059MHz=11.059MHz,定时定时/ /计数器计数器1 1工作于定时器方式工作于定时器方式2(2(自动重装载方式自动重装载方式) ), ,TL1TL1、TH1TH1的初值为的初值为FDHFDH,试计算波特率。,试计算波特率。解:定时器/计数器1定时时间为 其溢出速率为 波特率为)10059.11/(12)253256(6TC4 .30719412)253256/(10059.11/16CT)/(960083.959932/4 .30719420秒位常用的波特率及计算器初值返回本节目录7.3 7.3 单片机串行
16、口的应用单片机串行口的应用一、 串行口方式0用作扩展并行I/O口 输出输出1 1个数据的相关程序个数据的相关程序 MOV SCON, #00H ;串行口方式0初始化 MOV A, #0FFH ;假设输出数据为FFH CLR P1.0 ;关闭并行输出 MOV SBUF, A ;开始串行输出 LOOP: JNB TI, LOOP ;等待串行输出完成 CLR TI ;清发送中断标志 SETB P1.0 ;启动并行输出 例例: :由串行接口发送带偶效验位的由串行接口发送带偶效验位的ASCIIASCII码数据块。码数据块。 设拟发送的是片内RAM30-3FH单元的ASCII码数据,单片机fosc=11.
17、059MHz,设置SMOD=0,定时器1工作于方式2,发送的波特率为9600位/秒,因此TL1、TH1的初值为FDH。 相应程序:相应程序: MOV TMOD,#20H ;定时器1设为方式2 MOV TL1,#0FDH ;定时器初值 MOV TH1,#0FDH ;8位重装值 MOV SCON,#40H ;串行口设为方式1 MOV R0 ,#30H ;发送数据区首址 MOV R7 ,#10H ;发送字节数 SETB TR1 ;启动定时器1 LOOP:MOV A,R0 ;取待发送字节 MOV C,P ;取奇偶标志 MOV A.7,C ;加偶效验位 MOV SBUF,A ;启动串行口发送 WAIT:
18、JNB TI ,WAIT ;等发送完毕 CLR TI ;清TI标志 INC R0 ;指向下一待发字节地址 DJNZ R7,LOOP ;如拟发字节数未发完, ;继续 RET 例:由串行接口接收带偶效验位的ASCII码数 据块。 设待接收的数据块共10个字节,接收后拟存储与片内RAM40-4FH单元;单片机晶振频率、SMOD位的值、波特率等均同上题。相应程序:相应程序: MOV TMOD,#20H ;定时器1设为方式2 MOV TL1, #0FDH ;定时器初值 MOV TH1, #0FDH ;8位重装值 MOV SCON,#50H ;串行口设为方式1 MOV R0 ,#40H ;发送数据区首址 MOV R7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甘肃省天水市清水县多校联考2025-2026学年高一上学期1月期末考试地理试卷(含答案)
- 2026届高三生物二轮复习课件:选择题强化练 4.遗传的基本规律与伴性遗传
- 化工企业冬季培训课件
- 钢结构绿色制造技术应用
- 飞机结构专业知识课件
- 2026安徽合肥工业大学管理学院管理学院医疗机器人与智慧医疗健康管理团队科研助理招聘3人备考考试试题及答案解析
- 2026新疆前海集团有限责任公司招聘1人备考考试试题及答案解析
- 2026年上半年黑龙江事业单位联考哈尔滨市招聘592人参考考试题库及答案解析
- 2026江苏苏州人才发展有限公司招聘2人(一)备考考试题库及答案解析
- 2026四川通发广进人力资源管理咨询有限公司AI数据标注员(第三批)招聘备考考试题库及答案解析
- 中学生冬季防溺水主题安全教育宣传活动
- 2026年药厂安全生产知识培训试题(达标题)
- 2026年陕西省森林资源管理局局属企业公开招聘工作人员备考题库及参考答案详解1套
- 承包团建烧烤合同范本
- 口腔种植牙科普
- 2025秋人教版七年级全一册信息科技期末测试卷(三套)
- 抢工补偿协议书
- 2026年广东省佛山市高三语文联合诊断性考试作文题及3篇范文:可以“重读”甚至“重构”这些过往
- 山东省青岛市城阳区2024-2025学年九年级上学期语文期末试卷(含答案)
- 安全生产考试点管理制度(3篇)
- 孕妇尿液捐献协议书
评论
0/150
提交评论