单片机技术与应用 教学课件 ppt 作者 刘松 单元5 串行通信

上传人:E**** 文档编号:89477126 上传时间:2019-05-25 格式:PPT 页数:55 大小:1,019.50KB
返回 下载 相关 举报
单片机技术与应用 教学课件 ppt 作者 刘松 单元5 串行通信_第1页
第1页 / 共55页
单片机技术与应用 教学课件 ppt 作者 刘松 单元5 串行通信_第2页
第2页 / 共55页
单片机技术与应用 教学课件 ppt 作者 刘松 单元5 串行通信_第3页
第3页 / 共55页
单片机技术与应用 教学课件 ppt 作者 刘松 单元5 串行通信_第4页
第4页 / 共55页
单片机技术与应用 教学课件 ppt 作者 刘松 单元5 串行通信_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《单片机技术与应用 教学课件 ppt 作者 刘松 单元5 串行通信》由会员分享,可在线阅读,更多相关《单片机技术与应用 教学课件 ppt 作者 刘松 单元5 串行通信(55页珍藏版)》请在金锄头文库上搜索。

1、单元5 AT89S52串行通信,学习目标: 了解串行通信的基本知识 掌握串行口的工作方式 掌握波特率的设计 掌握串行口工作方式的应用 掌握程序调试的基本方法和技巧。 技能目标: 会对串行口进行初始化。 会计算串行口通信波特率。 能够实现单片机与单片机之间、单片机和PC机之间的通信。,项目一 单片机点对点通信 第一部分 项目要求 利用AT89S52实现单片机点对点通信。要求将存放在甲机的数据存储器20H27H单元中数据,首先在甲机上显示,然后发送到PC机,进而再发送到乙机,以实现单片机与PC机和单片机与单片机之间的通信。,第二部分 相关知识 一、串行通信基本知识 (一)串行通信的基本概念,单工形

2、式:数据只能单方向从一端向另一端传送;如:有线电视节目。,半双工形式:数据可以双向传送,但任一时刻只能向一个方向传送。既可分时双向传送数据 。 如:某些对讲机,单工,半双工,全双工形式:同时双向传送数据,因此,全双工配置是一对单向配置,它要求两端的通信设备都具有完整和独立的发送和接收能力。 通信效率最高,适合于计算机之间的通信。,发送端 接收端,接收端 发送端,数据线,地线,全双工,数据线,(二)串行通信基本通信方式,通信双方要正确的进行数据传输,需要解决何时开始传输、何时结束传输,以及数据传输速率等问题,这就是数据传输中的同步问题。 通常,实现数据同步有两种方式:异步通信和同步通信。 1异步

3、通信: 数据一帧一帧地传送。发送端和接收端可以由各自的时钟控制数据的发送和接收,两个时钟源彼此独立,互不同步。 数据的一帧:由一个字符代码组成。,帧格式:一个字符由四部分组成:起始位、数据位、奇偶校验位和停止位。 起始位(0):位于字符帧的开头,占用一位,用来通知接收设备一个待接收的字符开始到达。 数据位:紧跟起始位后, 58位数据(规定低位在前,高位在后) 奇偶校验位(可省略),占一位,用于对字符传送作正确性检查,因此奇偶校验位是可选择的,共有三种可能,即奇偶校验、偶校验和无校验,由用户根据需要选定。 停止位(1)停止位用来表征字符的结束。停止位可以是1位、1.5位或2位。接收端收到停止位后

4、,知道上一字符已传送完毕,2. 同步通信,在一个数据块的开头使用同步字符。数据传送时使用同一频率的脉冲来实现发送端与接收端的严格时间同步。,二、串行通信总线标准及其接口,传输距离不同,可以选择不同的总线标准。,如果是长距离传送,可采用RS-485标准。,短距离传送,只需要TX、RX和GND三根线。,距离在15米左右,采用RS-232标准接口。,(一)RS-232标准,RS-232C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的于1969年公布的通信协议。,1. RS-232C的电气特性 数据线上的信号电平 mark(逻辑1) = -3-15V space(逻辑0) = +3+15

