单片机原理及应用(C语言版).ppt
《单片机原理及应用(C语言版).ppt》由会员分享,可在线阅读,更多相关《单片机原理及应用(C语言版).ppt(79页珍藏版)》请在三一办公上搜索。
1、单片机原理及应用(C语言版)第7章 MCS-51单片机串行口,第7章 MCS-51单片机串行口,目 录7.1 串行通信基本知识7.2 串行口结构及控制7.3 串行口工作方式7.4 串行口应用举例7.5 单片机与PC机通信接口电路,本章要点 本章主要讲述MCS-51单片机串行口的结构、工作原理以及应用。主要内容包括串行通信基本知识、MCS-51单片机串行口结构、串行口工作方式以及单片机与PC机通信的接口电路。,7.1 串行通信基本知识,主要内容7.1.1 数据通信7.1.2 异步通信和同步通信7.1.3 波特率7.1.4 通信方向7.1.5 串行通信接口种类,7.1.1 数据通信,计算机与外界的
2、信息交换称为通信。基本的通信方式有并行通信和串行通信两种。1并行通信单位信息(通常指一个字节)的各位数据同时传送的通信方法称为并行通信。2串行通信单位信息的各位数据被分时一位一位依次顺序传送的通信方式称为串行通信。,7.1.1 数据通信,图7-1 并行通信示意图,两种通信特点:并行通信连线多,速度快,适合近距离通信;串行通信连线少,速度慢,适合远距离通信。,图7-1 并行通信示意图,图7-2 串行通信示意图,RXD,TXD,89,C,52,GND,TXD,RXD,GND,外,部,设,备,1异步通信(时钟不同,甚至频率不同)异步通信中,传送的数据可以是一个字符代码或一个字节数据,数据以帧的形式一
3、帧一帧传送。,7.1.2 异步通信和同步通信,图7-3 异步通信的一帧数据格式,2同步通信(用同一个时钟)在同步通信中,每一数据块发送开始时,先发送一个或两个同步字符,使发送与接收取得同步,然后再顺序发送数据。数据块的各个字符间取消起始位和停止位,所以通信速度得以提高。,7.1.2 异步通信和同步通信,图7-4 同步通信数据帧格式,7.1.3 波特率,在串行通信中,对数据传送速度有一定要求。波特率表示每秒传送的位数,单位为b/s(记作波特)。例如:数据传送速率为每秒钟10个字符,若每个字符的一帧为11位,则传送波持率为:11b/字符10字符/s110b/s异步通信的传送速率一般在5019 20
4、0b/s之间。,7.1.4 通信方向,单工方式:一对传输线只允许单方向传送数据;半双工方式:一对传输线允许向两个方向中的任一方向传送数据,但不能同时进行;全双工方式:用两对传输线连接在发送器和接收器上,发送和接收能同时进行。,7.1.4 通信方向,图7-5 串行通信传输方式,7.1.5 串行通信接口种类,根据串行通信格式及约定(如同步方式、通信速率、数据块格式等)不同,形成了许多串行通信接口标准,如常见的:UART(通用异步串行通信接口)USB(通用串行总线接口)I2C(集成电路间的串行总线)SPI(同步串行外设总线)485总线、CAN总线接口等,7.2 串行口结构及控制,主要内容7.2.1
5、MCS-51串行口结构7.2.2 特殊功能寄存器7.2.3 波特率设计,7.2.1 MCS-51串行口结构,图7-6 串行口方式1、3内部结构示意简图分为三个部分:时钟、发送部分、接收部分,16,发送,SBUF,(99H),16,输入移位寄存器,TXD,写,SBUF:,发送(程序),读SBUF:,接收(程序),RI,TI,移位时钟,RXD,装载,SBUF(自动),接收,SBUF,(99H),(P3.0),(P3.1),7.2.2 与串行口有关的特殊功能寄存器,1控制状态寄存器SCON功能:设置串行口的工作方式和标识串行口状态。字节地址:98H,可位寻址。复位值:0000 0000B。格式如下:
6、,SM0和SM1(SCON.7、SCON.6):串行口工作方式选择位。,7.2.2 与串行口有关的特殊功能寄存器,SM2(SCON.5):多机通信控制位,在方式2或3中使用。REN(SCON.4):允许接收控制位。设置1,允许接收;清0:禁止接收。,TB8(SCON.3):发送数据的第9位。RB8(SCON.2):接收数据的第9位。TI(SCON.1):发送中断标志。RI(SCON.0):接收中断标志。,7.2.2 与串行口有关的特殊功能寄存器,关于TI和RI:串行发送中断标志TI和接收中断RI是同一个中断源,CPU不知道是发送中断标志TI还是接收中断标志RI产生的中断请求,所以,在全双工通信
7、时,必须由软件来判别。,多机通信实现的原理:各个从机的SM2设置为1;主机TB8发送1表明是地址,选择接收机;主机TB8发送0为数据。(1)实现的条件:各个从机的SM2设置为1。当SM2=1时:RB8=1,则保留接收到的数据;RB8=0则丢弃。(2)实现的方法主机先发送从机地址,并且TB8为1。这时各个从机均可接收此地址,目标从机,则对自己的SM2清0;其它从机保留SM2=1。主机再发送数据,并且TB8为0 这时目标从机正常接收数据,其它从机均丢弃。,7.2.2 与串行口有关的特殊功能寄存器,地址,2电源控制寄存器PCON电源控制寄存器PCON(地址为87H)中只有SMOD位与串行口工作有关。
8、,7.2.2 与串行口有关的特殊功能寄存器,SMOD(PCON.7):波特率倍增位。串行口工作于方式1、方式2和方式3时,SMOD1,串行口波特率加倍。复位值:0000 0000B。不能进行位寻址。,7.2.3 波特率设计,方式0和方式2的波特率是固定的,方式1和方式3的波特率是由定时器T1的溢出率来决定的。在增强型单片机中,也可以使用T2作波特率发生器。1方式0的波特率方式0为同步移位寄存器方式。固定为振荡频率的1/12。并不受PCON寄存器中SMOD位的影响。方式0的波特率=fosc/12,2方式2的波特率方式2是波特率只有两种(fosc/64或 fosc/32)、11位的异步通信,可多机
9、通信。时钟:接收与发送的时钟直接来自振荡频率fosc,是fosc/2,并且还与PCON中SMOD位有关。其波特率为:当SMOD=0时,波特率为fosc的1/64;若SMOD=1,则波特率为fosc的1/32。即方式2的波特率=2SMODfosc/64,7.2.3 波特率设计,3方式1和方式3的波特率(1)T1作波特率发生器在最典型应用中,定时器T1选用模式2定时,此时n=8,设定时器的初值为X:于是,X=256-,方式1、3的波特率=(T1溢出速率),即波特率=/(2n-初值),7.2.3 波特率设计,(2)T2作波特率发生器设寄存器T2CON的位TCLK=1和(或)RCLK=1时,允许串行口
10、从T2获得发送和(或)接收的波特率。串行口方式1、3的波特率=T2溢出率/16定时器2作波特率发生器时,计数在每个状态周期递增。这样:方式1、3的波特率fb=(RCAP2H、RCAP2L)=65536-fosc/fb/32控制字、模式字:T2CON=0011 0100B=34HT2MOD=00H,7.2.3 波特率设计,主要内容7.3.1 串行口方式07.3.2 串行口方式17.3.3 串行口方式2和方式3,7.3 串行口工作方式,7.3.1 串行口方式0,方式0为同步移位寄存器输入/输出方式,常用于扩展I/O口。RXD为数据输入或输出,TXD输出移位时钟,作为外接部件的同步信号。方式0下,收
11、/发的仅8位数据,无起始位、奇偶校验位及停止位,低位在前、高位在后;波特率是固定的,为fosc/12,即机器周期频率。启动发送:TI=0、写SBUF启动接收:RI=0、REN置1,7.3.1 串行口方式0,方式,方式0发送,方式0接收,7.3.1 串行口方式0,并入/串出,1 162 153 144 135 126 117 108 9,Q1Q2Q3Q4Q5Q6Q7GND,74Hc595,串入/并出,串入,Q0DSOE ST_CPSH_CPMRQ7,7.3.1 串行口方式0,1 162 153 144 135 126 117 108 9,Q1Q2Q3Q4Q5Q6Q7GND,74Hc595,VCC
12、Q0DSOE ST_CPSH_CPMRQ7,并出,串入/并出,串入/并出,串入,用串行口方式0扩展并行输出/输入口 7.3.1 串行口方式0,发送电路,接收电路,7,SH/LD,扩展并行输出,扩展并行输入,7.3.2 串行口方式1,方式1真正用于串行发送或接收。TXD与RXD分别用于发送、接收数据。帧格式:1位起始位、8位数据位(低位在前)、1位停止位,共10位。在接收时,停止位进入SCON的RB8此方式的波特率可调,由T1或T2控制。SCON=0101 0000b=0 x50 1、方式1发送TI=0、写SBUF启动发送,7.3.1 串行口方式0,方式,方式1接收,方式1发送,7.3.2 串行
13、口方式1,2、方式1接收1)接收条件:SCON中的REN置12)接收过程:REN置1后,串行口对接收引脚RXD检测,当RXD由高变低时开始移位接收;接收完后将停止位装入RB8中。3)接收的数据有效的条件(两条):a、RI=0;b、SM2=0,或者SM2=1并且RB8=1 满足以上2条,则将8位数据装入SBUF,且RI置1。有以下情况之一则数据无效:a)RI=1;b)SM2=1并且RB8=0 注意:除了方式2、3的多机通信之外,SM2应清0,7.3.3 串行口方式2和方式3,串行口工作在方式2和方式3均为每帧11位异步通信格式,由TXD和RXD发送与接收。方式2和3的操作是完全一样的,不同的只是
14、特波率。每帧11位:即1位起始位、8位数据位(低位在前)、1位可编程的第9数据位和1位停止位。发送时,第9数据位(TB8)可以设置为1或0,在校验时可将奇偶位装入TB8;接收时,第9数据位进入SCON的RB8。SCON=1001 0000b=0 x90方式2接收SCON=1101 0000b=0 xD0方式3接收,7.4 串行口应用举例,主要内容 7.4.1 同步方式应用 7.4.2 异步方式应用,7.4.1 同步方式应用,MSC-51单片机的串行口在方式0时,以同步方式操作。外接串入/并出或并入/串出器件,可实现I/O口的扩展。例7-2 用89C52串行口外接74HC595串入/并出移位寄存
15、器扩展8位并行输出口,8位并行输出口的每位都接一个发光二极管,要求8位发光二极管循环点亮。数据的输出通过RXD发送,移位时钟通过TXD送出,74HC595用于串/并转换。,7.4.1 同步方式应用,图7-13 方式0扩展输出电路,C语言程序清单:#include#includeintrins.hsbit P3_6=P36;void delay10 xms(unsigned char x)/设晶振为12MHzunsignedint i;while(x-)for(i=0;i830;i+);,7.4.1 同步方式应用,void main()unsigned char dd=0 x01;SCON=0
16、x0;/设置串口方式0while(1)TI=0;/清除发送结束标志SBUF=dd;/发送dd=_crol_(dd,1);/左移1位while(TI=0);/等待发送结束P3_6=0;P3_6=1;/输出数据delay10 xms(100);/延时1s,7.4.1 同步方式应用,7.4.1 同步方式应用,MSC-51单片机的串行口在方式0时,以同步方式操作。外接串入/并出或并入/串出器件,可实现I/O口的扩展。例7-2 用89C52串行口外接74HC164串入/并出移位寄存器扩展8位并行输出口,8位并行输出口的每位都接一个发光二极管,要求8位发光二极管循环点亮。数据的输出通过RXD发送,移位时钟
17、通过TXD送出,74HC164用于串/并转换。,7.4.1 同步方式应用,图7-13 方式0扩展输出电路,C语言程序清单:#includesbit P1_0=P10;void main()unsigned char i;SCON=0 x00;/串行口方式0初始化ES=1;EA=1;while(1)for(i=0;i8;i+)P1_0=0;/关闭并行输出SBUF=1i;delay();/延时函数,读者自行添加,7.4.1 同步方式应用,void s_srv()interrupt 4/中断服务程序TI=0;P1_0=1;/打开并行输出汇编语言程序清单:ORG0000HLJMPMAINORG0023
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 语言版

链接地址:https://www.31ppt.com/p-5044704.html