单片机教程串口通信.ppt
《单片机教程串口通信.ppt》由会员分享,可在线阅读,更多相关《单片机教程串口通信.ppt(58页珍藏版)》请在课桌文档上搜索。
1、第9章:串口通信,本章基本要求:基本概念 51的串行接口*串行接口的应用*,9.1串行通信基础,所谓“通信”是指计算机与其他设备之间进行的信息交换。通信的方式分为并行通信和串行通信两种。并行通信是构成一组数据的各位同时进行传送,例如8位数据或16位数据并行传送。其特点是传输速度快,但当距离较远、位数又多时导致了通信线路复杂且成本高。串行通信是数据一位接一位地顺序传送。其特点是通信线路简单,只要一对传输线就可以实现通信(如电话线),可大大地降低成本,适用于远距离通信。缺点是传送速度慢。,9.1串行通信基础,下图为以上两种通信方式的示意图。由图可知,假设并行传送N位数据所需时间为T,那么串行传送的
2、时间至少为NT,实际上总是大于NT的。,9.1串行通信基础,9.1.1串行通信的分类1、异步通信异步传送的特点是数据在线路上的传送不连续。在传送时,数据是以一个字符为单位进行传送的。它用一个起始位表示字符的开始,用停止位表示字符的结束。异步传送的字符格式如图所示。字符帧:也叫数据帧,由起始位、数据位、奇偶校验位和停止位4个部分组成。,9.1串行通信基础,9.1串行通信基础,波特率:就是数据的传送速率,即每秒钟传送的二进制位数,单位:位/秒。说明:要求发送端与接收端的波特率必须一致。波特率越高,传送速度越快。例:设字符传送的速率为120字符/秒,而每1个字符为10位,那么传送的波特率为:10位/
3、字符120字符/秒=1200位/秒=1200波特。每1位二进制位的传送时间Td就是波特率的倒数,例中:Td=1/1200=0.833ms,9.1串行通信基础,2、同步通信在异步传送中,每一个字符都要用起始位和停止位作为字符开始和结束的标志,占用了一定的时间。为了提高传送速度,有时就去掉这些标志,而采用同步传送,即1次传送1组数据。在这1组数据的开始处要用同步字符SYN来加以指示,如图示:,9.1.2串行通信的制式串行通信的数据传送方向有三种形式。,9.1串行通信基础,1、单工制式(Simplex)单工制式是指甲乙双方通信时只能单向传送数据,发送方和接收方固定。,单工:广播,9.1串行通信基础,
4、2、半双工制式 半双工制式是指通信双方都具有发送器和接收器,既可发送也可接收,但不能同时接收和发送,发送时不能接收,接收时不能发送。,9.1串行通信基础,全双工制式是指通信双方均设有发送器和接收器,并且信道划分为发送信道和接收信道,因此全双工制式可实现甲乙双方同时发送和接收数据,发送时能接收,接收时也能发送。,3、全双工制式,双工:电话,9.1串行通信基础,9.1.3 调制解调器计算机通信是一种数字信号的通信,如图所示。它要求传送线的频带很宽,而在长距离通讯时,通常是利用电话线来传送的,该线不可能有这样宽的频带。如果用数字信号经过传送线直接通讯,信号就会畸变。,9.1串行通信基础,因此要在发送
5、端用调制器(Modulator)把数字信号转换为模拟信号,在接收端用解调器(Demodulator)检测此模拟信号,再把它转换成数字信号,如图所示。,9.2MCS-51单片机串行接口,51单片机内部有一个功能很强的全双工串行口,可同时发送和接收数据。它有四种工作方式,可供不同场合使用。波特率由软件设置,通过片内的定时/计数器产生。接收、发送均可工作在查询方式或中断方式,使用十分灵活。51的串行口除了用于数据通信外,还可以非常方便地构成1个或多个并行输入/输出口或作串并转换,用来驱动键盘与显示器。,51单片机的串行接口硬件结构,SBUF(发),SBUF(收),发送控制器 TI,接收控制器 RI,
6、移位寄存器,波特率发生器T1,+,A累加器,移位寄存器,RxDP3.0,TxD P3.1,去申请中断,引脚,引脚,CPU内部,1、发送和接收电路SBUF是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据。两个缓冲器只用一个字节地址99H,可通过指令对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。MOV SBUF,A;CPU写SBUF,就是修改发送缓冲器;MOV A,SBUF;CPU读SBUF,就是读接收缓冲器。串行口对外也有两条独立的收发信号线RXD(P3.0)和TXD(P3.1),因此可以同时发送、接收数据,实现全双工传送。,9.2MCS-51单片机串行接口,发送和
7、接收过程都是在发送和接收时钟控制下进行的,必须与设定的波特率保持一致。一般,51单片机的串口时钟是由内部定时器的溢出率经16分频后提供。2、串行口控制寄存器SCON、PCONSCON用来控制串行口的工作方式和状态(可位寻址)。在复位时所有位被清0,字地址为98H。PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,单元地址为87H,不能位寻址。SCON、PCON的格式和内容如下图。,9.2MCS-51单片机串行接口,串行口控制寄存器SCON(98H),1、SM0、SM1 控制串行口方式,2、SM2 允许方式2、3的多机通讯特征位,在方式2、3中若SM2=1表示接收的第九位数据(RB
8、8)为1时,激活RI。在方式0,1中SM2必须为0。,3、REN 允许串行接收位,由软件置/复位 1:允许接收 0:不允许接收,4、TB8 在方式2、3中要发送的第九位数据,由软件置/复位,5、RB8 在方式2、3中是接收的第九位数据 在方式0中不用RB8。,串行口控制寄存器SCON(98H),6、RI 接收中断标志(必须由软件清除)在方式0中串行接收到第8位结束时自动置位。在方式1、2、3中串行接收到停止位的中间时置位。,1,1,1,1,1,1,1,7、TI 发送中断标志(必须由软件清除)在方式0中串行发送第8位结束时自动置位。在方式1、2、3中串行发送停止位的开始时置位。,串行口控制寄存器
9、SCON(98H),电源控制寄存器PCON,SMOD=1,串行口波特率加倍。PCON寄存器不能进行位寻址。,SMOD:在串行口工作方式 1、2、3 中,是波特率加倍位=1 时,波特率加倍=0 时,波特率不加倍。(在PCON中只有这一个位与串口有关),9.2.2串行口的工作方式51的串行口有四种工作方式,它是由SCON中的SM0、SM1来定义的,如下表和下屏表格所示。,9.2MCS-51单片机串行接口,9.2MCS-51单片机串行接口,1、方式0为同步移位寄存器方式,其波特率是固定的,为fosc(振荡频率)的1/12。方式0发送:数据从RXD引脚串行输出,TXD引脚输出同步脉冲。当1个数据写入串
10、行口发送缓冲器时,串行口将8位数据以fosc/12的固定波特率从RXD引脚输出,从低位到高位。发送完后置中断标志TI为1,呈中断请求状态,在再次发送数据之前,必须用软件将TI清0。,9.2MCS-51单片机串行接口,方式0接收:在满足REN=1(允许接收)、RI=0的条件下,串行口处于方式0输入。此时,RXD为数据输入端,TXD为同步信号输出端,接收器也以fosc/12的波特率采样RXD引脚输入的数据信息。当接收器接收完8位数据后,置中断标志RI=1为请求中断,在再次接收之前,必须用软件将RI清0。,9.2MCS-51单片机串行接口,说明:在方式0工作时,必须使SCON寄存器中的SM2位为“0
11、”,这并不影响TB8位和RB8位。方式0发送或接收完8位数据后由硬件置位TI或RI中断请求标志,CPU在响应中断后要用软件清除TI或RI标志。若串行口要作为并行口输入输出,这时必须设置“串入并出“或”并入串出”的移位寄存器来配合使用(如74HC164或74HC165等)。,9.2MCS-51单片机串行接口,2、方式1该方式为波特率可变的8位异步通信接口。方式1发送:数据位由TXD端输出,发送1帧信息为10位,其中1位起始位、8位数据位(先低位后高位)和一个停止位“1”。CPU执行1条数据写入发送缓冲器SBUF的指令,就启动发送器发送。当发送完数据,就置中断标志TI为1。,9.2MCS-51单片
12、机串行接口,方式1所传送的波特率取决于定时器T1的溢出率和特殊功能寄存器PCON中SMOD的值,即方式1的波特率=(2SMOD/32)定时器T1的溢出率。方式1接收:当串行口置为方式1,且REN=1时,串行口处于方式1输入状态。它以所选波特率的16倍的速率采样RXD引脚状态。,9.2MCS-51单片机串行接口,3、方式2该方式为11位异步通信接口。方式2发送:发送数据由TXD端输出,发送1帧信息为11位,其中1位起始位(0)、8位数据位(先低位后高位)、1位可控位为1或0的第9位数据、1位停止位。附加的第9位数据为SCON中的TB8,它由软件置位或清0,可作为多机通信中地址/数据信息的标志位,
13、也可作为数据的奇偶校验位。,9.2MCS-51单片机串行接口,PIPL:PUSHPSW;保护现场PUSHACCCLRTI;清0发送中断标志MOVA,R0;取数据MOVC,P;奇偶位送CMOVTB8,C;奇偶位送TB8MOVSBUF,A;数据写入发送缓冲器,启动发送INCR0;数据指针加1POPACC;恢复现场POPPSWRETI;中断返回,9.2MCS-51单片机串行接口,方式2中使用TB8作为发送数据的奇偶校验位,发送程序如下:,方式2接收:当串行口置为方式2,且REN=1时,串行口以方式2接收数据。方式2的接收与方式1基本相似。数据由RXD端输入,接收11位信息,其中1位起始位(0)、8位
14、数据位、1位附加的第9位数据、1位停止位(1)。方式2的波特率=(2SMOD/64)fosc若附加的第9位数据为奇偶校验位,在接收中断服务程序中应作检验处理,参考程序如下:,9.2MCS-51单片机串行接口,PIPL:PUSHPSW;保护现场PUSHACCCLRRI;清0接收中断标志MOVA,SUBF;接收数据MOVC,P;取奇偶校验位JNCL1;偶校验时转L1JNBRB8,ERR;奇校验时RB8为0转出错处理SJMPL2L1:JBRB8,ERR;偶校验时RB8为1转出错处理L2:MOVR0,A;奇偶校验对时存入数据INCR0;修改指针POPACC;恢复现场POPPSWRETI;中断返回ERR
15、:;出错处理RETI;中断返回,9.2MCS-51单片机串行接口,方式2中使用RB8作为接收数据的奇偶校验位,接收程序如下:,4、方式3方式3为波特率可变的9位异步通信方式,除了波特率有所区别之外,其余方式都与方式2相同。方式3的波特率=(2SMOD/32)(定时器T1的溢出率),9.2MCS-51单片机串行接口,9.2.3串行口的通信波特率串行通信的四种工作方式对应着三种波特率。对于方式0,波特率是固定的,为单片机时钟的十二分之一,即fosc/12。对于方式2,波特率有两种可供选择,即fosc/32和fosc/64。对应于以下公式:波特率=fosc2SMOD/64,9.2MCS-51单片机串
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 教程 串口 通信
![提示](https://www.desk33.com/images/bang_tan.gif)
链接地址:https://www.desk33.com/p-246780.html