单片机汇编6.ppt

上传人:p** 文档编号:175930 上传时间:2023-03-22 格式:PPT 页数:25 大小:496.50KB
下载 相关 举报
单片机汇编6.ppt_第1页
第1页 / 共25页
单片机汇编6.ppt_第2页
第2页 / 共25页
单片机汇编6.ppt_第3页
第3页 / 共25页
单片机汇编6.ppt_第4页
第4页 / 共25页
单片机汇编6.ppt_第5页
第5页 / 共25页
单片机汇编6.ppt_第6页
第6页 / 共25页
单片机汇编6.ppt_第7页
第7页 / 共25页
单片机汇编6.ppt_第8页
第8页 / 共25页
单片机汇编6.ppt_第9页
第9页 / 共25页
单片机汇编6.ppt_第10页
第10页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《单片机汇编6.ppt》由会员分享,可在线阅读,更多相关《单片机汇编6.ppt(25页珍藏版)》请在第壹文秘上搜索。

1、80518051单片机的串行口单片机的串行口 本节主要介绍串行通信概念及51系列单片机的串行口问题,将具体介绍以下内容:51单片机串行口-串行口结构、串行口的控制寄存器、串行口的工作方式、应用举例。串行通信基础-基本概念串行通信基础串行通信基础 串行数据通信要解决两个关键技术问题,一个是数据传送,另一个是数据转换。所谓数据传送就是指数据以什么形式进行传送。所谓数据转换就是指单片机在接受数据时,如何把接收到的串行数据转化为并行数据,单片机在发送数据时,如何把并行数据转换为串行数据进行发送。 单片机的串行通信使用的是异步串行通信,所谓异步单片机的串行通信使用的是异步串行通信,所谓异步就是指发送端和

2、接收端使用的不是同一个时钟。异步串行就是指发送端和接收端使用的不是同一个时钟。异步串行通信通常以字符(或者字节)为单位组成字符帧传送。通信通常以字符(或者字节)为单位组成字符帧传送。 1 1、字符帧的帧格式、字符帧的帧格式 字符帧由四部分组成,分别是起始位、数据位、奇偶校验字符帧由四部分组成,分别是起始位、数据位、奇偶校验位、停止位。位、停止位。 起始位数据位(0)数据位(1)数据位(n1)奇偶位停止位停止位起始位一帧数据1 1) 起始位:位于字符帧的开头,只占一起始位:位于字符帧的开头,只占一位,始终位逻辑低电平,表示发送端开位,始终位逻辑低电平,表示发送端开始发送一帧数据。始发送一帧数据。

3、2 2) 数据位:紧跟起始位后,可取数据位:紧跟起始位后,可取5 5、6 6、7 7、8 8位,低位在前,高位在后。位,低位在前,高位在后。3 3)奇偶校验位:占一位,用于对字符传)奇偶校验位:占一位,用于对字符传送作正确性检查。奇偶校验位是可选择送作正确性检查。奇偶校验位是可选择的,共有三种可能,即奇偶校验、偶校的,共有三种可能,即奇偶校验、偶校验和无校验,由用户根据需要选定。验和无校验,由用户根据需要选定。4 4)停止位:末尾,为逻辑)停止位:末尾,为逻辑“1”1”高电平,高电平,可取可取1 1、1.51.5、2 2位,表示一帧字符传送位,表示一帧字符传送完毕。完毕。 2. 2.数据传送速

4、率数据传送速率 串行通信的速率用波特率来表示,所谓波特率串行通信的速率用波特率来表示,所谓波特率就是指一秒钟传送数据位的个数。每秒钟传送一个数就是指一秒钟传送数据位的个数。每秒钟传送一个数据位就是据位就是1 1波特。即:波特。即:1 1波特波特1bps1bps(位(位/ /秒)秒) 。 在串行通信中,数据位的发送和接收分别由发在串行通信中,数据位的发送和接收分别由发送时钟脉冲和接收时钟脉冲进行定时控制。时钟频率送时钟脉冲和接收时钟脉冲进行定时控制。时钟频率高,则波特率高,通信速度就快;反之,时钟频率低,高,则波特率高,通信速度就快;反之,时钟频率低,波特率就低,通信速度就慢。波特率就低,通信速

