收藏 分享(赏)

【单片机课程设计】第09章 MCS-51单片机的串行接口2.ppt

上传人:鼎天工程图书馆 文档编号:20235724 上传时间:2023-12-08 格式:PPT 页数:26 大小:3.61MB
下载 相关 举报
【单片机课程设计】第09章 MCS-51单片机的串行接口2.ppt_第1页
第1页 / 共26页
【单片机课程设计】第09章 MCS-51单片机的串行接口2.ppt_第2页
第2页 / 共26页
【单片机课程设计】第09章 MCS-51单片机的串行接口2.ppt_第3页
第3页 / 共26页
【单片机课程设计】第09章 MCS-51单片机的串行接口2.ppt_第4页
第4页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、KMU FWJ第第 9 章章 MCS-51单片机的串行接口单片机的串行接口串行通信基础串行通信基础MCS-51MCS-51单片机的串行口单片机的串行口MCS-51MCS-51串行口的应用串行口的应用单片机的多机通信单片机的多机通信1 1KMU FWJ设备设备1 1计算机计算机A ACPUCPU网络设备网络设备A A.信息交换称为通信信息交换称为通信设备设备2 2计算机计算机B BI/OI/O设备设备网络设备网络设备B B.两个或多个实体之间两个或多个实体之间的信息交换称为通信。的信息交换称为通信。在计算机中在计算机中基本的通信方式可分为并行通信与串行通信两种基本的通信方式可分为并行通信与串行通

2、信两种并行传输并行传输串行传输串行传输9.1 串行通信基础串行通信基础2 2KMU FWJ9.13 3KMU FWJ4 4KMU FWJ5 5KMU FWJ6 6KMU FWJ1 异步接收异步接收/发送器(发送器(UART)具有异步通信功能的串行接口硬件,称之为异步接收具有异步通信功能的串行接口硬件,称之为异步接收/发送器,发送器,简称为简称为UART(Universal Asynchronous Receiver Transmitter)。)。2 串行通信的制式串行通信的制式1)单工()单工(Simplex)方式:)方式:单向传输单向传输2)半双工()半双工(Half Duplex):):分

3、时双向传输分时双向传输3)全双工()全双工(Full Duplex)方式:)方式:同时时双向传输同时时双向传输串行通信的制式串行通信的制式7 7KMU FWJ调制与解调调制与解调9.1.3 串行通信中的调制解调器串行通信中的调制解调器可远距离传输可远距离传输无法进行远距离传输无法进行远距离传输8 8KMU FWJ各种调制方法各种调制方法9 9MCS-51内部有一个的可编程全双工串行通信接口,具有内部有一个的可编程全双工串行通信接口,具有UART的全部功能。的全部功能。9.2 MCS-51单片机的串行口单片机的串行口9.2.1 串行口的结构串行口的结构1 发送和接收电路发送和接收电路1010KM

4、U FWJ2 串行口控制寄存器串行口控制寄存器 SCON 和和PCON串行口控制寄存器串行口控制寄存器SCON .SM0、SM1:为串行口方式选择位,用于控制串行口的工作方式。为串行口方式选择位,用于控制串行口的工作方式。0 0 方式方式0:8位移位寄存器位移位寄存器I/O,波特率固定为,波特率固定为 fosc/12 0 1 方式方式1:8位位UART(1+8+1位位),波特率可变波特率可变,按公式计算按公式计算 1 0 方式方式2:9位位UART(1+8+1+1位位),波特率固定,波特率固定=fosc/32或或fosc/64 1 1 方式方式3:9位位UART(1+8+1+1位位),波特率可

5、变,按公式计算,波特率可变,按公式计算SM0 SM11111KMU FWJ.SM2:允许方式允许方式2和方式和方式3进行多机通信控制位。进行多机通信控制位。在方式在方式0或方式或方式1下,下,SM2不用,应设置为不用,应设置为0。在方式在方式2或方式或方式3下,下,若若SM2=0,串行口以单机发送或接收方式工作,串行口以单机发送或接收方式工作,TI和和RI以正常方式被以正常方式被激活,但不会引起中断请求;激活,但不会引起中断请求;若若SM2=1,接收到第,接收到第9位数据位数据(RB8)为为1时激活时激活RI,并向,并向CPU请求中断。请求中断。.REN:允许串行接收控制位。允许串行接收控制位