5、V (2) 控制和状态线上的信号电平 ON(逻辑0)= +3+15V(接通) OFF(逻辑1)= -3-15V(断开),电平转换 RS-232C接口采用双极性信号、公共地线和负逻辑;不能和TTL电平直接相连,使用时必须进行电平转换,否则将使TTL电路烧坏,实际应用时必须注意!在实际应用时,必须通过专用电平转换芯片进行电平转换。 电平转换芯片MC1488、MC1489、 MAX232 MC1488可实现TTLRS-232的电平转换; MC1489可实现RS-232TTL的电平转换。 MAX232芯片可完成TTL到EIA双向电平的转换,TTL到EIA电平的转换,MAX232管脚说明如下: C1+、

6、C1-、C2+、C2- 是外接电容端; R1IN、R2IN则是2路RS-232C电平信号接收输入端; R1OUT、R2OUT是2路转换后的TTL电平接收信号输出端,送80S52的RxD接收端; T1IN、T2IN是2路TTL电平发送输入端,接80S52的TxD发送端; T1OUT、T2OUT是2路转换后的发送RS-232C电平信号输出端,接传输线; V+经电容接电源十5V; V-经电容接地。,PC机与AT89S52单片机串行通信电路 图中外接电解电容C1、C2、C3、C4用于电源电压变换,提高抗干扰能力,它们可以取相同数值电容1.0 F/16 V。电容C5用于对5 V电源的噪声干扰进行滤波,其

7、值一般为0.1 F,2. 信号接口,(二)AT89S52串行口结构与控制 1. 串行口的结构,SM0、SM1:串行口工作方式控制位,两位对应 四种工作方式,如下表所示(fosc是晶振频率)。,2. 串行口控制 (1)串行口控制寄存器SCON(98H),SM2:多机通信控制位,主要用于方式2和方式3 当串行口以方式2或方式3接收时,如SM2=1,则只有当接收到的第9位数据(RB8)为1,才将接收到的前8位数据送入SBUF,并置位RI产生中断请求,否则将接收到的前8位数据丢弃。 SM2=0,不论第9位数据为0还是为1,都将前8位数据装入SBUF中,并产生中断申请。 在方式0时,SM2=0。 REN

8、:允许接收控制位 REN=1,允许接收;REN=0,禁止接收。,TB8:发送数据第9位 方式0,此位未使用 方式1,此位未使用 方式2和方式3:TB8=1,说明该发送帧为地址帧。 TB8=0,说明该发送帧为数据帧 RB8:接收数据第9位 方式2和方式3:RB8存放接收到的第9位数据,代表接收数据的某种特征。 若SM2=1,RB8=1,说明收到帧为地址帧。,TI:发送中断标志 在一帧数据发送完时置位。TI=1,申请中断,中断被响应后,TI不能自动清零,必须由软件清零。 RI:接收中断标志 在接收到一帧有效数据后,由硬件置位。RI=1,申请中断。RI不能自动清零,必须由软件清零。,(2)电源控制寄

9、存器PCON,PCON不能位寻址。 SMOD串行口波特率的倍增位 当SMOD=1时,串行口波特率加倍。 系统复位时,SMOD0。,三、AT89S52串行口工作方式 (一)串行口波特率设计 1. 波特率 波特率的定义是每秒钟传送二进制数码的位数(亦称比特数),单位是b/s。 假设数据传送速率是120字符/s,而每个字符格式包含10个代码(1个起始位、1个终止位、8个数据位)。这时,传送的波特率为 (10b字符)120字符s = 1200 bs 每一位代码的传送时间Td为波特率的倒数。,2. 波特率设计 方式0波特率 方式0波特率 = fosc 12 方式2波特率 方式2波特率 = (2SMOD/

10、64) fosc SMOD为0时,波特率等于振荡器频率的1/64 SMOD为1时,波特率等于振荡器频率的1/32。 方式1和方式3的波特率 串行口方式1和方式3的波特率由定时器T1或T2的溢出率和SMOD所确定。 波特率= 2smod32(定时器1溢出率),例如振荡频率fosc=11.0596MHZ,若SMOD=0,通信波特率为9600波特,则 X=25611.0596106(1+0)/ (9600384) =253=FDH 初始化程序如下: MOV TMOD,#20H ;设T1为定时方式2 MOV THl,#0FDH ;设定波特率为9600bits MOV TLl, #0FDH SETB T