5、度就慢。 80518051单片机串行口的特殊功能寄存器单片机串行口的特殊功能寄存器1. 1. 串行口控制寄存器(串行口控制寄存器(SCONSCON) SCONSCON是是MCS-51MCS-51单片机的一个可位寻址的专用单片机的一个可位寻址的专用寄存器,用于串行数据通信的控制。单元地址为寄存器,用于串行数据通信的控制。单元地址为98H98H,位地址为,位地址为98H98H9FH9FH。寄存器的内容及位地。寄存器的内容及位地址表示如下:址表示如下:位地址 9FH 9EH9DH9CH 9BH9AH 99H98H位符号 SM0 SM1SM2RENTB8RB8TIRISCON中各位说明如下:中各位说明

6、如下:1)SM0、SM1串行口工作方式选串行口工作方式选择位择位其状态组合和对应工作方式为:其状态组合和对应工作方式为:SM0SM1工作方式工作方式00方式方式001方式方式110方式方式211方式方式32 2) SMSM2 2允许方式允许方式2 2、3 3的多机通信控制位的多机通信控制位 在方式在方式2 2和和3 3中,若中,若SMSM2 21 1且接收到的第九位数据且接收到的第九位数据(RBRB8 8)为)为1 1,才将接收到的前,才将接收到的前8 8位数据送入接收缓冲位数据送入接收缓冲寄存器寄存器SBUFSBUF中,并置位中,并置位RIRI产生中断请求;否则丢弃前产生中断请求;否则丢弃前

7、8 8位数据。若位数据。若 SMSM2 20 0,则不论第九位数据(,则不论第九位数据(RBRB8 8)为)为1 1还是为还是为0,0,都将前都将前8 8位送入接收位送入接收SBUFSBUF中,并产生中断请中,并产生中断请求。求。 方式方式0 0时,时,SMSM2 2必须置必须置0 0。3 3) RENREN允许接收位允许接收位 RENREN0 0 禁止接收数据禁止接收数据 RENREN1 1 允许接收数据允许接收数据4 4) TBTB8 8发送第发送第9 9位数据位数据 在方式在方式2 2、3 3时,时,TBTB8 8的内容是要发送的第的内容是要发送的第9 9位数位数据据, ,其值由用户通过

8、软件来设置。其值由用户通过软件来设置。5 5) RBRB8 8接收的第接收的第9 9位数据位数据 在方式在方式2 2、3 3时,时,RBRB8 8是接收的第是接收的第9 9位数据。位数据。 在方式在方式1 1时,时,RBRB8 8是接收的停止位是接收的停止位 在方式在方式0 0时,不使用时,不使用RBRB8 86 6) TITI发送中断标志位发送中断标志位 在方式在方式0 0时,发送完第时,发送完第8 8位数据后,该位由硬件置位。位数据后,该位由硬件置位。 在其它方式下,于发送停止位之前,由硬件置位。在其它方式下,于发送停止位之前,由硬件置位。 TITI1 1表示帧发送结束,其状态既可供软件查

9、询使用,表示帧发送结束,其状态既可供软件查询使用,也可请求中断。也可请求中断。TITI由软件清由软件清“0”0”。7 7) RIRI接收中断标志位接收中断标志位 在方式在方式0 0时,接收完第时,接收完第8 8位数据后,该位由硬件置位。位数据后,该位由硬件置位。 在其它方式下,接收到停止位之前,该位硬件置位。在其它方式下,接收到停止位之前,该位硬件置位。 RIRI1 1表示帧接收结束,其状态既可供软件查询使用,表示帧接收结束,其状态既可供软件查询使用,也可请求中断。也可请求中断。 RIRI由软件清由软件清“0”0”。2. 电源控制寄存器(PCON) PCON不可位寻址,字节地址为87H。它主要

10、是为CHMOS型单片机80C51的电源控制而设置的专用寄存器。其内容如下: 与串行通信有关的只有与串行通信有关的只有D D7 7位(位(SMODSMOD),该位为波特率倍增位,),该位为波特率倍增位,当当SMOD=1SMOD=1时,串行口波特率增加一倍,当时,串行口波特率增加一倍,当SMOD=0SMOD=0时,串行口波特时,串行口波特率为设定值。当系统复位时,率为设定值。当系统复位时,SMOD=0SMOD=0。 位序位序D7D6D5D4D3D2D1D0位符号位符号SMOD/GF1GF0PDIDL80518051单片机串行通信工作方式单片机串行通信工作方式 方式方式0 0和方式和方式2 2的波特

11、率是固定的,而方式的波特率是固定的,而方式1 1和方式和方式3 3的波的波特率是可变的,由特率是可变的,由T1T1的溢出率决定。的溢出率决定。SM0 SM1方式方式功能说明功能说明波特率波特率0 0方式方式0移位寄存器方式移位寄存器方式fosc/120 1方式方式18位位UART可变可变1 0方式方式29位位UARTfosc/64 或者或者fosc/321 1方式方式39位位UART可变可变串行口的工作方式由串行口的工作方式由SM0SM0和和SM1SM1确定,编码和功能如下表确定,编码和功能如下表所示所示串行工作方式串行工作方式0 01. 1. 数据发送数据发送 当数据写入当数据写入SBUFS

