80C51的串行接口幻灯片

上传人:爱****1 文档编号:930122 上传时间:2017-05-22 格式:PPT 页数:305 大小:8.54MB
返回 下载 相关 举报
80C51的串行接口幻灯片_第1页
第1页 / 共305页
80C51的串行接口幻灯片_第2页
第2页 / 共305页
80C51的串行接口幻灯片_第3页
第3页 / 共305页
80C51的串行接口幻灯片_第4页
第4页 / 共305页
80C51的串行接口幻灯片_第5页
第5页 / 共305页
点击查看更多>>
资源描述

《80C51的串行接口幻灯片》由会员分享,可在线阅读,更多相关《80C51的串行接口幻灯片(305页珍藏版)》请在金锄头文库上搜索。

1、第一讲 80C51的串行接口,学习目标:,单片机串行通信I/O接口的结构串行通信控制寄存器单片机串行通信的工作方式以及串行通信应用。,一、 串行通信基本概念,通讯:信息交换,计算机 计算机,计算机 外设,应用:多机系统、计算机网络,方式,并行通信,串行通信,异步通信方式按字符传输,同步通信方式按数据块传输,单工 半双工 全双工,并行通信:数据多位同时传送,控制简单,传输速度快,传输线较多,串行通信:数据字节一位一位在一条传输线上逐个传送。,传输线少,可利用电话网,但传送控制复杂。,异步通信:收、发设备使用各自时钟 。,字符之间是异步的,但同一字符内是同步的(各位间距均为”位间隔”的整数倍),同

2、步通信:发送方时钟与接收方时钟同步。既保持位同步,也保持字符同步。,外同步 自同步,保持位同步,也保持字符同步.,单工 半双工 全双工 例如:广播 大哥大 手机,串行通信的传输方向,传输速率比特率:每秒钟传输二进制代码的位数bps波特率:每秒钟调制信号变化的次数。 单位是:波特(Baud)。例如:数据传送的速率为120个字符每秒,每个字符由1个起始位、8个数据位和1个停止位组成,则其传送波特率为:10b120s1200bs1200波特传输距离与传输速率的关系:传输距离随传输速率的增加而减小。,传输速率与传输距离,1、RS-232C接口 EIA(美国电子工业协会)1969年修订RS-232C标准

3、,它定义了DTE与DCE间的物理接口标准。,二、串行通信接口标准,过程特性 规定了信号间的时序关系 。,机械特性 使用25针连接器,连接器的尺寸及每个插针的排列位置都有明确的定义。(阳头),功能特性:,电气特性 :负逻辑,DC(-3-15v)为1。 DC(+3+15v)为0, DC(-3+3v)为过渡区。,近程通信连接,远程通信连接,2、PC与外设的RS-232直接连接,PC机与单片机串行通信接口示意图,三、串行接口的结构,主要由两个数据缓冲寄存器SBUF和一个输入移位寄存器,以及一个串行控制寄存器SCON(TIRI)等组成。,A,SCON,设定工作方式、接收/发送控制以及设置状态标志,1、8

4、0C51串行口的控制寄存器-SC0N,SM0 SM1 SM2 REN TB8 RB8 TI RI,SCON (98H),SM0、SM1:工作方式设置位,0 0:移位寄存器 ,fosc/12 0 1:10位异步收发器(8位数据),波特率可变 1 0:11位异步收发器(9位数据),fosc/64或fosc/32 1 1:11位异步收发器(9位数据),波特率可变,SM2,多机通信控制位。主要用于方式2和方式3。对于接收机 SM2=0,收到RB8(0或1)即可使收到的数据进入 SBUF,并激活RI。 SM2=1,收到的RB80时,收到的信息丢弃,不激活 RI ;若收到的RB81时,收到的数据进入SBU

5、F,并 激活 RI,进而在中断服务中将数据从SBUF读走。方式0时,SM2必须是0。方式1时,SM2=1时,只有接收到有效停止位时,RI才激活。,REN,允许串行接收位。置REN=1,启动串口接收过程置REN=0,则禁止串口接收,TB8,在方式2、3中,是发送数据的第9位 数据的奇偶校验位 地址帧/数据帧的标志位,RB8,在方式2、3中,是接收到数据的第9位奇偶校验位地址帧/数据帧的标志位。 方式1时,若SM2=0,则RB8是接收到的停止位。,TI,发送中断标志位。方式0时,串行发送第8位数据结束时其它方式,串行发送停止位的开始时硬件使TI置1,发中断申请。必须在中断服务程序中用软件将其清0。

6、,RI,接收中断标志位。方式0时,串行接收第8位数据结束时其它方式,串行接收停止位的中间时硬件使RI置1,发中断申请。必须在中断服务程序中用软件将其清0。,2、PCON 电源控制寄存器:,SMOD, 波特率倍增位。 在方式1、2、3时,波特率与SMOD有关: SMOD=1时,波特率提高一倍。复位时SMOD=0。,PCON (97H),注:PCON不能进行位寻址,只能字节寻址,串行通信只用了其中的最高位。,四、80C51串行口的工作方式,1方式0_ 8位数据 串行接口工作方式0为同步移位寄存器方式,多用于I/O口的扩展,其波特率是固定的,为fosc/12。TXD引脚输出同步移位脉冲,RXD引脚串

