串口工作方式.ppt_第1页
串口工作方式.ppt_第2页
串口工作方式.ppt_第3页
串口工作方式.ppt_第4页
串口工作方式.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、二、串行口的四种工作方式,三、 串行口的应用举例与实验六,一、复习,第七章 MCS-51的串行口,4、串行通信工作方式,方式0 方式0时,串行口为同步移位寄存器的输入输出方式。主要用于扩展并行输入或输出口。数据由RXD(P3.0)引脚输入或输出,同步移位脉冲由TXD(P3.1)引脚输出。发送和接收均为8位数据,低位在先,高位在后。波特率固定为fosc/12。 SM2必为0。 (1)方式0输出,(2)方式0输入,扩展并行输入或输出口,74LS165,SBUF,SBUF,74LS164,RXD,TXD,fosc/12,MOV SBUF, A,RXD,TXD,并出,并入,fosc/12,先接收低位示

2、意图,MOV A , SBUF,TI,RI,先发送低位示意图,方式1 方式1是10位数据的异步通信口。TXD为数据发送引脚,RXD为数据接收引脚,传送一帧数据的格式如图所示。其中1位起始位,8位数据位,1位停止位。,(1)方式1输出,(2)方式1输入,用软件置REN为1时,接收器以所选择波特率的16倍速率采样RXD引脚电平,检测到RXD引脚输入电平发生负跳变时,则说明起始位有效,将其移入输入移位寄存器,并开始接收这一帧信息的其余位。接收过程中,数据从输入移位寄存器右边移入,起始位移至输入移位寄存器最左边时,控制电路进行最后一次移位。当RI=0,且SM2=0(或接收到的停止位为1)时,将接收到的

3、9位数据的前8位数据装入接收SBUF,第9位(停止位)进入RB8,并置RI=1,向CPU请求中断。,方式2和方式3 方式2或方式3时为11位数据的异步通信口。TXD为数据发送引脚,RXD为数据接收引脚 。,方式2和方式3时起始位1位,数据9位(含1位附加的第9位,发送时为SCON中的TB8,接收时为RB8),停止位1位,一帧数据为11位。方式2的波特率固定为晶振频率的1/64或1/32,方式3的波特率由定时器T1的溢出率决定。,(1)方式2和方式3输出,发送开始时,先把起始位0输出到TXD引脚,然后发送移位寄存器的输出位(D0)到TXD引脚。每一个移位脉冲都使输出移位寄存器的各位右移一位,并由

4、TXD引脚输出。 第一次移位时,停止位“1”移入输出移位寄存器的第9位上 ,以后每次移位,左边都移入0。当停止位移至输出位时,左边其余位全为0,检测电路检测到这一条件时,使控制电路进行最后一次移位,并置TI=1,向CPU请求中断。,(2)方式2和方式3输入,接收时,数据从右边移入输入移位寄存器。当位检测逻辑采样到RXD上的负跳变,便开始接收1帧数据。在接收完第九位数据后,满足下列条件,才能真正接收到1个字符。 当RI=0,且SM2=0(或接收到的第9位数据为1)时,接收到的数据装入接收缓冲器SBUF和RB8(接收数据的第9位),置RI=1,向CPU请求中断。如果条件不满足,则数据丢失,且不置位

5、RI,继续搜索RXD引脚的负跳变。,80C51串行口的应用举例,方式0时,串行口为同步移位寄存器的输入输出方式。主要用于扩展并行输入或输出口。 74LS164可用于扩展并行输出口,74LS165可用于扩展输入口。 数据由RXD(P3.0)引脚输入或输出,同步移位脉冲由TXD(P3.1)引脚输出。发送和接收均为8位数据,低位在先,高位在后。波特率固定为fosc/12。,1、串行口方式0的应用,补例7-1:用89C51串行口外接164串入并出移位寄存器扩展8位并行口;8位并行口的每位都接一个发光二极管,要求发光二极管从左到右以一定延迟轮流显示,并不断循环。设发光二极管为共阴极接法,如图所示。,返回

6、,解:设数据串行发送采用中断方式,显示的延迟通过调用延迟程序DELAY来实现。,中断方式程序清单: ORG 0023H ;串行口中断入口 AJMP SBR ;转入串行口中断服务程序 ORG 2000H ;主程序起始地址 MOV SCON ,#00H ;串行口方式0初始化 MOV IE,#10010000B MOV A ,#80H ;最左一位发光二极管先亮 CLR P1.0 ;关闭并行输出 SETB P1.0 ;启动并行输出 MOV SBUF,A ;开始串行输出 LOOP : SJMP $ ;等待中断 SBR : ACALL DELAY ;显示延迟一段时间 CLR TI ;清发送中断标志 RR

7、A 准备右边一位显示 CLR P1.0 ;关闭并行输出 SETB P1.0 ;启动并行输出 MOV SBUF , A ;再一次串行输出 RETI ;中断返回,查询方式程序清单: ORG 2000H ;主程序起始地址 MOV SCON ,#00H ;串行口方式0初始化 MOV A ,#80H ;最左一位发光二极管先亮 LOOP1: CLR P1.0 SETB P1.0 MOV SBUF,A ;开始串行输出 LOOP : JNB TI, $ ;等待中断 SBR : ;启动并行输出 ACALL DELAY ;显示延迟一段时间 CLR TI ;清发送中断标志 RR A ;准备右边一位显示 SJMP L

8、OOP1,读图练习,DOUT BIT P2.1 CLK BIT P2.0 DP12: MOV R2, #8 MOV A, R0 DP13: RLC A MOV DOUT, C CLR CLK SETB CLK DJNZ R2, DP13 RET,先输出低位吗?,能改变吗?,解:设数据的发送不采用串行口,即用一段程序模拟串口方式0的操作,选择用P2.1传数据,P2.0传时钟。,读图练习-实验六的原理图,返回,用方式0加上并入串出移位寄存器可扩展一个8位并行输入口。移位寄存器必须带有预置/移位的控制端,由单片机的一个输出端子加以控制,以实现先由8位输入口置数到移位寄存器,然后再串行移位从单片机的串

9、行口输入到接收缓冲器,最后再读入到CPU中。,1、串行口方式0的应用,补例7-2:用89C51串行口外加移位寄存器165或166扩展8位输入口,输入数据由8个开关提供,另有一个开关K提供联络信号。当K=0时,表示要求输入数据,输入的8位为开关量,提供逻辑模拟子程序的输入信号。,74LS165读图所得:置数和移位由引脚shift控制,低为置数,高位移位。跨接在H上的开关量最先移出;而方式0的数据传送规则是低位在先,所以,最后移入SBUF中的数据为:A在最高位、H在最低位。,读图练习,PL被定义为移位/置数控制端:PL=1移位; PL=0异步置数,0对应A;7对应H,这里才是D0,PL BIT P1.0 ORG 00H START: CLRPL SETBPL;发送移位脉冲 MOV SCON,#10H;允许串行口接收数据 WAIT: JNB RI,WAIT MOV A,SBUF ;读取数据 CLR RI;清除接收中断标志

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论