12、BUF后,数据从后,数据从RXDRXD端在移位脉冲(端在移位脉冲(TXDTXD)的)的 控制控制下,逐位移入下,逐位移入74LS16474LS164,74LS16474LS164能完成数据的串并转换。当能完成数据的串并转换。当8 8位位数据全部移出后,数据全部移出后,TITI由硬件置位,发生中断请求。若由硬件置位,发生中断请求。若CPUCPU响应中响应中断,则从断,则从0023H0023H单元开始执行串行口中断服务程序,数据由单元开始执行串行口中断服务程序,数据由74LS16474LS164并行输出。其接口逻辑如下图所示。并行输出。其接口逻辑如下图所示。RXDTXD0D7D。CLK74LS16

13、48051STB0 . 1PAB2. 2. 数据接收数据接收 要实现数据接收,必须首先把要实现数据接收,必须首先把SCONSCON中的允许接收位中的允许接收位RENREN设置为设置为1 1。当。当RENREN设置为设置为1 1时,数据就在移位脉冲的控制下,从时,数据就在移位脉冲的控制下,从RXDRXD端输入。端输入。当接收到当接收到8 8位数据时,置位接收中断标志位位数据时,置位接收中断标志位RIRI,发生中断请求。,发生中断请求。其接口逻辑如下图所示。由逻辑图可知,通过外接其接口逻辑如下图所示。由逻辑图可知,通过外接74LS16574LS165,串,串行口能够实现数据的并行输入。行口能够实现

14、数据的并行输入。RXDTXD0D7D.CLK74LS1658051STB0 . 1PQ 串行工作方式串行工作方式1 1 方式方式1 1为为1010位为一帧的异步串行通信方式。其帧格式为位为一帧的异步串行通信方式。其帧格式为1 1个个起始位、起始位、8 8个数据位和个数据位和1 1个停止位。如下图所示。个停止位。如下图所示。起始位0D1D2D3D4D5D6D7D停止位1. 1. 数据发送数据发送 数据写入数据写入SBUFSBUF后,开始发送,此时由硬件加入起始位和后,开始发送,此时由硬件加入起始位和 停止位,构成一帧数据,由停止位,构成一帧数据,由TXDTXD串行输出。输出一帧数据后,串行输出。

15、输出一帧数据后,TXDTXD保持在高电平状态下,并将保持在高电平状态下,并将TITI置位,通知置位,通知CPUCPU可以进行下一可以进行下一个字符的发送。个字符的发送。2. 2. 数据接收数据接收 当当REN=1REN=1且接收到起始位后,在移位脉冲的控制下,把接收到且接收到起始位后,在移位脉冲的控制下,把接收到的数据移入接收缓冲寄存器(的数据移入接收缓冲寄存器(SBUFSBUF)中,停止位到来后,把停止)中,停止位到来后,把停止位送入位送入RBRB8 8中,并置位中,并置位RIRI,通知,通知CPUCPU接收到一个字符。接收到一个字符。3. 3. 波特率的设定波特率的设定 工作在方式工作在方

16、式1 1时,其波特率是可变的,波特率的计算公式为:时,其波特率是可变的,波特率的计算公式为:的溢出率)定时器波特率1(322SMOD 其中,其中,SMODSMOD为为PCONPCON寄存器最高位的值,其值为寄存器最高位的值,其值为1 1 或或0 0。 当定时器当定时器1 1作波特率发生器使用时,选用工作方式作波特率发生器使用时,选用工作方式2 2(即自(即自动加载定时初值方式)。选择方式动加载定时初值方式)。选择方式2 2可以避免通过程序反复装入可以避免通过程序反复装入定时初值所引起的定时误差,使波特率更加稳定。假定计数初定时初值所引起的定时误差,使波特率更加稳定。假定计数初值为值为X X,则计数溢出周期为:,则计数溢出周期为: )256(12Xfosc 溢出率为溢出周期的倒数。则波特率的计算公式为:溢出率为溢出周期的倒数。则波特率的计算公式为: )X256(12fosc322SMOD波特率 实际使用中,波特率是已知的。因此需要根据波特率的计实际使用中,波特率是已知的。因此需要根据波特率的计算公式求定时初值算公式求定时初值X X。用户只需要把定时初值设置到定时器。用户只需要把定时初值设

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中学教育 > 中考

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!