C51系列单片机有一个全双工的串行口

C51系列单片机有一个全双工的串行口

ID:45033393

大小:379.34 KB

页数:22页

时间:2019-11-08

C51系列单片机有一个全双工的串行口_第1页
C51系列单片机有一个全双工的串行口_第2页
C51系列单片机有一个全双工的串行口_第3页
C51系列单片机有一个全双工的串行口_第4页
C51系列单片机有一个全双工的串行口_第5页
资源描述:

《C51系列单片机有一个全双工的串行口》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、80C51系列单片机有一个全双工的串行口,这个口既可以用于网络通信,也可以实现串行异步通信,还可以作为同步移位寄存器使用。§6-280C51串行口一、串行口特殊功能寄存器1、串行数据缓冲器SBUF在逻辑上只有一个,既表示发送寄存器,又表示接收寄存器,具有同一个单元地址99H,用同一寄存器名SBUF。在物理上有两个,一个是发送缓冲寄存器,另一个是接收缓冲寄存器。发送时,只需将发送数据输入SBUF,CPU将自动启动和完成串行数据的发送;接收时,CPU将自动把接收到的数据存入SBUF,用户只需从SBUF中读出接收数据。2、串行控制寄存器SCON3、电源控制寄存器PC

2、ONSCOND7D6D5D4D3D2D1D0位名称SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH9DH9CH9BH9AH99H98H功能工作方式选择多机通信控制接收允许发送第9位接收第9位发送中断接收中断1)SM0SM1——串行口工作方式选择位。2)SM2——多机通信控制位。3)REN——允许接收控制位。REN=1,允许接收。4)TB8——方式2和方式3中要发送的第9位数据。5)RB8——方式2和方式3中要接收的第9位数据。6)TI——发送中断标志。7)RI——接收中断标志。PCOND7D6D5D4D3D2D1D0位名称SMOD———GF1GF

3、0PDIDLSMOD=1,串行口波特率加倍。PCON寄存器不能进行位寻址。二、串行工作方式80C51串行通信共有4种工作方式,由串行控制寄存器SCON中SM0SM1决定。1、串行工作方式0(同步移位寄存器工作方式)以RXD(P3.0)端作为数据移位的输入/输出端,以TXD(P3.1)端输出移位脉冲。移位数据的发送和接收以8位为一帧,不设起始位和停止位,无论输入/输出,均低位在前高位在后。其帧格式为:•••D0D1D2D3D4D5D6D7•••方式0可将串行输入输出数据转换成并行输入输出数据。⑴数据发送在移位时钟脉冲(TXD)的控制下,数据从串行口RXD端逐位移

4、入74HC164SA、SB端。当8位数据全部移出后,SCON寄存器的TI位被自动置1。其后74HC164的内容即可并行输出。74HC164CLR为清0端,输出时CLR必须为1,否则74HC164Q0~Q7输出为0。串行口作为并行输出口使用时,要有“串入并出”移位寄存器配合。(2)数据接收串行口作为并行输入口使用时,要有“并入串出”的移位寄存器配合。74HC165S/L端为移位/置入端,当S/L=0时,从Q0~Q7并行置入数据,当S/L=1时,允许从QH端移出数据。在80C51串行控制寄存器SCON中的REN=1时,TXD端发出移位时钟脉冲,从RXD端串行输入8

5、位数据。当接收到第8位数据D7后,置位中断标志RI,表示一帧数据接收完成。⑶波特率方式0波特率固定,为单片机晶振频率的十二分之一。⑷应用举例【例6-1】电路如图所示,试编制程序按下列顺序要求每隔0.5秒循环操作。。1)8个发光二极管全部点亮;2)从左向右依次暗灭,每次减少一个,直至全灭;3)从左向右依次点亮,每次亮一个;4)从右向左依次点亮,每次亮一个;5)从左向右依次点亮,每次增加一个,直至全部点亮;6)返回从2)不断循环解:编程如下:LIGHT:MOVSCON,#00H;串行口方式0CLRES;禁止串行中断MOVDPTR,#TAB;置发光二极管亮暗控制字表

6、首址LP1:MOVR7,#0;置顺序编号0LP2:MOVA,R7;读顺序编号MOVCA,@A+DPTR;读控制字CLRP1.0;关闭并行输出MOVSBUF,A;启动串行发送JNBTI,$;等待发送完毕CLRTI;清发送中断标志SETBP1.0;开启并行输出LCALLDLY500ms;调用延时0.5秒子程序(参阅例4-13)INCR7;指向下一控制字CJNER7,#30,LP2;判循环操作完否?未完继续SJMPLP1;顺序编号0~29依次操作完毕,从0开始重新循环TAB:DB0FFH,7FH,3FH,1FH,0FH,07H,03H,01H,00H;从左向右依次暗

7、灭,每次减少一个,直至全灭;DB80H,40H,20H,10H,08H,04H,02H,01H;从左向右依次点亮,每次亮一个DB02H,04H,08H,10H,20H,40H,80H;从右向左依次点亮,每次亮一个DB0C0H,0E0H,0F0H,0F8H,0FCH,0FEH;从左向右依次点亮,每次增加一个,直至全部点亮;【例】电路如图所示,试编制程序输入K1~K8状态数据,并存入内RAM40H。解:编程如下:KIN:MOVSCON,#00H;串行口方式0CLRES;禁止串行中断CLRP1.0;锁存并行输入数据SETBP1.0;允许串行移位操作SETBREN;允

8、许并启动接收(TXD发送移位脉冲)JN

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。