7、行输入/输出。,方式0接收和发送电路,1.方式0:移位寄存器方式,方式0时序,方式0掌握:,1、8位数据,波特率为F0SC/122、低位在前,高位在后3、TI,再发送数据,软件清0,CLR TI4、RI,再接收数据,软件清0,CLR RI5、同步通信,无起始位和停止位,2.方式1_ 10位数据 在方式l时,串行口被设置为波特率可变的8位异步通信接口。发送/接收1帧数据为10位,其中1位起始位、8位数据位(先低位后高位)和一位停止位,10位数据的异步通信。帧格式如图所示.,方式1掌握:,1、一帧为10位信息,1位起始(0),8位数据,1位停止(1)2、波特率=P1243、异步通信4、接收时,RB

8、8里是停止位,数据位在SBUF(SM2=0),方式1时序一帧数据为10位:1位起始位、8位数据位和1位停止位。,方式1时序,3方式2_ 11位数据 串行口工作为方式2时,被定义为9位异步通信接口。发送/接收1帧数据为11位,其中1位起始位、8位数据位、1位控制/校验位和1位停止位。控制/校验位为第9位数据。4方式3_ 11位数据方式3为波特率可变的11位异步通信方式,除了波特率有所区别之外,其余同方式2。,11位数据的异步通信,工作方式掌握:,1、几种工作方式波特率不同2、传送的位数不同,方式0是8位(数据位),方式1是10(8位数据SBUF,1个起始、1位停止RB8),方式2和方式3都是11

9、位(8位数据,1位控制/校验位RB8、TB8,1位起始和1位停止位)3、方式0是同步,方式1、2、3是异步,5、波特率的计算方式0、2的波特率是固定的,而方式1、3的波特率是可变的,由定时器T1的溢出率来决定。,方式0波特率 = fosc/12方式2波特率 =(2SMOD/64) fosc 方式1波特率 =(2SMOD/32)(T1溢出率)方式3波特率 =(2SMOD/32)(T1溢出率),K为定时器T1的位数。,方式1和方式3的波特率可变,由定时器1的溢出率决定,例:要求串行口以方式1工作,通信波特率为2400b/s,设振 荡频率fosc为6MHz,请初始化T1和串口。解:若选SMOD=1,

10、则T1时间常数 N=256216106/(3842400)=242.98243=F3H 定时器T1和串行口的初始化并发送程序如下: TMOD=0X20; 设置T1为方式2 TH1=0XF3; 置时间常数 TL1=0XF3 TR1=1; 启动T1 SCON=0X50 ;设串行口为方式1 SUB=0X12 ; while(1);,设置通讯波特率,例:要求串行口以方式1工作,通信波特率为2400b/s,设振 荡频率fosc为6MHz,请初始化T1和串口。解:若选SMOD=1,则T1时间常数 N=256216106/(3842400)=242.98243=F3H 则,定时器T1和串行口的初始化程序如下

11、: TMOD=0X20; 设置T1为方式2 TH1=0XF3; 置时间常数 TL1=0XF3 TR1=1; 启动T1 SCON=0X50 ;设串行口为方式1 ES=1; EA=1; while(1); /处理代码写在此处,设置通讯波特率,/中断服务子程序Void isr_uart(void) interrupt 4 A=SBUF;,1.单片机与单片机的通信,点对点的通信 实现A机向B机发数据B接收并显示接收到的数据,单片机串行口应用举例,1.单片机与单片机的通信,点对点的通信 借助MAX232A,实现RS232标准完成A、B通信。,单片机串行口应用举例,最简发送端代码,#include uns

12、igned char Send_Num5=1,2,3,4,5;void delay(unsigned int aa) while(aa-);void main() unsigned char ii=0; SCON=0X80; delay(50000); while(1) SBUF=Send_Numii; while(!TI); TI=0; ii+; if(ii=5) ii=0; delay(50000); ,最简接收端代码,#include unsigned char code DuanM=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0

13、x77,0x7c,0x39,0x5e,0x79;unsigned char code WeiM=0x0fe,0x0fd,0x0fb,0x0f7, 0x0ef,0x0df,0x0bf,0x7f;sbit duan=P20;sbit wei=P21;void Delay(unsigned int i) while(i-);unsigned char Recv_Num5=0,0,0,0,0;unsigned char num=0;,最简接收端代码,void Dis_Byte(unsigned char rr, unsigned char ww) duan=1; P1=DuanMrr; duan=0;

14、 wei=1; P1=WeiMww; wei=0; Delay(200); P1=0x00;,最简接收端代码,void main() SCON=0X90; IE=0x90; IP=0x10; while(1) Dis_Byte(Recv_Num0,3); Dis_Byte(Recv_Num1,4); Dis_Byte(Recv_Num2,5); Dis_Byte(Recv_Num3,6); Dis_Byte(Recv_Num4,7); ,最简接收端代码,void Serial_ISR(void) interrupt 4 using 1 if(RI=1) EA=0; RI=0; Recv_Numnum=SBUF; num+; if(num=5) num=0; EA=1; ,

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

当前位置:首页 > 办公文档 > PPT模板库 > 教育/培训/课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号