单片机实用技术 教学课件 ppt 作者 陶春鸣 05

上传人:E**** 文档编号:89355421 上传时间:2019-05-23 格式:PPT 页数:29 大小:180KB
返回 下载 相关 举报
单片机实用技术 教学课件 ppt 作者  陶春鸣 05_第1页
第1页 / 共29页
单片机实用技术 教学课件 ppt 作者  陶春鸣 05_第2页
第2页 / 共29页
单片机实用技术 教学课件 ppt 作者  陶春鸣 05_第3页
第3页 / 共29页
单片机实用技术 教学课件 ppt 作者  陶春鸣 05_第4页
第4页 / 共29页
单片机实用技术 教学课件 ppt 作者  陶春鸣 05_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《单片机实用技术 教学课件 ppt 作者 陶春鸣 05》由会员分享,可在线阅读,更多相关《单片机实用技术 教学课件 ppt 作者 陶春鸣 05(29页珍藏版)》请在金锄头文库上搜索。

1、第5章 单片机串行通信,5.1 串行通信概述,5.1.1 串行通信基本原理 5.1.2 RS-232C总线标准 5.1.3 串行接口电路,串行通信的基本特征是数据逐位顺序进行传送 串行通信的格式及约定(如:同步方式、通讯速率、数据块格式、信号电平等)不同,形成了多种串行通信的协议与接口标准。 常见的有: 通用异步收发器(UART)本课程介绍的串口 通用串行总线(USB) I2C总线 CAN总线 SPI总线 RS-485,RS-232C,RS422A标准等等,5.1.1 串行通信基本原理,串行通讯的两种通讯 异步通讯:字符为单位进行传送,利用起始位表示字符的开始,用停止位表示字符结束。,同步串行

2、通信:以数据块为单位进行传送,串行口通讯方向 单工通讯:通讯接口只能发送或接受的单向通讯方式 半双工通讯:通讯接口既可发送又可接受,但不能同时进行 全双工通讯:通讯接口能同时发送接受的通讯方式,串行通信的数据传送率 传送率:数据传送速度 波特率(baud rate):异步通信中数据传输速率的单位,其含义每秒传送多少位二进制数 例:数据传送的速率为120个字符每秒,每个字符有1个起始位、8个数据位和一个停止位组成,则其传送波特率为:,(1)RS-232C是一种电压型总线标准,以不同极性的电压表示逻辑值: 3V 25V表示逻辑“1”(mark); +3V +25V表示逻辑“0”(space)。 (

3、2)标准数据传送速率有50,75,110,150,300,600,1200,2400,4800,9600,19200波特等。 (3)采用标准的25芯插头座(DB-25)进行连接,该插头座也称为RS-232C连接器。,5.1.2 RS-232C总线标准,5.1.3 串行接口电路,数据转换由串行接口电路实现,这种电路也称为通用异步接收发送器(UART)。从原理上说,一个UART应包括发送器电路、接收器电路和控制电路等内容,其主要功能如下。 数据的串行化/反串行化 错误检验,5.2.1 串口寄存器结构 5.2.2 串行通信控制寄存器,5.2 MCS-51单片机的串行口及控制寄存器,5.2.1 串口寄

4、存器结构,SBUF(发),SBUF(收),发送控制器 TI,接收控制器 RI,移位寄存器,波特率发生器T1,1,A累加器,(门)移位寄存器,RxD,TxD,去申请中断,引脚,引脚,两个同名的接收/发送缓冲寄存器SBUF 指令 MOV SBUF,A 启动一次数据发送,可向SBUF再发送下一个数 指令 MOV A,SBUF 完成一次数据接收,SBUF可再接收下一个数 接收/发送数据,无论是否采用中断方式工作,每接收/发送一个数据都必须用指 令对 RI/TI 清0,以备下一次收/发。,串行口控制寄存器 SCON,SM0 SM1 SM2 REN TB8 RB8 TI R1,98H,SM0,SM1:串行