11、Rl ;启动定时器 MOV PCON,#00H ;SMOD=0 MOV SCON,#50H ;串行口工作在方式1,(二)串行口工作方式 1. 工作方式0 当SM0 SMl=00时,串行接口选择工作方式0,为同步移位寄存器输入/输出方式,常用于扩展I/O口。串行数据从RXD(P3.0)端输入或输出,同步移位脉冲由TXD(P3.1)送出,作为外接部件的同步信号。发送或接收的是8位数据(低位在前,高位在后)。其波特率固定为fosc/12。 发送完置中断标志TI为1,请求中断。在再次发送数据之前,必须由软件清TI为0。,接收前置REN=1和RI=0,当8位数据接收结束,RI被置“1”,可通过指令MOV

12、 A,SBUF将数据读入。 下图采用一个串入并出移位寄存器,TXD连接串行口输出移位寄存器164的时钟端,RXD连接164的输入端,P1.0连接164的CLR选通端。,根据硬件连接,方式0发送数据程序如下: SETB P1.0 ;选通74LS164 MOV SCON,#00H ;串口工作在方式0 MOV A,#DATA MOV SBUF,A ;发送数据 JNB TI,$ ;等待发送完? CLR TI ;清除TI中断标志 CLR P1.0 ;关闭74LS164,2. 工作方式1 工作方式1,SM0 SMl= 01,为可变波特率的8位异步通信方式。 发送数据由TXD端输出,接收数据由RXD端输入。

13、 方式1以10位为一帧传输,设有1个起始位(0),8个数据位和1个停止位(1)。其帧格式起始位(0),8个数据位和1个停止位(1)。,发送时,数据从TXD端输出,当数据写入发送缓冲器SBUF后,启动发送器发送。当发送完一帧数据后,置中断标志TI为1。方式1所传送的波特率取决于定时器1的溢出率和PCON中的SMOD位。 接收时,由REN置1,允许接收,串行口采样RXD,当采样由1到0跳变时,确认是起始位“0”,开始接收一帧数据。当RI=0,且停止位为1或SM2=0时,停止位进入RB8位,同时置中断标志RI;否则信息将丢失。所以,方式1接收时,应先用软件清除RI或SM2标志。,【例5.1】89S5

14、2串行口按双工方式收发ASCII字符,甲机发送的字符从外部RAM的1000H开始,检测到结束字符0AH就结束发送,乙机将接收的字符放在内部RAM的30H开始的空间。要求通信的波特率为9600波特,用中断方式编写通信程序。,主程序: MOV TMOD,#20H ;定时器1设为工作方式2 MOV TLl,#0FDH ;定时器初值 MOV THl,#0FDH ;8位重装值,SETB TRl ;启动定时器1 MOV SCON,#50H ;将串行口设置为方式1, REN=l MOV DPTR,#1000H ;发送数据区首址送 DPTR MOV R0, #30H ;接收数据区首址送R0 SETB ES S

15、ETB EA ;开中断 ACALL SEND ;先发送一个字符 L00P: SJMP $ ;等待中断,发送子程序 SEND:CLR TI MOV A,DPTR ;取发送数据到A INC DPTR ;修改发送数据指针 MOV SBUF,A ;发送ASCII码 CJNE A,#0AH,SEN1 ;是否是结束字符 CLR ES ;关闭串口中断 SEN1:RET ;返回,中断服务程序 ORG 0023H ;串行口中断入口 AJMP RSI ;转至中断服务程序 ORG 0100H RSI:JNB RI, SEN ;TI=1,为发送中断 ACALL REV ;RI=1,为接收中断 SJMP NEXT ;转至统一的出口 SEN:ACALL SEND ;调用发送子程序 NEXT: RETI ;中断返回,接收子程序 REV: CLR RI MOV A, SBUF ;读出接收缓冲区内容 MOV R0, A ;读入接收缓冲区 INC R0 ;修改接收数据指针 CJNE A,#0AH,RES ;是否是结束字符 CLR ES ;关闭串口中断 RES: RET ;返回,3. 工作方式2 SM1 SM0= 10,串行接口选择工作方式2。 方式2是11位异步通信方式,每帧数据由1个起始位“0”、9个数据位和1个停止位“1”共11构

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

最新文档


当前位置:首页 > 高等教育 > 大学课件

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