C51系列单片机有一个全双工的串行口.ppt
《C51系列单片机有一个全双工的串行口.ppt》由会员分享,可在线阅读,更多相关《C51系列单片机有一个全双工的串行口.ppt(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 80C5180C51系系列列单单片片机机有有一一个个全全双双工工的的串串行行口口,这这个个口口既既可可以以用用于于网网络络通通信信,也也可可以以实实现现串串行行异异步步通通信信,还还可可以以作作为为同同步步移移位位寄寄存存器使用。器使用。6-2 80C516-2 80C51串行口串行口一、串行口特殊功能寄存器一、串行口特殊功能寄存器1 1、串行数据缓冲器串行数据缓冲器SBUFSBUF在在逻辑上逻辑上只有一个只有一个,既表示发送寄存器,又表示接收寄存器,具有同一,既表示发送寄存器,又表示接收寄存器,具有同一个单元地址个单元地址99H99H,用,用同一寄存器名同一寄存器名SBUFSBUF。在在物
2、理上有两个物理上有两个,一个是发送缓冲寄存器,另一个是接收缓冲寄存,一个是发送缓冲寄存器,另一个是接收缓冲寄存器。器。发发送送时时,只只需需将将发发送送数数据据输输入入SBUFSBUF,CPUCPU将将自自动动启启动动和和完完成成串串行行数数据据的的发发送;送;接接收收时时,CPUCPU将将自自动动把把接接收收到到的的数数据据存存入入SBUFSBUF,用用户户只只需需从从SBUFSBUF中中读读出出接接收数据收数据。2 2、串行控制寄存器串行控制寄存器SCONSCON3 3、电源控制寄存器电源控制寄存器PCONPCONSCONSCOND7D7D6D6D5D5D4D4D3D3D2D2D1D1D0
3、D0位名称位名称SM0SM0SM1SM1SM2SM2RENRENTB8TB8RB8RB8TITIRIRI位地址位地址9FH9FH9EH9EH9DH9DH9CH9CH9BH9BH9AH9AH99H99H98H98H功能功能工作方式工作方式选择选择多机通信多机通信控制控制接收接收 允许允许发送发送 第第9 9位位接收接收 第第9 9位位发送发送 中断中断接收接收 中断中断1)1)SM0 SM1SM0 SM1 串行口工作方式选择位。串行口工作方式选择位。2)2)SM2SM2 多机通信控制位。多机通信控制位。3)3)RENREN 允许接收控制位。允许接收控制位。REN=1REN=1,允许接收。,允许接
4、收。4)4)TB8TB8 方式方式2 2和方式和方式3 3中要发送的第中要发送的第9 9位数据。位数据。5)5)RB8RB8 方式方式2 2和方式和方式3 3中要接收的第中要接收的第9 9位数据。位数据。6)6)TITI 发送中断标志。发送中断标志。7)7)RIRI 接收中断标志。接收中断标志。PCONPCOND7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0位名称位名称SMODSMODGF1GF1GF0GF0PDPDIDLIDLSMOD=1SMOD=1,串行口波特率加倍。串行口波特率加倍。PCONPCON寄存器不能进行位寻址。寄存器不能进行位寻址。二、二、串行工作方式串行工作方
5、式 80C5180C51串行通信共有串行通信共有4 4种工作方式,由串行控制寄存器种工作方式,由串行控制寄存器SCONSCON中中SM0 SM1SM0 SM1决定。决定。1 1、串行工作方式、串行工作方式0 0(同步移位寄存器工作方式)(同步移位寄存器工作方式)以以RXDRXD(P3.0P3.0)端作为数据移位的输入)端作为数据移位的输入/输出端,输出端,以以TXDTXD(P3.1P3.1)端输出移位脉冲。)端输出移位脉冲。移位数据的发送和接收以移位数据的发送和接收以8 8位为一帧,不设起始位和停止位,无论输入位为一帧,不设起始位和停止位,无论输入/输出,输出,均低位在前高位在后。均低位在前高
6、位在后。其帧格式为:其帧格式为:D0D0D1D1D2D2D3D3D4D4D5D5D6D6D7D7 方式方式0 0可将串行输入输出数据转换成并行输入输出数据。可将串行输入输出数据转换成并行输入输出数据。数据发送数据发送 在移位时钟脉冲(在移位时钟脉冲(TXDTXD)的控制下,数据从串行口)的控制下,数据从串行口RXDRXD端逐位移入端逐位移入74HC164 SA74HC164 SA、SBSB端。当端。当8 8位数据全部移出后,位数据全部移出后,SCONSCON寄存器的寄存器的TITI位被自位被自动置动置1 1。其后。其后74HC16474HC164的内容即可并行输出。的内容即可并行输出。74HC
7、164 CLR74HC164 CLR为清为清0 0端,输端,输出时出时CLRCLR必须为必须为1 1,否则,否则74HC164 Q074HC164 Q0Q7Q7输出为输出为0 0。串串行行口口作作为为并并行行输输出出口口使使用用时时,要要有有“串串入入并并出出”移移位位寄寄存存器配合。器配合。(2)(2)数据接收数据接收 串串行行口口作作为为并并行行输输入入口口使使用用时时,要要有有“并并入入串串出出”的移位寄存器配合。的移位寄存器配合。74HC165 74HC165 S/LS/L端端为为移移位位/置置入入端端,当当S/L=0S/L=0时时,从从Q0Q0Q7Q7并并行行置置入入数数据据,当当S
8、/L=1S/L=1时时,允允许许从从Q QH H端端移移出出数数据据。在在80C5180C51串串行行控控制制寄寄存存器器SCONSCON中中的的REN=1REN=1时时,TXDTXD端端发发出出移移位位时时钟钟脉脉冲冲,从从RXDRXD端端串串行行输输入入8 8位位数数据据。当当接接收收到到第第8 8位位数数据据D7D7后,置位中断标志后,置位中断标志RIRI,表示一帧数据接收完成。,表示一帧数据接收完成。波特率波特率方式方式0 0 波特率固定,为单片机晶振频率的十二分之一。波特率固定,为单片机晶振频率的十二分之一。应用举例应用举例【例【例6-16-1】电路如图所示,试编制程序按下列顺序要求
9、每隔】电路如图所示,试编制程序按下列顺序要求每隔0.50.5秒循环操作。秒循环操作。1)8个发光二极管全部点亮;个发光二极管全部点亮;2)从左向右依次暗灭,每次减少一个,直至全灭;从左向右依次暗灭,每次减少一个,直至全灭;3)从左向右依次点亮,从左向右依次点亮,每次亮一个;每次亮一个;4)从右向左依次点亮,从右向左依次点亮,每次亮一个;每次亮一个;5)从左向右依次点亮,从左向右依次点亮,每次增加一个,每次增加一个,直至全直至全部点亮;部点亮;6)返回从返回从2)不断循环)不断循环解:编程如下:解:编程如下:LIGHT:MOV SCON,#00H LIGHT:MOV SCON,#00H ;串行口
10、方式串行口方式0 0 CLR ES CLR ES ;禁止串行中断禁止串行中断 MOV DPTR,#TAB MOV DPTR,#TAB ;置发光二极管亮暗控制字表首址置发光二极管亮暗控制字表首址LP1:MOV R7,#0 LP1:MOV R7,#0 ;置顺序编号置顺序编号0 0LP2:MOV A,R7 LP2:MOV A,R7 ;读顺序编号读顺序编号 MOVC A,A+DPTR MOVC A,A+DPTR ;读控制字读控制字 CLR P1.0 CLR P1.0 ;关闭并行输出关闭并行输出 MOV SBUF,A MOV SBUF,A ;启动串行发送启动串行发送 JNB TI,$JNB TI,$;等
11、待发送完毕等待发送完毕 CLR TI CLR TI ;清发送中断标志清发送中断标志 SETB P1.0 SETB P1.0 ;开启并行输出开启并行输出 LCALL DLY500ms LCALL DLY500ms ;调用延时调用延时0.50.5秒子程序秒子程序(参阅例参阅例4-13)4-13)INC R7 INC R7 ;指向下一控制字指向下一控制字 CJNE R7,#30,LP2 CJNE R7,#30,LP2;判循环操作完否判循环操作完否?未完继续未完继续 SJMP LP1 SJMP LP1 ;顺序编号顺序编号0 02929依次操作完毕依次操作完毕,从从0 0开始重新循环开始重新循环TAB:
12、TAB:DB 0FFH,7FH,3FH,1FH,0FH,07H,03H,01H,00HDB 0FFH,7FH,3FH,1FH,0FH,07H,03H,01H,00H;从左向右依次暗灭从左向右依次暗灭,每次减少一个每次减少一个,直至全灭直至全灭;DB 80H,40H,20H,10H,08H,04H,02H,01H DB 80H,40H,20H,10H,08H,04H,02H,01H;从左向右依次点亮从左向右依次点亮,每次亮一个每次亮一个 DB 02H,04H,08H,10H,20H,40H,80H DB 02H,04H,08H,10H,20H,40H,80H;从右向左依次点亮从右向左依次点亮,每
13、次亮一个每次亮一个 DB 0C0H,0E0H,0F0H,0F8H,0FCH,0FEHDB 0C0H,0E0H,0F0H,0F8H,0FCH,0FEH;从左向右依次点亮从左向右依次点亮,每次增加一个每次增加一个,直至全部点亮直至全部点亮;【例】电路如图所示,试【例】电路如图所示,试编制程序输入编制程序输入K1K1K8K8状状态数据,并存入内态数据,并存入内RAM RAM 40H40H。解:编程如下:解:编程如下:KIN:KIN:MOV SCON,#00HMOV SCON,#00H;串行口方式串行口方式0 0 CLR ES CLR ES ;禁止串行中断禁止串行中断 CLR P1.0 CLR P1.
14、0 ;锁存并行输入数据锁存并行输入数据 SETB P1.0 SETB P1.0 ;允许串行移位操作允许串行移位操作 SETB REN SETB REN ;允许并启动接收(允许并启动接收(TXDTXD发送移位脉冲)发送移位脉冲)JNB RI,$JNB RI,$;等待接收完毕等待接收完毕 MOV 40H,SBUF MOV 40H,SBUF;存入存入K1K1K8K8状态数据状态数据 RET RET ;2 2、串行工作方式串行工作方式1 1 方式方式1 1是一帧是一帧1010位的异步串行通信方式,包括位的异步串行通信方式,包括1 1个起始位,个起始位,8 8个数据个数据位和一个停止位位和一个停止位。其
15、帧格式为:其帧格式为:起始起始D0D0D1D1D2D2D3D3D4D4D5D5D6D6D7D7停止停止 数据发送数据发送 发发送送时时只只要要将将数数据据写写入入SBUFSBUF,在在串串行行口口由由硬硬件件自自动动加加入入起起始始位位和和停停止止位位,构构成成一一个个完完整整的的帧帧格格式式。然然后后在在移移位位脉脉冲冲的的作作用用下下,由由TXDTXD端端串串行行输出。一帧数据发送完毕,将输出。一帧数据发送完毕,将SCONSCON中的中的TITI置置1 1。数据接收数据接收 接接收收时时,在在REN=1REN=1前前提提下下,当当采采样样到到RXDRXD从从1 1向向0 0跳跳变变状状态态
16、时时,就就认认定定为为已已接接收收到到起起始始位位。随随后后在在移移位位脉脉冲冲的的控控制制下下,将将串串行行接接收收数数据据移移入入SBUFSBUF中中。一一帧帧数数据据接接收收完完毕毕,将将SCONSCON中中的的RIRI置置1 1,表表示示可可以以从从SBUFSBUF取取走走接接收到的一个字符。收到的一个字符。2 2SMODSMOD3232foscfosc12 12 波特率波特率 在在实实际际应应用用时时,通通常常是是先先确确定定波波特特率率,后后根根据据波波特特率率求求T1T1定定时初值,因此上式又可写为:时初值,因此上式又可写为:波特率波特率 方式方式1 1波特率可变,由定时波特率可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C51 系列 单片机 一个 双工 串行口
限制150内