




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MCS51单片机串行接口及其应用MCS51单片机串行接口及其应用MCS51单片机串行接口及其应用MCS51单片机串行接口及其应用 在传送大量数据时,为了提高传送信息的效率,采用一在传送大量数据时,为了提高传送信息的效率,采用一个数据块共用一个同步字作为起始位的格式,叫同步通信方个数据块共用一个同步字作为起始位的格式,叫同步通信方式式 用发、收双方规定的同步字来作为数据块的开始和结束用发、收双方规定的同步字来作为数据块的开始和结束MCS51单片机串行接口及其应用MCS51单片机串行接口及其应用包括物理上独立的发送缓冲器、接收缓冲器包括物理上独立的发送缓冲器、接收缓冲器发送缓冲器:只能写入不能读出
2、发送缓冲器:只能写入不能读出接收缓冲器:只能读出不能写入接收缓冲器:只能读出不能写入二者共用一个地址二者共用一个地址99H字节地址为字节地址为98H,可位寻址,位地址为,可位寻址,位地址为98H9FHMCS51单片机串行接口及其应用(1)SM0、SM1:串行口工作方式选择位。:串行口工作方式选择位。MCS51单片机串行接口及其应用(2 2)SM2 SM2 多机通信控制位多机通信控制位 用于方式用于方式2 2或方式或方式3 3中。中。 如果如果SM2=1,只有当接收到的第只有当接收到的第9位数据(位数据(RB8)为)为“1”时,才将接收到的前时,才将接收到的前8位数据送入位数据送入SBUF,并置
3、并置“1” RI,产生,产生中断请求;当接收到的第中断请求;当接收到的第9位数据(位数据(RB8)为)为“0”时,则将接时,则将接收到的前收到的前8位数据丢弃。位数据丢弃。 如果如果SM2=0,则不论第,则不论第9位数据是位数据是“1”还是还是“0”,都将,都将前前8位数据送入位数据送入SBUF中,并置中,并置“1” RI,产生中断请求。,产生中断请求。MCS51单片机串行接口及其应用由软件置由软件置“1”时,允许接收。时,允许接收。置置“0”时,禁止接收时,禁止接收发送的第发送的第9 9位数据位数据方式方式2 2和和3 3时,时,TB8TB8是要发送的第是要发送的第9 9位数据,可作为位数据
4、,可作为奇偶奇偶校验位校验位使用,也可作为使用,也可作为地址帧地址帧或或数据帧数据帧的标志。的标志。 =1=1为地址帧为地址帧, , =0=0为数据帧为数据帧MCS51单片机串行接口及其应用在方式在方式2和方式和方式3中要接收的第中要接收的第9位数据,在方式位数据,在方式1时,时,如如SM2=0,RB8是接收到的停止位。在方式是接收到的停止位。在方式0中,中,不使用不使用RB8发送中断标志发送中断标志。在方式。在方式0串行发送第串行发送第8位结束时由硬件置位结束时由硬件置“1”,或在其他方式中串行发送停止位的开始时置,或在其他方式中串行发送停止位的开始时置“1”,必须由软件清必须由软件清“0”
5、接收中断标志。接收中断标志。在方式在方式0串行接收第串行接收第8位结束时由硬件位结束时由硬件置置“1”,或在其他方式中串行接收停止位的开始时置,或在其他方式中串行接收停止位的开始时置“1”,必须由软件清,必须由软件清“0”MCS51单片机串行接口及其应用 同步移位寄存器输入同步移位寄存器输入/ /输出方式输出方式,常用于外接移位寄存,常用于外接移位寄存器,以扩展并行器,以扩展并行I/OI/O口。口。 8 8位数据为一帧,不设起始位和停止位,先发送或接收位数据为一帧,不设起始位和停止位,先发送或接收最低位。最低位。 MCS51单片机串行接口及其应用 一个数据写入一个数据写入SBUF,串口将数据从
6、,串口将数据从RXD输出(波特率输出(波特率fosc/12),),TXD输出同步移位信号,发送完输出同步移位信号,发送完TI置置1图图5-12 方式方式0扩展扩展I/O口硬件逻辑图口硬件逻辑图MCS51单片机串行接口及其应用 REN置置1,串口将数据从,串口将数据从RXD输入(波特率输入(波特率fosc/12),),TXD输出同步移位信号,发送完输出同步移位信号,发送完RI置置1图图5-12 方式方式0扩展扩展I/O口硬件逻辑图口硬件逻辑图MCS51单片机串行接口及其应用波特率可变的波特率可变的8位异步通信接口方式。位异步通信接口方式。CPU 执行一条写执行一条写SBUF指令,就启动了串口发送
7、指令,就启动了串口发送 允许接收位允许接收位REN被置被置“1”后,接收器就开始工作,跳后,接收器就开始工作,跳变检测器以波特率变检测器以波特率16倍的速率采样倍的速率采样RXD端的电平,端的电平,RXD引引脚上发生由脚上发生由“1”到到“0”的跳变,接收器开始接收。的跳变,接收器开始接收。MCS51单片机串行接口及其应用9位异步通信接口方式。传送一帧数据信息为位异步通信接口方式。传送一帧数据信息为11位位波特率波特率=2SMOD/64fosc 数据由数据由TXD端输出,附加的第端输出,附加的第9位数据由位数据由SCON中的中的TB8提供。提供。 CPU 执行一条写执行一条写SBUF指令,就启
8、动了串口发指令,就启动了串口发送,发送完送,发送完TI置置1 与方式与方式1相似,相似,REN被置被置“1”后,跳变检测器以波特率后,跳变检测器以波特率16倍的速率采样倍的速率采样RXD端的电平,端的电平,RXD引脚上发生由引脚上发生由“1”到到“0”的跳变,接收器开始接收。的跳变,接收器开始接收。MCS51单片机串行接口及其应用9位异步通信接口方式。传送一帧数据信息为位异步通信接口方式。传送一帧数据信息为11位位波特率波特率= 2SMOD/32T1的溢出率的溢出率 数据由数据由TXD端输出,附加的第端输出,附加的第9位数据由位数据由SCON中的中的TB8提供。提供。 CPU 执行一条写执行一
9、条写SBUF指令,就启动了串口发指令,就启动了串口发送,发送完送,发送完TI置置1 与方式与方式1相似,相似,REN被置被置“1”后,跳变检测器以波特后,跳变检测器以波特率率16倍的速率采样倍的速率采样RXD端的电平,端的电平,RXD引脚上发生由引脚上发生由“1”到到“0”的跳变,接收器开始接收。的跳变,接收器开始接收。MCS51单片机串行接口及其应用MCS51单片机串行接口及其应用T1的溢出率的溢出率=计数速度计数速度/(2K-初值)初值)K为定时器为定时器T1的位数的位数K=13(方式(方式0) K=16(方式(方式1) K=8(方式(方式2、3)T1的溢出率的溢出率=fosc/ 12(2
10、K-初值)初值)波特率波特率=2SMOD/32T1的溢出率的溢出率= 2SMOD fosc/ 32 12(2K-初值)初值)MCS51单片机串行接口及其应用(1)利用方式0扩展并行I/O口 例:利用51单片机的串行口外接74LS164扩展8位并行输出口。电路图如下图所示,8位并行输出口的各位分别接一个发光二极管,要求发光二极管按从左到右的顺序,以一定的时间间隔依次循环发光,试编程实现。 CLR74LS164P1.0TXDRXD51单片机AP3.0P3.1BCLKGND5.4.4 5.4.4 串行口的应用串行口的应用MCS51单片机串行接口及其应用参考程序如下:ORG 0000H LJMP MA
11、INORG 2000HMAIN: CLR P1.0 MOV SCON,#00H SETB P1.0 MOV A,#80HBACK1: MOV SBUF,ABACK2: JNB TI,BACK2 CLR TI LCALL DELAY RR A SJMP BACK1MCS51单片机串行接口及其应用C51参考程序如下:#include “reg51.h”Sbit P1_0 =P10;/void delay(void)Void main()Unsigned char led;P1_0=0;SCON=0;P1_0=1;Led=0 x80;While(1)SBUF=led;While(!TI)TI=0;d
12、elay();led=led1;If(led=0)Led=0 x80;Return;MCS51单片机串行接口及其应用 利用51单片机的串行口外接74ls165扩展8位并行输入口,如图所示要求通过8位输入口读入一个字节数据存入R2中S/LP1.0TXDRXD51单片机P3.0P3.1QCLKGND74LS165D0D7 MCS51单片机串行接口及其应用汇编语言源程序:ORG 0000H;LJMP MAIN;ORG 2000H;MAIN: CLR P1.0; SETB P1.0;BACK: MOV SCON,#10H;BACK1:JNB RI,BACK1; CLR RI; MOV A,SBUF;
13、MOV R2,A; SJMP $;C51参考程序:#include “reg51.h”Sbit P1_0=P10;Void main()Volatile unsigned char led;P1_0=0;P1_0=1;SCON=0 x10;While(!RI)RI=0;led=SBUF;While(1);Return;MCS51单片机串行接口及其应用(2)利用方式1实现点对点的异步通信 例:编程将甲机片内RAM 50H5FH单元中的数据向乙机发送,在发送之前将数据块长度N发送给乙机,当发送完N个字节后,再发送一个累加效验和。乙机接收数据进行累加和校验,如果和发送方的累加和一致,发送数据“00”
14、,表示接收正确,如果不一致,发数据FFH,甲机再重发,乙机接收的数据存入片内70H7FH单元中。设波特率为2400,fosc=6MHz,试编程实现。 参考程序如下: MCS51单片机串行接口及其应用甲机发送程序甲机发送程序TRT:MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H SETB TR1 MOV SCON,#50HRPT:MOV R0,#50H MOV R2,#10H MOV R3,#00H MOV SBUF,R2BACK1:JNB TI,BACK 1 CLR TIBACK2:MOV A,R0 MOV SBUF,A ADD A,R3 MOV R3,A
15、INC R0BACK3:JNB TI,BACK 3 CLR TI DJNZ R2,BACK 2 MOV SBUF,R3 MOV R3,#0BACK4:JNB TI,BACK4 CLR TIBACK5:JNB RI,BACK5 CLR RI MOV A,SBUF JNZ RPT RETMCS51单片机串行接口及其应用乙机接收程序乙机接收程序RSU:MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H SETB TR1 MOV SCON,#50HBACK:MOV R0,#70HBACK1:JNB RI,BACK1 CLR RI MOV A,SBUF MOV R2,A
16、MOV R3,#00HBACK2:JNB RI,BACK2 CLR RI MOV A,SBUF MOV R0,A INC R0 ADD A,R3 MOV R3,A DJNZ R2,BACK 2BACK3:JNB RI,BACK3 CLR RI MOV A,SBUF XRL A,R3 MOV R3,#00H JZ BACK5 MOV SBUF,#0FFHBACK4:JNB TI,BACK4 CLR TI AJMP BACKBACK5:MOV SBUF,#00HBACK6:JNB TI,BACK6 CLR TI RETMCS51单片机串行接口及其应用甲机发送甲机发送C51C51参考程序:参考程序:
17、#include “reg51.h”Void main()Volatile unsigned char rev;Unsigned char *pt,chk,len;TMOD=0 x20;TH1=0 xF3;TL1=0 xF3;TR1=1;SCON=0 x50;DoPt=0 x50;Len=0 x10;Chk=0;SBUF=len;While(!TI)TI=0;DoSBUF=*pt;Chk=chk+*pt;Pt+;While(!TI)TI=0;Len-;while(len0);SBUF=chk;While(!TI)TI=0;While(!RI)RI=0;Rev=SBUF;while(rev!=0
18、);Return;MCS51单片机串行接口及其应用乙机接收乙机接收C51C51参考程序:参考程序:#include “reg51.h”Void main()Volatile unsigned char rev;Unsigned char *pt,chk,len;Bit stat;TMOD=0 x20;TH1=0 xF3;TL1=0 xF3;TR1=1;SCON=0 x50;Do pt=0 x70; while(!RI) RI=0; Rev=SBUF; Len=rev; Chk=0; do While(!RI)RI=0;Rev=SBUF;*pt=rev;Pt+;Chk=chk+rev;Len-;
19、while(len0);While(!RI)RI=0;Rev=SBUF;If (Rev=chk)SBUF=0;ElseSBUF=0 xff;While(!TI)TI=0;while(rev!=chk);Return;MCS51单片机串行接口及其应用(3)利用方式2、方式3与多机通信 串行口控制寄存器SCON中的SM2位为方式2、方式3的多机通讯控制位。在多机通讯中起着非常重要的作用。一个典型的多机通讯系统硬件连接如下图所示。TXDRXD主机RXD TXD1号从机TXD2号从机TXDN号从机RXDRXDMCS51单片机串行接口及其应用 当串行口以方式2、方式3发送时,数据的第9位是可编程位,即可以通过程序改变TB8的状态,以区分当前所发送的是地址还是数据,TB8=1时发送地址,TB8=0时发送数据。 发送方发送的第9位TB8,将被接收方的第9位,即RB8所接收。接收时,如果接收方的SM2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 聘请作家合同范本
- 医院携手合作合同范本
- 新疆第二师铁门关市2024-2025学年六年级下学期模拟数学试题含解析
- 川南幼儿师范高等专科学校《现代英语教学技术基础》2023-2024学年第二学期期末试卷
- 2025届浙江省温州市第五十一中高三下学期开学检测试题(线上)生物试题含解析
- 湖南省郴州市湘南中学2025届高考押题卷(1)物理试题试卷含解析
- 浙江省金华市义乌市2025年初三第二轮复习测试卷英语试题(二)含答案
- 柳州工学院《AutoCAD》2023-2024学年第二学期期末试卷
- 哈尔滨职业技术学院《智能汽车概论》2023-2024学年第二学期期末试卷
- 2024-2025学年贵州省黔南州都匀第一中学高三5月复习适应性检测试题历史试题试卷含解析
- 建筑公司劳动防护用品管理制度
- 医院药品采购制度及流程
- 宿舍管理考试试题及答案
- 2025年郑州铁路职业技术学院单招职业适应性考试题库附答案
- 《审计风险防范与控制的案例分析-以康得新为例》10000字
- 2025福建德化闽投抽水蓄能有限公司招聘15人笔试参考题库附带答案详解
- 【参考】2016扣字排行榜
- 2025年二级注册计量师专业实务真题
- 基于改进YOLOv5的交通标志检测与识别
- 书店接待礼仪培训
- 骨折病人的中医饮食护理
评论
0/150
提交评论