版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机第十章串行口1第1页,共36页,2022年,5月20日,3点0分,星期二二串行通讯的字符格式:1.异步通讯: 传送方向. 1 数据 0 . 1 数据 0. 1 数据 0 停止位 起始位 停止位 起始位 停止位 起始位 若干空闲位 数据中信息的两种状态分别以mark 和space 标志,其中: mark译为”标号”,对应逻辑1的状态。 Space译为”空格”,对应逻辑0的状态。 2第2页,共36页,2022年,5月20日,3点0分,星期二每一幀数据均以0开始,以1终止,中间传送的数据位可以是5位,7位,8位均可,中间有若干空闲位,空闲时一般处于1的状态。 异步通讯比较灵活,实现起来比较简单
2、2. 同步通讯:选用一个同步字符,例如0010010发送过去,约定同时开始同步传送。 传送方向 数据 数据 数据 数据 同步字符数据之间没有间隔,可连续发送。 3第3页,共36页,2022年,5月20日,3点0分,星期二比较:同步传送效率比异步高。如果传送200个字节加一各同步字符,则辅助数据只佔0.5若用异步传送到200个字节则至少有400位辅助数据,其数量可观。三.异步串行通讯的信号格式: 1近程通讯 RS232 TXD甲机 RXD GND1488148914891488RXD乙机TXD GNDTTLTTLTTLTTLRS2324第4页,共36页,2022年,5月20日,3点0分,星期二近
3、程通讯采用数字信号直接传送方式:计算机内部的数据信号是TTL电平标准,而通信线上的数据信号是RS-232电平标准。尽管电平标准不同,但数据信号的波形和频率并没有改变,近程串行通讯只需用传输线把两端接口电路直接连接起来即可实现。RS-232和TTL电平标准的逻辑值规定为: RS-232标准 TTL标准逻辑1(mark) -3 -25V 2 5V (高电平额定值3V)逻辑0(space) +3 +25V 0 0.8V(低电平额定值0.2V)5第5页,共36页,2022年,5月20日,3点0分,星期二2远程通讯在远程通讯中,应使用专用通信电缆,出于经济的考虑,通常使用电话线作为传输线,如图:计算机M
4、ODEMMODEM计算机数字信号数字信号RS-232标准RS-232标准模拟信号电话线地地6第6页,共36页,2022年,5月20日,3点0分,星期二远距离直接传送数字信号,信号会发生畸变,为此要把数字信号转变为模拟信号再进行传送,通常使用频率调制法,即以不同频率的载波信号代表数字信号的两种不同电平状态,这种数据传送方式称为频带传送方式。通常为:mark:1270HZ 或 2225HZspace:1070HZ 或 2025HZ在串行通信发送端有调制器,用以把电平信号调制为频率信号,而在接收端有解调器,用以把频率信号解调为电平信号。通常串行通信两端均具有发送接收功能,因此均应设置调制器和解调器,
5、二者合二为一为调制解调器,即MODEM。 7第7页,共36页,2022年,5月20日,3点0分,星期二四.串行通讯的数据通路形式:1. 单工形式数据单向传送,只需一条传输线。2.半双工形式数据传送是双向,但不可同时进行。传输线可用一条,也可用两条。3.全双工形式数据传送是双向,且可同时发送接收。需两条传输线。ABABAB8第8页,共36页,2022年,5月20日,3点0分,星期二五.串行通讯的传送速率: 用每秒传送数据的位数衡量,称波特率 (baudrate) 以波特为单位 1波特 = 1bit/s (位/秒) 例如电传打字机传送速率为每秒10个字符,每个字符11位, 则波特率为: 11位/字
6、符 10字符/秒 = 110位/秒 即110波特 传送一位需时间: 1/110 秒 9.1msMCS-51系列单片机具有一个全双工的串行口,它在不同的工作方式中可同步或异步发送或接收数据。其波特率范围:以6MHZ晶振为例、为0.24波特 31250波特9第9页,共36页,2022年,5月20日,3点0分,星期二 第二节 8031单片机串行口的控制及工作方式串行口的接收端为P3.0 (10脚)称RXD ,发送端为P3.1(11脚)称TXD。一. 8031串行口的控制寄存器:1.串行口控制寄存器SCON 字节地址98H 可位寻址。SM0 SM1 SM2 REN TB8 RB8 TI RI 00:方
7、式0 接收中断标志 01:方式1 发送中断标志 10:方式2 1:允许接收 接收到的第9位 11:方式3 0:禁止接收 待发送的第9位10第10页,共36页,2022年,5月20日,3点0分,星期二例:使串行口方式1发送 MOV SCON , #40H 0 1 0 0 0 0 0 0 方式1 禁止接收 2. PCON 字节地址87H D7 SMOD 只有最高位D7位有定义,SMOD称波特率选择位。SMOD为1时比为0时波特率高一倍。3. 串行通道数据寄存器 SBUF 它是两个9位移位寄存器,一个是发送缓冲器,只写不读,另一个是接收缓冲器,只读不写,它们共用一个地址 99H11第11页,共36页
8、,2022年,5月20日,3点0分,星期二二串行口的四种工作方式:1方式0移位寄存器输入输出方式,同步发送接收8位数据,每个机器周期移一位。如图:DSADSBCP 74LS164 Q0 Q7 RXD TXD8031 RXD TXD8031Q7CP 74LS165 D0 D7 输出方式 输入方式12第12页,共36页,2022年,5月20日,3点0分,星期二方式0输出的基本指令: MOV SCON ,#00H ;SM0 = SM1 = 0,选方式0 MOV A, #nnH ;取待输出数据nnH CLR TI ;清发送中断标志 MOV SBUF , A ;对SBUF写入即启动发送,TXD端每个机器
9、周 期发出一个移位脉冲,数据即从RXD端 输出一位,74LS164的CP端每接收TXD端 一个移位脉冲, 数据右移一次,输出时 以并行方式出现。WAIT: JNB TI , WAIT ;发送一个字节后TI =1 标志一帧数据发送完毕 CLR TI ;清发送中断标志, 准 备发送下一字节13第13页,共36页,2022年,5月20日,3点0分,星期二方式0输入: 当REN = 1,接收中断标志RI = 0,则启动接收,移位脉冲仍从TXD端输出,数据从RXD端输入,当一个字节数据输入完毕时,置1接收中断标志RI。2.方式1异步通讯。发送或接收一帧数据为10位,其格式是: 1 8 位 数 据 0 S
10、CON 中SM0, SM1 为01则选方式114第14页,共36页,2022年,5月20日,3点0分,星期二发送过程:启动发送:执行一条访问SBUF的指令即启动发送, 且同时1装 入第9位。发送一位的时间:由选定的波特率决定。发送过程:首先起始位0从 TXD脚发出,且第9位写入1, 然后每个移位脉冲将SBUF中数据右移一位, 从TXD输出,空位由0填充。 发送结束后,置位发送中断标志TI,申请中断。 15第15页,共36页,2022年,5月20日,3点0分,星期二接收过程:当REN = 1,且接收中断标志RI = 0时,允许接收。 判断起始位:以选定波特率的16倍速率采样RXD端,当连续三次采
11、样中有两次是0时,则确认为起始位0,此时开始一帧数据的接收。 开始接收:1FFH写入移位寄存器,每个位移脉冲左移一位,一帧数据接收完后置1接收中断标志,申请中断。移位脉冲的频率由选定波特率决定。 判断保留数据的条件保留数据的条件是:RI=0 、SM2=0 或者RI=0、停止位为1,符合两组条件其中之一则将数据保留在SBUF中,并置位接收中断标志RI。若不符合保留数据的条件,则将收到的数据丢弃,重新检测RXD端以备下次接收。 16第16页,共36页,2022年,5月20日,3点0分,星期二3.方式2.异步发送或接收一帧数据为11位,其格式为: 1 第9位 8 位 数 据 0 发送与接收操作同方式
12、1,注意保留数据的两组条件为:RI=0、SM2=0 或者 RI=0、第9位数据为14.方式3与方式2相同的是异步接收发送一帧数据是11位,但波特率与方式2不同。注:所有方式当发送或接收一帧数据置1 TI和RI中断标志后,必须软件清0,以备下一帧数据的发送或接收。 17第17页,共36页,2022年,5月20日,3点0分,星期二三.SCON中的TB8、RB8 第9位数据的用法举例 在数据通讯中,由于传输距离较远,数据信号在传输过程中可能发生畸变,从而引起误码,为了保证传输质量,除了硬件上采取措施之外,软件可采取排错措施,例如可用第9位数据作为奇偶检验。例:发送端发送一个字节数据及奇偶位:MOV
13、SCON, #80H ;选串行口方式2,传送11位数据MOV A, #DATA ;待发送8位数据送A,注意此时A的 内容将影响PSW中的奇偶标志 P ,即PSW.0MOV C , PSW.0 ;奇偶标志送C,奇为1、偶为0MOV TB8 , C ;奇偶标志送TB8 ,待发送的第9位MOV SBUF , A ;启动一次发送共11位数据LOOP: JBC TI ,NEXT ;TI = 1时,一帧数据发完,清TI转下SJMP LOOP.NEXT: 18第18页,共36页,2022年,5月20日,3点0分,星期二接收端将收到的数据用奇偶校验位进行核对排错: MOV SCON , #90H ;选方式2,
14、10010000,REN = =1,允许接收 LOOP:JBC RI ,RIV ;等待接收完毕 SJMP LOOP RIV :MOV A, SBUF ;接收完一帧数据取出送A 此时收到的数据将影响PSW中奇偶位PSW.0 JB PSW.0,ONE ;为奇跳下 JB RB8 , ERR ;接收到的数据为偶,而第9位为1,出错 SJMP LD ;接收正确 ONE: JNB RB8 , ERR ;接收到的第9位不为1,出错 LD : ;接收正确 ERR:. ;接收出错处理,可通知对方重发19第19页,共36页,2022年,5月20日,3点0分,星期二四.用SCON中的SM2实现多机通讯在方式2和方式
15、3中,当接收到一帧数据时,只有符合下列条件之一数据才会被保留,否则将被丢弃: RI = 0 RI = 0SM2 = 0 第九位数据为11.多机通讯时约定主机发出地址信息时第9位为1,而数据信息第9位为0,且初始化时使SM2 = 1 2.主机先向各从机发出地址信息,此时由于地址信息第9位为1,各从机接收到的信息均符合第组条件而被接收保存,各从机即将收到的地址信息与自己的地址相比较,如果与本机地址相符则使SM2=020第20页,共36页,2022年,5月20日,3点0分,星期二 3. 随后主机向各从机发出数据,第9位为0,各从机收到后均不符合条件,只有地址相符的从机由于SM2 = 0符合条件而保存
16、接收到的数据信息,其余各从机均将数据信息丢弃,这就实现了点对点的多机通讯。 第三节 波特率的制定方法一.方式0: 以下以B代表波特率,以 f 代表晶振频率 方式0的波特率固定为晶振频率的1/12 例如6M晶振,则 B = 6M/12=0.5M位/秒 = 0.5106波特 传送一位所需时间是: 2微秒注:方式0波特率只与晶振频率 f 有关,f 愈大传送速度愈快。21第21页,共36页,2022年,5月20日,3点0分,星期二二.方式2: B = f2SMOD/64 其中SMOD是PCON的最高位,可为0或1,以f = 6M为例:当SMOD = 0 B = 6M20/64 = 93750 波特当S
17、MOD = 1 B = 6M21/64 = 187500 波特注:方式2波特率与晶振频率和SMOD有关,一经选定晶振频率,波特率只有两种可选择。 22第22页,共36页,2022年,5月20日,3点0分,星期二三.方式1和方式3: B = T1溢出率2SMOD/32什么是溢出率?溢出率即定时器每秒溢出的次数。由于定时器工作于不同的工作方式时,具有不同的计数器位数,(13位、16位、8位),装入不同的初始常数,因此溢出率也不同。下面从溢出周期(隔多长时间溢出一次)来推出溢出率:23第23页,共36页,2022年,5月20日,3点0分,星期二溢出周期: T = TC + TI 式中:TC 为定时器
18、的定时间隔 TC = ( 2N - Z ) 机器周期 其中Z是定时器的初始常数N当定时器选择方式0、1、2时分别为13、16、8机器周期为 12/f 24第24页,共36页,2022年,5月20日,3点0分,星期二TI 为本次定时结束到下次启动定时的时间,它包括:a:转入中断入口的硬件子程序所需的3个机器周期b:中断服务程序中重装时间常数又返回所需时间, 一般为 6个机器周期TI = 912/f 所以,溢出周期为:T = TC + TI = ( 2N - Z ) 12/f + 912/f = ( 2N - Z + 9)12/f f 溢出率 = 1/ T = ( 2N - Z + 9)1225第
19、25页,共36页,2022年,5月20日,3点0分,星期二 需要说明的是上述公式是对定时器方式0和1而言,对于定时器方式2则由于可自动重装时间常数而省去了转入中断服务重装时间常数所需的9个机器周期,即TI = 0 因此定时器方式2时溢出率为: f 溢出率 = ( 2N - Z )12 26第26页,共36页,2022年,5月20日,3点0分,星期二 综上分析,串行口方式1和方式3的波特率计算公式为:T1工作于方式0和方式1时B = f 2SMOD N = 13或16 (2N - Z + 9)12 32 T1工作于方式2时 B = f 2SMOD N = 8 (2N Z)12 32 27第27页
20、,共36页,2022年,5月20日,3点0分,星期二由式 以f = 6M 为例T1方式0:当SMOD = 0、 Z = 0时获得最小波特率: B = 1.9052波特 当SMOD = 1、 Z = 1FFFH时获得最大波特率: B = 3125波特T1方式1:波特率范围为 0.24 3125波特 由式,T1方式2:波特率范围为61 31250 波特28第28页,共36页,2022年,5月20日,3点0分,星期二例 编一程序,设置8031串行口可发送接收一帧数据为11位,其波特率选定125波特。设晶振频率为6MHZ分析: 1.方式2和方式3可发送接收11位数据。 若选方式2 B = f2SMOD
21、/64 = 610 62SMOD/64当SMOD = 0时 B = 93750波特当SMOD = 1时 B = 187500波特 均不可满足125波特,因此只能选方式3SCON: 1 1 0 1 0 0 0 0 方式3 允许接收 D0H29第29页,共36页,2022年,5月20日,3点0分,星期二2.设置计算波特率:选T1方式2,其波特率范围为 61 31250 波特可满足125波特。T1工作于方式2时 B = f 2SMOD 选SMOD = 1 (2N Z)12 32 则:B = 6106 21 = 125 解之得 Z = 6 (28 Z)12 32 30第30页,共36页,2022年,5月20日,3点0分,星期二程序如下: ORG 0000H AJMP MAIN ORG 0023H AJMP PPT0MAIN: MOV SP , # 60H MOV SCON , # 0D0H ;串行口方式3,允许接收 MOV PCON , # 80H ;SMOD = 1 MOV TMOD , # 00100000B ;T1方式2定时 MOV TL1 , # 06H ;设置波特率125波特 MOV TH1 , # 06H SE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电气控制与PLC应用-基于S7-200 SMART PLC(第5版) 课件 第6-8章 S7-200 SMART PLC功能指令与编程- S7-200 SMART PLC的通信与应用
- 集赞活动方案范本
- 2026四川自贡市沿滩区农业农村局编外人员招聘2人模拟试卷(网校专用)附答案详解
- 2026云南昆明高新水科实业发展有限公司部分劳务外包岗位招聘10人参考题库及答案详解(夺冠)
- 2026福建厦门市人力资源和社会保障局所属厦门技师学院招聘事业单位人员7人参考题库完美版附答案详解
- 油田特种车辆服务方案范本
- 咖啡公司招聘方案范本
- 酒店套间改造方案范本
- 港口个体财务外包方案范本
- 2026年中国智能拖拉机行业市场现状、前景分析研究报告(智研咨询发布)
- 2026河北石家庄行唐县住房和城乡建设局公开招聘协管员95名考试参考题库及答案详解
- 万家寨水务控股集团所属企业招聘笔试真题2025
- 数学六年级上册重难点题型精讲精练(含解析)人教版
- 小学五年级上册数学计算题专项练习(30天每日一练 )
- 【社会主义核心价值观融入社会生活存在的问题及对策10000字】
- 领导带值班制度培训课件
- 成都银都紫藤2025小升初入学分班考试数学考试试题及答案
- 数据安全企业数据安全指导书
- 2025年汕头市社区工作者招聘考试真题及答案
- (高清版)JTGT D81-2017 公路交通安全设施设计细则
- GB/T 22576.2-2021医学实验室质量和能力的要求第2部分:临床血液学检验领域的要求
评论
0/150
提交评论