5、口4种工作方式的选择位。 0 0 方式0:8位移位寄存器I/O,波特率固定为fosc/12 0 1 方式1:8位UART,波特率可变,按公式计算 1 0 方式2:9位UART,波特率固定=fosc x1/32或1/64 1 1 方式3:9位UART,波特率可变,按公式计算 SM2:串行口多机通信控制位,(作为方式2、方式3的附加控制位),RI,TI:串行口收/发数据申请中断标志位 1 申请中断; 0 不申请中断 RB8:在方式2、3中,是收到的第9位数据。 在多机通信中,用作区别地址帧/数据帧的 标志。(奇偶校验) TB8:方式2、3中,是要发送的第9位数据。 多机通信中,TB8=0 表示发送

6、的是数据; TB8=1 表示发送的是地址。(奇偶校验) REN:串行口接收允许控制位 = 1 表示允许接收; = 0 禁止接收。,电源控制寄存器 PCON PCON,97H,SMOD GF1 GF0 PD 1DL,SMOD:在串行口工作方式 1、2、3 中,是波特率加倍位 =1 时,波特率加倍 =0 时,波特率不加倍。 (在PCON中只有这一个位与串口有关) GF1,GF0:用户可自行定义使用的通用标志位 特殊功能寄存器PCON不能按位寻址,5.3 MCS-51单片机串行通信工作方式,工作方式0:8位移位寄存器I/O方式 发送:SBUF中的串行数据由RxD逐位移出; TxD输出移位时钟,频率=

7、fosc1/12; 每送出8位数据 TI就自动置1; 需要用软件清零 TI。 接收:串行数据由RxD逐位移入SBUF中; TxD输出移位时钟,频率=fosc1/12; 每接收 8位数据RI就自动置1; 需要用软件清零 RI。,经常配合“串入并出”“并入串出”移位 寄存器一起使用扩展接口 方式0工作时,多用查询方式编程: 发送:MOV SBUF,A 接收:JNB RI,$ JNB TI,$ CLR RI CLR TI MOV A, SBUF 复位时,SCON 已经被清零,缺省值: 方式0。 接收前,务必先置位 REN=1 允许接收数据。,工作方式1: 8位UART(1+8+1位)波特率可变 常用

8、于串行通讯。除发/收8位数据外,还 在D0位前有一个起始位“0”; 在D7位后有一个停止位“1”。 方式1工作时: 发送端自动添加一个起始位和一个停止位; 接收端自动去掉一个起始位和一个停止位。 波特率可变 用定时器T1作波特率发生器: 公式:波特率 =(2SMOD/32)T1的溢出率,工作方式2 9位UART 两种波特率 由于波特率固定,常用于单片机间通讯。 数据由8+1位组成,通常附加的一位 (TB8/RB8)用于“奇偶校验”。 方式2的波特率 = fosc 2SMOD/64 即: fosc 1/32 或 fosc 1/64 两种 奇偶校验是检验串行通信双方传输的数据正确与否的一个措施,并

9、不能保证通信数据的传输一定正确。 换言之:如果奇偶校验发生错误,表明数据传输一定出错了;如果奇偶校验没有出错,绝不等于数据传输完全正确。 奇校验:8位有效数据连同1位附加位中,二进制“1”的个数为奇数 偶校验:8位有效数据连同1位附加位中,二进制“1”的个数为偶数,约定发送采用奇校验 若发送的8位有效数据中“1”的个数为偶数, 则要人为添加一个附加位“1”一起发送; 若发送的8位有效数据中“1”的个数为奇数, 则要人为添加一个附加位“0”一起发送。 约定接收采用奇校验 若接收到的9位数据中“1”的个数为奇数, 则表明接收正确,取出8位有效数据即可; 若接收到的9位数据中“1”的个数为偶数, 则