6、。REN=0,禁止接收;,禁止接收;REN=1,允许接收。,允许接收。.TB8:是工作在方式是工作在方式2和方式和方式3时要发送数据的第时要发送数据的第9位。位。.RB8:是工作在方式是工作在方式2和方式和方式3时,接收到的第时,接收到的第9位数据位数据.TI:发送结束中断标志位,用于指示一帧数据发送完否发送结束中断标志位,用于指示一帧数据发送完否,CPU置位,用置位,用户复位。户复位。.RI:接收中断标志位,用于指示一帧信息是否接收完。接收中断标志位,用于指示一帧信息是否接收完。CPU置位,用户复置位,用户复位。位。1212KMU FWJ电源控制寄存器电源控制寄存器PCON.SMOD:串行口

7、波特系数控制位。在方式串行口波特系数控制位。在方式1、2和和3时下,当时下,当SMOD=1时,通时,通信波特率可以提高一倍。信波特率可以提高一倍。GF1,GF0:用户可自行定义使用的通用标志位用户可自行定义使用的通用标志位PD:掉电控制位掉电控制位 0:常规方式;:常规方式;1:掉电方式。:掉电方式。振荡器停振;片内振荡器停振;片内RAM和和SRF不变;程序停止;只有复位能退出掉电状态。不变;程序停止;只有复位能退出掉电状态。IDL:待机控制位待机控制位 0:常规方式;:常规方式;1:待机方式。:待机方式。振荡器继续振荡;中断,定时器,串口有效;片内振荡器继续振荡;中断,定时器,串口有效;片内

8、RAM和和SRF不变;程序不变;程序停顿。停顿。中断或复位能退出待机,继续执行程序。中断或复位能退出待机,继续执行程序。1313KMU FWJ9.2.2 串行口的工作方式串行口的工作方式1 方式方式0(SM1=SM0=0)8位移位寄存器位移位寄存器I/O接收:接收:串行数据由串行数据由RXDRXD逐位移入逐位移入SBUFSBUF中中,高位高位先进先进;TXDTXD输出移位时钟,频率输出移位时钟,频率=fosc/12=fosc/12;每接收每接收 8 8位数据位数据RIRI就自动置就自动置1 1;需要用户复位需要用户复位RI。编程:编程:JNB RIJNB RI,$CLR RI CLR RI M

9、OV A,SBUFMOV A,SBUF接收前接收前,务必先置位务必先置位 REN=1 REN=1 允许接收数据。允许接收数据。发送:发送:SBUFSBUF中的串行数据由中的串行数据由RXDRXD逐位移出;逐位移出;TXDTXD输出移位时钟,频率输出移位时钟,频率=fosc/12=fosc/12;每送出每送出8 8位数据位数据 TITI就自动置就自动置1 1;需要用户复位;需要用户复位TITI。编程:编程:MOV SBUFMOV SBUF,A A JNB TI JNB TI,$CLR TI CLR TI1414KMU FWJ2 方式方式1(SM0=0,SM1=1)8位异步通信接口位异步通信接口接

10、收:接收:置置REN=1REN=1,RI=0RI=0。接收到停止位为。接收到停止位为1 1后,把接收到的后,把接收到的8 8位位字符存入字符存入SBUFSBUF中,把停止位送入中,把停止位送入RB8RB8中,并使中,并使RI=1RI=1。接收中断标志接收中断标志RIRI必须由用户清零。必须由用户清零。1位起始位,位起始位,8位数据位,位数据位,1位停止位。位停止位。波特率可变。波特率可变。发送:发送:波特率由定时器波特率由定时器T1T1控制,发送完一帧信息后,发送中断控制,发送完一帧信息后,发送中断标志标志TITI由硬件在发送停止位时置位。由硬件在发送停止位时置位。发送中断标志发送中断标志TI

