微机原理及第五章

上传人:wt****50 文档编号:50707538 上传时间:2018-08-10 格式:PPT 页数:45 大小:627.50KB
返回 下载 相关 举报
微机原理及第五章_第1页
第1页 / 共45页
微机原理及第五章_第2页
第2页 / 共45页
微机原理及第五章_第3页
第3页 / 共45页
微机原理及第五章_第4页
第4页 / 共45页
微机原理及第五章_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《微机原理及第五章》由会员分享,可在线阅读,更多相关《微机原理及第五章(45页珍藏版)》请在金锄头文库上搜索。

1、第五章 MCS-51单片机串行接口一、串行通信概述1、什么叫串行通信? 0010001001P0.0 P0.1 P0.2 P0.3RXDTXD单片机外设1外设2111111 0 1 01 0 0 0并行串行DateDate1 1串行通信的优势:串行通信的优势: (1 1)用于通信的线路少,因而在远距离通信时)用于通信的线路少,因而在远距离通信时 可以极大地降低成本;可以极大地降低成本; (2 2)常用于速度要求不高的近距离数据传送。)常用于速度要求不高的近距离数据传送。 串行通信的缺点:通信速度较慢。串行通信的缺点:通信速度较慢。串行通信:串行通信:将数据分解成二进制位用一将数据分解成二进制位

2、用一 条信号线,一位一位顺序传送的方式。条信号线,一位一位顺序传送的方式。DateDate2 22、同步通信、异步通信 同步发送设备时钟与接收设备时钟严格一致。发送设备接收设备DateDate3 3同步字符数据数据数据校验字符一帧同步通信:同步通信:以一个数据块(帧)为传输单以一个数据块(帧)为传输单 位,每个数据块附加位,每个数据块附加1 1个或个或2 2个同步字符,个同步字符, 最后以校验字符结束。最后以校验字符结束。DateDate4 4异步通信:起始位每个字符开始传送的标志,起始位采用逻辑0 电平数据位数据位紧跟着起始位传送。 由58个二进制位组成,低位先传送校验位用于校验是否传送正确

3、;可 选择奇校验、偶校验或不传送校验位停止位表示该字符传送结束。停止 位采用逻辑1电平,可选择1、1.5或2位空闲位传送字符之间的逻辑1电平, 表示没有进行传送起始位校验位停止位空闲位数据位低位高位字符0/1 0/10/10/110111发送时钟与接收时钟不一定相等。DateDate5 5串行异步通信:把一个字符看作一个独立 的信息单元,并且字符出现在数据流中的 相对时间是任意的,而每个字符中的各位 是以固定的时间传送。即:字符内同步, 字符间异步。串行异步通信的通信协议是起止式异步通信协议DateDate6 63、串行通信的方向单工 A发B收半双工A发收B收发例如:广播电台收音机例如: 对讲

4、机 DateDate7 7全双工A发收B收发例如: 电话机DateDate8 8举例:设有一帧信息,1个起始位、8个数据位、1个停止位,传输速率为每秒240个字符。求波特率。解:(181)240 = 2400 b/s = 2400波特。 4、波特率即串行通信速率。 b/s 、 bps 在异步通信中,单位时间内所传送的有效二 进制位数波特率。DateDate9 95、串行通信接口发送 :CPUD7D6D5D4D3D2D1D0发送寄存器 SBUF0 1D0D1D2D3D4D5D6D7发送时钟:串出,TI=1并出,MOV SBUF,ADateDate1010接收 :D0D1D2D3D4D5D6D7

5、1 0D7D6D5D4D3D2D1D0CPU接收时钟接收数据 寄存器 SBUF串入,RI=1并入,MOV A,SBUFDateDate1111二、MCS-51机串行接口单片机内有通用异步接收/发送器 UART。全双工,4种工作方式,波特率可编程设置,可中断。 1、串口的组成从编程角度讲来看主要由以下寄存器组成。 SBUF 串行发送 / 接收数据缓冲器是两个物理单元,共用一个地址(99H)DateDate1212PCON 电源管理寄存器SMODSMOD位用于决定波特率的倍数。 0 20 = 1倍1 21 = 2倍DateDate1313SCON 串行口控制寄存器TI / RI :中断请求标志位(

6、前面已讲过)RB8:接收的第九位数TB8:发送的第九位数REN:允许接收控制位SM2:多机通信控制位(常与RB8配合,决定是否激活RI)SM0、SM1:工作方式选择位(四种工作方式)SM0SM1SM2RENTB8RB8 TI RIDateDate1414波特率的设置方式0波特率= fosc / 12方式2的波特率 方式2波特率取决于PCON中SMOD位的值:SMOD=0时,波特率为fosc的1/64;SMOD=1时,波特率为fosc的1/32。即方式2波特率=2SMOD/64foscDateDate1515波特率的设置此时一般选T1工作在模式2(8位自动重装初值)。方式1,方式3可变。波特率

7、= 2SMOD (T1的溢出率)32T1溢出率 = 单位时间内溢出次数 = 1 /(T1的定时时间)DateDate1616N 为计数初值 t = (28N)T =(28N)12 / foscT1溢出率 = 1/t = fosc / 12(28N)若已知波特率,则可求出T1 的计数初值: y = 2562SMODfosc 波特率 3212DateDate1717例、若fosc = 6MHz,波特率为2400波特,设SMOD = 1, 则定时/计数器T1的计数初值为多少? 解:Y= 2562SMODfosc / (24003212)= 242.98243 = F3Hy = 2562SMODfos