10、表明接收出错!应当进行出错处理。 采用偶校验时,处理方法与奇校验相反,工作方式3 9位UART 波特率可变 串口方式3和方式2唯一的区别是波特率机制不同。 方式2的波特率固定为时钟周期的32或64分频,不可变。此工作方式与其他串行通讯设备连接困难,因此不常用。 方式3的波特率可变,按前面的公式计算: 波特率=(2SMOD/32)T1的溢出率,波特率的计算 波特率=(2SMOD/32)T1的溢出率 溢出率:T1溢出的频繁程度 即:T1溢出一次所需时间的倒数。 波特率 = 初值 X = 2n -,2SMOD fosc 32 12(2n - X),2SMOD fosc 32 波特率 12,常用波特率

11、和T1初值查表,串行口方式0输出,在串行口外接移位寄存器,构成显示器接口.如图所示,三片74LS164串接成24位并行输出移位寄存器,每片74LS164接一个共阳极8段LED显示器,构成三维数据显示,这里P1.0作串行输出选择信号(只有P1.0为高时,串行同步信号TXD才能输出),这种显示器称为静态显,CPU不必为显示服务而频繁执行扫描任务.设显示缓冲区设在DISBUF开始的区域中. 解:1. 确定工作方式 (SCON)0000 0000B90H ; 串行口以方式0输出,5.4 串行口通信实例,DISPLY:MOV SCON,#00H ;选择串行口为方式0发送 MOV R7,#3H ;字节计数

12、 MOV R0,DISBUF ;R0指向显示缓冲区 SETB P1.0 ; 选通TXD同步移位时钟 L1: MOV A, R0 ;区要显示的数 ADD A, #13 ;地址调整 MOVC A,A+PC ; 查字形表 MOV SBUF,A ; 开始发送 JNB T1, $ ; 等待一帧发送完 CLR TI ; 清发送中断标志 INC R0 ; 修改显示缓冲区指针 DJNZ R7, L1 ; 三个LED实现完了否? CLR P1.0 ; 关TXD RET ; 返回 TABLE: DB 11H, D7H DB 18H, D8H,把内部RAM40h5FH单元的ASCII码,在最高位D7加上奇偶校验位后

13、由甲机发送到乙机,波特率为1.2K,晶振fosc=11.059MHz. 解:1)设置甲机为串行方式1发送状态,SCON40H;乙机为串行方式1接受状态, SCON50H. 2)甲乙机用定时器T1工作在方式2波特率发生器,波特率为1.2K,当fosc=11.059MHz,重装初值为E8H.定时器T1方式字TMOD20H. 3)ASCII码奇偶校验位的加入,可采用以下程序实现: MOV A,#ASCII ;P=0,偶数个“1” 1,奇数个“1” MOV C,P ; CPL C ;奇校验 MOV ACC.7,C ;在D7加上奇校验位,甲机软件: MOV TMOD,#32 ;定时器T1为方式2 MOV

14、 TL1,#0E8H ; MOV TH1,#0E8H ;赋初值 SETB TR1 ;启动T1 MOV SCON,#40H ;串行口方式1 MOV R0,#40H ;R0作指针 MOV R1,#32 ;发送32个字节 NEXT: MOV A,R0 ;取ASCII码 LCALL SOUT ;转到发送子程序 INC R0 ;修改指针 DJNZ R1,NEXT ;未发送完则继续,乙机软件: MOV TMOD,#32 ;定时器T1为方式2 MOV TL1,#0E8H ; MOV TH1,#0E8H ;赋初值 SETB TR1 ;启动T1 MOV R0,#60H ;ASCII码首址指针 MOV R1,#32 ;接受32个字节 NEXT: LCALL SIN ;转到接受子程序 JNC ERR ;若“1”的个数位偶则出错 MOV R0,A ;接受到的字符存入缓冲区 DJNZ R1,NEXT ;未完则继续,SIN: MOV SCON,50 ; JNB T1,$ ; MOV A,SBUF ; MOV C,P ; ANL A,#7FH ; RET ;,

展开阅读全文
相关资源
相关搜索

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

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