11、TI必须由用户清零。必须由用户清零。1515KMU FWJ3 方式方式2和方式和方式3 9位异步通信接口位异步通信接口接收:接收:第第9 9位有效数据位存放在位有效数据位存放在SCONSCON中的中的RB8RB8中。满足接收中。满足接收有效字符的条件为:有效字符的条件为:RI=0RI=01位起始位,位起始位,9位数据位,位数据位,1位停止位。位停止位。波特率可变。波特率可变。发送:发送:第第9 9位有效数据位存放在位有效数据位存放在SCONSCON中的中的TB8TB8中,执行中,执行MOV MOV SBUF,ASBUF,A指令启动发送前,应把第指令启动发送前,应把第9 9数据位预先装入数据位预

12、先装入SCONSCON的的TB8TB8中。中。第第9 9数据位装入指令:数据位装入指令:SETB TB8SETB TB8;TB8=1TB8=1 CLR TB8 CLR TB8;TB8=0TB8=01616KMU FWJ串行口的通信波特率反映了串行传输数据的速率。串行口的通信波特率反映了串行传输数据的速率。收发双收发双收发双收发双方的波特率必须一致方的波特率必须一致方的波特率必须一致方的波特率必须一致。MCS51单片机串行口有单片机串行口有4种工作方式,方式种工作方式,方式0和方式和方式2的的波特率固定不变,方式波特率固定不变,方式1和方式和方式3的波特率可以变化,由定时器的波特率可以变化,由定

13、时器T1的溢出率决定。的溢出率决定。1 1方式方式0 0的波特率的波特率方式方式0 0的波特率固定不变,为振荡频率的的波特率固定不变,为振荡频率的1/121/12。方式方式0 0的波特率的波特率fosc/12fosc/12不受不受PCONPCON寄存器中寄存器中SMODSMOD的影响。的影响。2 2方式方式2 2的波特率的波特率工作方式工作方式2 2,波特率与,波特率与PCONPCON寄存器中的寄存器中的SMODSMOD位的值有关。位的值有关。SMOD=0 fosc/64SMOD=1 fosc/329.2.3 串行口的通信波特率串行口的通信波特率1717KMU FWJ3 3 方式方式1 1或方

14、式或方式3 3的波特率的波特率这两种方式下,波特率由定时器这两种方式下,波特率由定时器T1的溢出率和的溢出率和SMOD决定。决定。当给出波特率后,当给出波特率后,T1T1定时工作时的初始值计算公式为:定时工作时的初始值计算公式为:定时器定时器T1T1作波特率发生器时,作波特率发生器时,T1T1的溢出率为:的溢出率为:n n由定时器由定时器T1T1的工作方式决定:的工作方式决定:方式方式0 0:n=13n=13;方式;方式1 1:n=16n=16;方式;方式2 2:n=8n=8;通常使用方式通常使用方式2 21818KMU FWJ串行口串行口工作方式工作方式波特率波特率(b/s)Fosc(MHz

15、)SMOD定时器定时器T1G/T方式方式时间常数时间常数方式方式0100000012方式方式2375000121方式方式1、362500121020FFH1920011.05921020FDH960011.05920020FDH480011.05920020FAH240011.05920020F4H120011.05920020E8H137.511.9860021DH110600227H110120010FEEBH 常用的波特率表常用的波特率表1919KMU FWJ9.3 MCS-51串行口的应用串行口的应用9.3.1 串行口在方式串行口在方式0下的应用下的应用方式方式0下的下的MCS-51的

16、串行口,是一个移位寄存器,可实现并行的串行口,是一个移位寄存器,可实现并行输入串行输出和串行输入并行输出的转换。常用于输入串行输出和串行输入并行输出的转换。常用于I/O接口的扩接口的扩展。展。【例例9-5】利用串行口扩展一个利用串行口扩展一个6位位LED静态显示器。静态显示器。2020KMU FWJORG1000HDispBufEQU40HDISP:MOVSCON,#00H;设置串行口为工作方式;设置串行口为工作方式0MOVR2,#06H;设置循环次数;设置循环次数MOVR0,#DispBuf+5;设置指针指向最后一个数;设置指针指向最后一个数MOVDPTR,#TAB;DPTR指向字形表首址指