8、c 波特率 3212DateDate18182、串行口的工作方式(1)方式0:同步移位寄存器方式 波特率固定为fosc / 12RXD 接收发送数据TXD 产生同步移位脉冲接收/发送完,置位RI / TI ,(要求SM2 = 0) D7 D6 D5 D4 D3 D2 D1 D0D0 D1 D2 D3 D4 D5 D6 D7发送接收无起始位,无停止位 。可用于将串行口转换为并行口DateDate191974LS164串入并出移位寄存器,D1,D2为数据端,CP 为时钟端,CLR为选通端MOV SCON,#0 ;选方式0AGA: SETB P1.0 ;选通74164MOV A,#data ;准备数

9、据MOV SUBF,A ;写入SUBFWAIT:JNB TI,WAIT ;发送完毕?CLR TI ;清除TICLR P1.0 ;关闭74164AJMP AGA1)方式0的发送DateDate20201)方式0的发送org 0000HMOV SCON,#00HCLR P1.0MOV A,#80H START: MOV SBUF,A LOOP: JNB TI,LOOPSETB P1.0ACALL DELAYCLR TIRR ACLR P1.0SJMP STARTDateDate2121软件清TI,写入下一 数据发送数据过程MOV SCON,#0 ;选方式0AGA: SETB P1.0 ;选通741

10、64MOV A,#data ;准备数据MOV SUBF,A ;写入SUBFWAIT:JNB TI,WAIT ;发送完毕?CLR TI ;清除TICLR P1.0 ;关闭74164AJMP AGA自动 置1内部数据并行写 入SUBF发数据串行送出中断标志位TI置1DateDate22222)方式0的接收74LS165并入串出移位寄存器,, Q为数据端,2为时钟端S/L为控制端=0时,允许置入并行数据;=1时,允许输出串行数据DateDate2323MOV R0,#50H ;地址指针初值MOV R7,#2 ;接收字节计数RQ: CLR P1.0 ;允许并入数据SETB P1.0 ;允许串入数据MO

11、V SCON,#10H ;方式0,开放RIJNB RI,$ ;接收完毕?CLR RI ;清除RIMOV A,SUBF ;读SUBFMOV R0,A ;存入片内RAMINC R0DJNZ R7,RQ ;接收循环控制DateDate2424CPUCPU响应中断响应中断 软件清软件清RI,RI,读读 走数据走数据接收数据接收数据的过程的过程MOV R0,#50H ;地址指针初值MOV R7,#2 ;接收字节计数RQ: CLR P1.0 ;允许并入数据SETB P1.0 ;允许串入数据MOV SCON,#10H ;方式0,开放RIJNB RI,$ ;接收完毕?CLR RI ;清除RIMOV A,SUB

12、F ;读SUBFMOV R0,A ;存入片内RAMINC R0DJNZ R7,RQ ;接收循环控制自动 置1外界数据串行送外界数据串行送 入移位寄存器入移位寄存器数据并行送入数据并行送入 SUBFSUBF收收 中断标志位中断标志位RIRI置置1 1 DateDate2525课本例子5.1org 0000HMOV SCON,#00HCLR P1.0MOV A,#80H START: MOV SBUF,A LOOP: JNB TI,LOOPSETB P1.0ACALL DELAYCLR TIRR ACLR P1.0SJMP STARTDateDate2626DELAY: MOV R3,#06HMO

13、V TH0, #0FCHMOV TL0, #0F0HSETB TR0 LP1: JBC TF0,LP2SJMP LP1 LP2: MOV TH0,#0FCHMOV TL0,#00HDJNZ R3,LP1RETEND DateDate2727课本例子5.2org 0000Hjmp mainorg 30h main: SETB P1.1JB P1.1,MAINSETB P1.0CLR P1.0MOV SCON,#10H LOOP: JNB RI,LOOPCLR RIMOV A,SBUFACALL PPLJMP MAIN PP: MOV P1,#00HMOV P1,ARETENDDateDate28

14、28(2)方式1:8位UART 波特率为(2SMODT1的溢出率)/ 32 ,可变。一帧信息10位。D0D1D2D3D4D5D6D7停止位1起始位0发送D7D6D5D4D3D2D1D0起始位0停止位1接收发送完置位TI。当接收到数据后,置位RI是有条件的。即:REN = 1,RI = 0 DateDate2929上例中fosc = 6MHz,波特率为2400波特,设SMOD = 1, 试对其进行初始化编程。 初始化编程: MOV TMOD,#20HMOV TH1,#0F3HMOV TL1,#0F3HSETB TR1T1工作在模式2(8位自动重装初值)。DateDate3030初始化编程: MOV PCON,#80HMOV SCON,#50H SMODSCON 串行口控制寄存器SM0SM1SM2RENTB8RB8 TI RIDateDate3131方式1用法点对点的异步通信连接微机ATxDRxD GND微机B TxD RxDDateDate3232例:A向B发送00H,B若收到00H,则回送05H,否 则回送00H 。A收到05结束程序,否则重新发 00H。A机编程:初始化编程: MOV TMOD,#20HMOV TH1,#0F3HMOV TL1,#0F3HSETB TR1 MOV PCON,#80H MOV

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

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