单片机的串行口及应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章 8051单片机的串行口应用
⑵接收 1FFH写 移位寄 存器
REN=1 且RI=0 请求 中断
RXD负 跳变 RI=1
计数器复 位 采样最 后位
对RXD 采样0 计数器第 16次溢出
计数器 溢出 对RXD 采样
18
第六章 8051单片机的串行口应用
3 串行口方式2和3 —9位UART
当SM0=1、SM1=0时,串行口选择方式2;当SM0=1、SM1 =1时,串行口选择方式3。
第六章 8051单片机的串行口应用 6.3 串行口应用举例 6.3.1 串口/并口转换 例: 使用74LS164的并行输出接8只发光二极管,利用它的 串入并出功能,把发光二极管从左向右依次点亮,并不断循环 之。
并行输出端
串行输入端
时钟输入端
22
串行输入并行输 出的移位寄存器
第六章 8051单片机的串行口应用
6.1串行通信方式
⒈ 并行通信方式与串行通信方式
⑴ 并行通信
在数据传输时,如果一个数据编码字符的所有各位都同时发送、 并排传输,又同时被接收,则将这种传送方式称为并行传送方式。 特点:传送速度快、效率高。数据线多,成本高。 ⑵ 串行通信 在数据传输时,数据编码字符的所有各位不是同时发送,而是按 一定顺序,一位接着一位在信道中被发送和接收,则将这种传送方 式称为串行传送方式。 特点:成本低,但速度慢。
SMOD(PCON.7)——串行通信波特率系数控制位。 当SMOD=1时,使波特率加倍。复位后,SMOD=0。 ⒊ 串行数据寄存器SBUF 包含在物理上是隔离的两个8位寄存器:发送数据寄存器和接 收数据寄存器,它们共用一个地址——99H。其格式如下:
D7 D6 D5 D4 D3 D2 D1 D0
SD7
4
第六章 8051单片机的串行口应用 ⑵ 同步传输 同步传输用来对数据块进行传输,一个数据块中包含着许多连 续的字符,在字符之间没有空闲。
3. 波特率 波特率表示串行通信时每秒钟传送”位” 的数目,比如1s传送 1bit,就是1波特。即1波特=1bit/s (位/秒) 假若数据传送速率为120字符/s,而每一个字符帧已规定为10个数 据位,则传输速率为120×10=1200bit/s,即波特率为1200。 串行通信常用的标准波特率在RS-232C标准中已有规定,如波特 率为600、1200、2400、4800、9600、19200等等。 5
起 始
D0
D1
D2
D3
D4
D5
D6
D7
停 止
16
第六章 8051单片机的串行口应用
与门
或门
⑴发送:方式1时,发送的工作原理图如上图所示。 D将1写入 数据写 计数器 数据为0 TXD输 D0发 移位寄存 SBUF 溢出 发送为0 出0 送 器9位 TI置 发送第9 清除发 D1发 计数器第16 位 送信号 位1 送 次溢出 17
并行输出, 最高位
清除端,低 电平输出全 为0
时钟输入
24
第六章 8051单片机的串行口应用 例6-1 在单片机的串行口外接一个串入并出8位移位寄存器 74LS164 ,实现串口到并口的转换。数据从RXD端输出,移位脉冲 从TXD端输出。执行如下程序后LED指示灯轮流点亮。
时钟输入端
串行输入端
25
8051串行口基本结构主要由两大部分组成。 ⒈ 波特率发生器: 主要由T1及内部的一些控制开关和分频器所组成。它提供串 行口的时钟信号为 TXCLOCK(发送时钟)和 XCLOCK(接 收时钟)。 ⒉ 串行口的内部 UART由同步移位寄存器、接收缓冲器(SBUF)和发送缓冲 器(SBUF)组成它主要完成把数据进行串、并行的转换。
⑶ 全双工方式 若信号在通信双方之间沿两个方向同时传送,任何一方在同一时 刻既能发送又能接收信息,这样的方式称为全双工方式。
6
第六章 8051单片机的串行口应用
6.2串行口的工作方式与控制
8051通过RXD(P3.0)引脚、TXD(P3.1)引脚输入、输出, 与外界通信。内部有一个通用异步接收发送器(UART),及波特率 发生器。
工作方式选择 位 允许方式2、3 中的多处理机 通信位
允许串行 接收位 方式2和方式3中要发送、 接收的第9位数据
9
发送、接 收中断标 志位
第六章 8051单片机的串行口应用 ⑴ SM0,SM1——串行口工作方式选择位,其功能见表。
SM0
0 0
SM1
0 1
方式
方式0 方式1
特点
8ຫໍສະໝຸດ Baidu移位寄存器
波特率
第六章 8051单片机的串行口应用 4 单工方式、半双工方式、全双工方式 ⑴ 单工方式
信号(不包括联络信号) 在信道中只能沿一个方向传送,而不能 沿相反方向传送的工作方式称为单工方式。
⑵ 半双工方式
通信的双方均具有发送和接收信息的能力,信道也具有双向传 输性能,但是,通信的任何一方都不能同时既发送信息又接收信息, 即在指定的时刻,只能沿某一个方向传送信息。这样的传送方式称 为半双工方式。半双工方式大多采用双线制。
fosc/12 可变
10位UART
1
1
0
1
方式2
方式3
11位UART
11位UART
fosc/64或fosc/32
可变
⑵SM2(SCON.5)—允许方式2、3中的多处理机通信位。
方式0时,SM2=0。 方式1时,若SM2=1,只有接收到有效的停止位,接收中断RI才置1。
方式2和方式3时,若SM2=1,则只有当接收到的第9位数据(RB8)为1时, 才将接收到的前8位数据送入缓冲器SBUF中,并把RI置1、同时向CPU申请中断; 如果接收到的第9位数据(RB8)为0,RI置0,将接收到的前8位数据丢弃。
· 由TXD(P3.1)引脚输出同步移位时钟。
· 接收/发送的是8位数据,传输时低位在前。帧格式如下:
… D0 D1 D2 D3 D4 D5 D6 D7 …
传输方向
12
第六章 8051单片机的串行口应用
控制向 SBUF输 入1或0
串行口工作方式0工作原理图 13
第六章 8051单片机的串行口应用
7
第六章 8051单片机的串行口应用
8051串行口结构图
8
UART
第六章 8051单片机的串行口应用
⒈ 串行口状态控制寄存器 SCON
寄存器SCON既可字节寻址也可位寻址,字节地址为98H, 位地址为98H~9FH。其格式如下:
位地 址 位功 能 9FH SM0 9EH SM1 9DH SM2 9CH REN 9BH TB8 9AH RB8 99H TI 98H RI
第6章
单片机的串行口 原理及应用
第六章 8051单片机的串行口应用
问题
1. 8051单片机与串行口相关的特殊功能寄存器有哪几个? 说明它们各个位的功能意义。
2.什么叫波特率?它反映的是什么?它与时钟频率是相 同的吗? 3. 8051单片机的串行口有哪几种工作方式?各有什么特点 和功能?
2
第六章 8051单片机的串行口应用
3
第六章 8051单片机的串行口应用 2 异步传输和同步传输 ⑴ 异步传输
异步传输以一个字(或称字符)为单位进行数据传输,每个字 符都用起始位、停止位包装起来,在字符间允许有长短不一的间隙 (空闲位)。
一个字符由四个部分组成:起始位、数据位、奇偶校验位和停 止位。起始位为“0”信号, 起始位后面紧跟着的是数据位,它一般 是8位,奇偶校验位只占一位, 停止位用来表征字符的结束,它一 定是“1” ,停止位可以是1位或2位。
由TXD(P3.l)引脚发送数据。由RXD(P3.0)引脚接收数 据。
帧格式如下:
起 始 D0 D1 D2 D3 D4 D5 D6 D7 D8 停 止
为11位:1位起始位(0)、8位数据位(低位在前) 、1位可 编程位和1位停止位(1)。发送时可编程位TB8可设置为1或0, 接收时可编程位进入SCON寄存器的RB8位。 方式2的波特率是固定的,为振荡器频率的1/32或1/64。方 式3的波特率则由T1的溢出决定,可用程序设定。
并行输出端
第六章 8051单片机的串行口应用
源程序清单如下: ORG 0000H AJMP START ORG 0030H START:MOV SCON,#0 ;设置串行口 工作方式0 MOV 30H,#01H ;8字节待传输数 据 MOV 31H,#02H MOV 32H,#04H MOV 33H,#08H MOV 34H,#16 MOV 35H,#32 MOV 36H,#64 MOV 37H,#128 MOV R0,#30H; R0作数据指针 MOV R2,#8 ;R2作计数器 LOOP: MOV A, @R0 26 MOV SBUF, A;开始发送数据 LO: JNB TI,LO ;检查发送完标志 CLR TI ACALL DELAY;延时 INC R0 ;发送下一字节 DJNZ R2;LOOP SJMP START DELAY: MOV R7,#3;延时子程序 DDl:MOV R6,#0FFH DD2:MOV R5,#0FFH DJNZ R5, $ DJNZ R6,DD2 DJNZ R7,DDl RET END
而当SM2=0时,则不论接收到的笫九位数据是0 或1 ,都将前8位数据装 入SBUF中,并申请中断。 10
第六章 8051单片机的串行口应用 ⒉ 电源控制寄存器 PCON 其中最高位SMOD与串行口控制有关,其它位与掉电方式有 关。其格式如下:
D7 SMOD D6 — D5 — D4 — D3 GF1 D2 GF0 D1 PD D0 IDL
移位寄 存器左 移一位 右边的0 移到最 左边
置位SCON 中的RI,发 出中断申请
第六章 8051单片机的串行口应用
2.串行口方式1
当 SM0=0、SM1=l时,串行口选择方式1。
· 数据传输波特率由T1的溢出决定,可用程序设定。 · TXD(P3.1)引脚发送数据。 由 · RXD(P3.0)引脚接收数据。 由 发送或接收一帧信息为10位:1位起始位(0)、8位数据位 (低位在前)和l位停止位(1)。帧格式如下:
SD6
SD5
SD4
SD3
SD2
SD1
SD0
读SBUF(MOV A,SBUF),访问接收数据寄存器;写 SBUF(MOV SBUF,A),访问发送数据寄存器。 11
第六章 8051单片机的串行口应用
1 串行口方式0 — 同步移位寄存器方式
当SM0=0、SM1=0时,串行口选择方式0。这种工作方式 实质上是一种同步移位寄器方式。 · 数据传输波特率固定为(1/12)fosc。 · 由RXD(P3.0)引脚输入或输出数据,
19
第六章 8051单片机的串行口应用
串行口工作方式2工作原理图 20
第六章 8051单片机的串行口应用 8051单片机串行口四种工作方式对应着三种波特率。 对于方式0,波特率是固定的,为单片机振荡频率fosc的 1/12。 对于方式2,波特率由下式计算: (6-1) 式中,Smod为PCON寄存器中的D7位,fosc为单片机的振荡频率。 对于方式1和方式3,波特率都由定时器1的溢出率决定,计算公 式如下: (6-2) 式中,Smod为PCON寄存器中的D7位,fosc为单片机的振荡频率, k取决于定时器T1的工作方式: .定时器T1工作于方式0时,k=13; .定时器T1工作于方式1时,k=16; .定时器T1工作于方式2和方式3, k=8。 21
第六章 8051单片机的串行口应用 例6-2在单片机的串行口外接一个并入串出8位移位寄存器 74LS165,实现并口到串口的转换。外部8位并行数据通过移位寄存 器74LS165进入串行口,然后再送往P0口点亮LED灯。 执行以下程序后,改变拨动开关DIPSWC_8的状态,可以看到 LED指示灯会随之变化。 输入 输出
⑴发送
8位数据写 入SBUF TI置位 撤消 发送 选通D触发 器置1 零检测 器为 0 发送启动 8位数据 移位输出
第9位向 左均为 0
14
左边补0
第六章 8051单片机的串行口应用
⑵接收
当REN=1 且RI为零
启动 接收
1111 1110 写入移位 寄存器
清除接 收信号
15
RXD引脚 接收一位 信号 移位寄存器 的内容送入 SBUF
MOV SCON,#00H CLR ES MOV A,#80H LED: MOV SBUF,A
设串行口为方式0 ;禁止串行口中断 ;先显示最左边发光二极管 ;串行输出
JNB
TI,$
;输出等待
CLR TI ACALL DELAY RR A ;轮显间隔 ;发光右移 ;循环
23
AJMP LED
第六章 8051单片机的串行口应用 74LS164 串行输入 并行输出, 低位,与下 一164连