17、向字形表首址LOOP0:MOVA,R0;取显示数;取显示数MOVCA,A+DPTR;查表得到字形码;查表得到字形码MOVSBUF,A;送到串行口;送到串行口WAIT:JNBTI,WAIT;等待发送结束;等待发送结束CLRTI;清除发送结束标志;清除发送结束标志DECR0;调整指针;调整指针DJNZR2,LOOP0;是否显示完了,未完继续;是否显示完了,未完继续RET;子程序返回;子程序返回TABDB 0C0H,0F9H,0A4H;字形表;字形表 03DB 0B0H,99H,92H;46 DB 82H,0F8H,80H,90H;79 END程序设计:程序设计:假设:欲显示的假设:欲显示的6 6位

18、数字位数字(0(09)9)顺序存放在内部顺序存放在内部RAM RAM 40H40H开始的单元中,编写一个子程序开始的单元中,编写一个子程序DISPDISP完成完成6 6位数字的显示。位数字的显示。2121KMU FWJ9.3.2 串行口在其他方式下的应用串行口在其他方式下的应用【例例9-6】甲乙两台甲乙两台8031单片机进行串行通信。设甲乙两机的晶振频率均为单片机进行串行通信。设甲乙两机的晶振频率均为12MHz。(。(1)确定串行口在方式)确定串行口在方式2下,可用的波特率;(下,可用的波特率;(2)在方式)在方式2下,采下,采用查询控制方式,将甲机片内用查询控制方式,将甲机片内RAM40H5

19、FH单元的数据,串行发送到乙机片单元的数据,串行发送到乙机片内内RAM607FH单元中。单元中。解:解:fosc=12MHz,MCS-51的串行口在方式的串行口在方式2下,波特率有两种:下,波特率有两种:波特率波特率1=fosc/32=12MHz/32=375000bps(SMOD=1););波特率波特率2=fosc/64=12MHz/64=187500bps(SMOD=0););TxDTxDRxDRxDTxDTxDRxDRxDGNDGNDGNDGND甲机甲机乙机乙机硬件连接硬件连接2222KMU FWJ程序流程图程序流程图2323KMU FWJORG1000H TX:MOV SCON,#80

20、H ;设定工作方式;设定工作方式2 MOV PCON,#00H;SMOD=0CLREA;关;关CPU中断中断 MOV R0,#40H ;设发送数据的地址指针;设发送数据的地址指针 MOV R2,#20H ;设发送数据的长度;设发送数据的长度 LOOP:MOV A,R0 ;取发送数据送;取发送数据送A CLRTI;清;清TI MOV SBUF,A ;启动发送;启动发送 WAIT:JNB TI,WAIT ;判发送中断标志;判发送中断标志 INC R0;数据块指针加;数据块指针加1 DJNZ R2,LOOP;数据块未发送完,转到数据块未发送完,转到LOOP继续发送继续发送 SJMP$;停止发送;停止

21、发送 甲机发送程序:甲机发送程序:2424KMU FWJORG2000H TX:MOV SCON,#80H;设定工作方式;设定工作方式2 MOV PCON,#00H;SMOD=0CLREA;关;关CPU中断中断 MOV R0,#60H;设接收数据的地址指针;设接收数据的地址指针 MOV R2,#20H;设接收数据的长度;设接收数据的长度 LOOP:CLRRI;清;清RI JNB RI,$;等待接收数据;等待接收数据 MOV A,SBUF ;读入一帧数据;读入一帧数据 WAIT:MOV R0,A;保存接收数据;保存接收数据 INC R0;数据块指针加;数据块指针加1 DJNZR2,LOOP;数据块未接收完,转到数据块未接收完,转到LOOP继续接收继续接收 SJMP$;停止接收;停止接收 乙机接收程序:乙机接收程序:2525KMU FWJ2626

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 材料科学

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报