淘豆网
下载此文档放大查看缩小查看   1/22
0/100
您的浏览器不支持进度条
更多>>该用户其他文档
下载所得到的文件列表
80C51系列单片机有一个全双工的串行口.ppt
文档介绍:
80C51系列单片机有一个全双工的串行口,这个口既可以用于网络通信,也可以实现串行异步通信,还可以作为同步移位寄存器使用。§6-280C51串行口一、串行口特殊功能寄存器1、串行数据缓冲器SBUF在逻辑上只有一个,既表示发送寄存器,又表示接收寄存器,具有同一个单元地址99H,用同一寄存器名SBUF。在物理上有两个,一个是发送缓冲寄存器,另一个是接收缓冲寄存器。发送时,只需将发送数据输入SBUF,CPU将自动启动和完成串行数据的发送;接收时,CPU将自动把接收到的数据存入SBUF,用户只需从SBUF中读出接收数据。2、串行控制寄存器SCON3、电源控制寄存器PCONSCOND7D6D5D4D3D2D1D0位名称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———GF1GF0PDIDLSMOD=1,串行口波特率加倍。PCON寄存器不能进行位寻址。二、串行工作方式80C51串行通信共有4种工作方式,由串行控制寄存器SCON中SM0SM1决定。1、串行工作方式0(同步移位寄存器工作方式)以RXD(P3.0)端作为数据移位的输入/输出端,以TXD(P3.1)端输出移位脉冲。移位数据的发送和接收以8位为一帧,不设起始位和停止位,无论输入/输出,均低位在前高位在后。其帧格式为:•••D0D1D2D3D4D5D6D7•••方式0可将串行输入输出数据转换成并行输入输出数据。⑴数据发送在移位时钟脉冲(TXD)的控制下,数据从串行口RXD端逐位移入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位数据。当接收到第8位数据D7后,置位中断标志RI,表示一帧数据接收完成。⑶波特率方式0波特率固定,为单片机晶振频率的十二分之一。⑷应用举例【例6-1】电路如图所示,试编制程序按下列顺序要求每隔0.5秒循环操作。。1)8个发光二极管全部点亮;2)从左向右依次暗灭,每次减少一个,直至全灭;3)从左向右依次点亮,每次亮一个;4)从右向左依次点亮,每次亮一个;5)从左向右依次点亮,每次增加一个, 直至全部点亮;6)返回从2)不断循环解:编程如下:LIGHT:MOVSCON,#00H;串行口方式0CLRES;禁止串行中断MOVDPTR,#TAB;置发光二极管亮暗控制字表首址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;从左向右依次暗灭,每次减少一个,直至全灭;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;允许并启动接收(TXD发送移位脉 内容来自淘豆网www.taodocs.com转载请标明出处.