《单片机串行接口》PPT课件.pptx_第1页
《单片机串行接口》PPT课件.pptx_第2页
《单片机串行接口》PPT课件.pptx_第3页
《单片机串行接口》PPT课件.pptx_第4页
《单片机串行接口》PPT课件.pptx_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机技术及应用基于 汇编及C51程序设计 第7章 51单片机串行接口 第7章 51单片机串行接口 主 要 章 节 7.1 通信的基本概念 7.2 51单片机串行口的功能与结构 7.3 串行口的工作方式 7.4 串行口的应用 2017/7/921 第7章 51单片机串行接口 7.1 通信的基本概念 7.1.1 并行通信和串行通信 2017/7/931 (a) 并行通信 (b) 串行通信 第7章 51单片机串行接口 根据信息传送的方向,串行通信可以分为单工、半双 工和全双工 2017/7/941 (a) 单工 (b) 半双工 (c) 全双工 第7章 51单片机串行接口 7.1.2 串行通信的基本过程 1. 发送过程 2017/7/951 发送时钟 数据线 0 1 1 0 0 1 1 0 第7章 51单片机串行接口 2. 接收过程 2017/7/961 接收时钟 数据线 0 1 1 0 0 1 1 0 第7章 51单片机串行接口 7.1.3 串行通信的通信方式 1. 串行异步通信方式 2017/7/971 特点: u 一次传送的位数比较少,对发送时钟和接收时钟的同 步性要求相对不高,线路简单。 u 传送速度较慢。 第7章 51单片机串行接口 2. 串行同步通信方式 2017/7/981 同步字符1同步字符2数据块校验字符1校验字符2 特点: u 一次连续传送多个字符,传送的位数多,对发送时 钟和接收时钟同步性要求很高,控制线路复杂 u 传送速度快。 第7章 51单片机串行接口 7.1.4 波特率 波特率是指串行通信中,单位时间传送的二进制 位数,单位为bps。 传输速度往往又可用每秒传送多少个字节来表示 (Bps)。 它与波特率的关系为: 波特率(bps)=一个字符的二进制位数字符/秒(Bps) 2017/7/991 第7章 51单片机串行接口 7.2 51单片机串行口的功能与结构 7.2.1 串行口的功能 51单片机具有一个全双工的串行异步通信接口,可 以同时发送和接收数据。 有四种工作方式:方式0、方式1、方式2和方式3。 方式0为同步移位寄存器方式,一般用于外接移位 寄存器芯片扩展I/O接口。 方式1为8位的异步通信方式,通常用于双机通信。 方式2和方式3为9位的异步通信方式,通常用于多 机通信 2017/7/9101 第7章 51单片机串行接口 7.2.2 串行口的结构 2017/7/9111 串行口数据寄存器 (SBUF),串行口控制寄存器SCON、电源控制寄存器 PCON以及定时/计数器和中断系统中的特殊功能寄存器组成。 第7章 51单片机串行接口 7.2.3 串行口控制寄存器SCON 2017/7/9121 SM0、SM1:串行口工作方式选择位 SCOND7D6D5D4D3D2D1D0 98HSM0SM1SM2RENTB8RB8TIRI SM0SM1方式功能波特率 00方式0移位寄存器方式fosc/12 01方式18位异步通信方式可变 10方式29位异步通信方式fosc/32或fosc/64 11方式39位异步通信方式可变 SM2:多机通信控制位。REN:接收允许控制位。 TB8:发送数据的第9位。RB8:接收数据的第9位。 TI:发送中断标志位。RI:接收中断标志位。 第7章 51单片机串行接口 7.2.4 电源控制寄存器PCON 2017/7/9131 PCOND7D6D5D4D3D2D1D0 87HSMODXXXGF1GF0PDIDL SMOD:波特率加倍位。当SMOD位为1,则串行口方式1、方 式2、方式3的波特率加倍。 GF1、GF0:通用标志位。由软件置位或复位 PD:掉电方式位。当PD=1时,进入掉电方式。 IDL:待机方式位。当IDL=1时,进入待机方式。 第7章 51单片机串行接口 7.3 串行口的工作方式 7.3.1 方式0-移位寄存器方式 方式0通常用来外接移位寄存器,用作扩展I/O口。 u RXD:串行数据 TXD:同步时钟。 u 数据格式:低位在前,高位在后,长度8位,在SBUF 中。 u 波特率:fosc /12。 (1)发送 n条件:TI=0 n操作:MOV SBUF,A n 结果:发送完毕,TI置“1”。 第7章 51单片机串行接口 u 条件:RI=0 u 操作:REN(SCON.4)置“1” u 结果:8位数据接收数据缓冲器SBUF中,同时,RI置 “1” ,向CPU申请中断。 u 用户处理:MOV A,SBUF (2)接收 第7章 51单片机串行接口 7.3.2 方式1- 8位异步通信方式 u TXD:发送数据端 RXD:接收数据端。 u 数据格式: 1位起始位(0),SBUF中8位数据位(低 位在前)和1位停止位(1)。 u波特率: 2SMOD(T1的溢出率)/32 (1)发送 u 条件:TI=0 u 操作:MOV SBUF,A u 结果:发送完毕,TI置“1”。 第7章 51单片机串行接口 u 条件:RI=0,REN(SCON.4)置“1”。 u 结果:8位数据接收数据缓冲器SBUF中,同时, RI置“1” ,向CPU申请中断。 u 用户处理:MOV A,SBUF (2)接收 第7章 51单片机串行接口 7.3.3 方式2和方式3 u TXD:发送数据端 RXD:接收数据端 u 数据格式: 1位起始位(0),SBUF中8位数据位(低 位在前)第9位TB8和1位停止位(1) u波特率: 2SMOD(T1的溢出率)/32 (1)发送 u 条件:TI=0 u 操作:先准备第9位TB8 ,执行MOV SBUF,A u 结果:发送完毕,TI置“1”。 第7章 51单片机串行接口 u 条件:RI=0,REN(SCON.4)置“1”。 u 结果: SM2=0,接收的前8位数据送SBUF,第9位送RB8,RI 置“1” ,向CPU申请中断。 SM2=1,若接收的第9位为1,则前8位数据送SBUF, 第9位送RB8,RI置“1” ,向CPU申请中断。 u 用户处理:MOV A,SBUF (2)接收 第7章 51单片机串行接口 7.4 串行口的应用 7.4.1 利用方式0扩展并行I/O接口 【例7-1】用8051单片机的串行口外接串入并出的芯片74HC164扩展并 行输出口控制一组发光二极管,使发光二极管从右至左延时轮流显 示。 74HC164是一块8位的串入并出的芯片,共14个引脚, 除了电源和地信号外, A、B:串行数据输入端; CLK:串行时钟信号输入端; Q0Q7:8位数据并行输出端; :清零端,输入低电平时74HC164输出端清0; 在CLK=0、 =1时,74HC164保持原来数据。 2017/7/9201 第7章 51单片机串行接口 2017/7/9211 第7章 51单片机串行接口 设串行口采用查询方式,显示的延时依靠调用延时子程序来实现 2017/7/9221 汇编语言程序: ORG 0000H LJMP MAIN ORG 0100H MAIN:MOV SCON,#00H;串口初始化方式0 MOV A,#0FEH START:MOV SBUF,A;51单片机串口发送 LOOP:JNB TI,LOOP;等待发送 ACALL DELAY;延时 CLR TI RL A;循环移位改变显示内容 SJMP START DELAY:MOV R7,#80H;延时子程序 LOOP2:MOV R6,#0FFH LOOP1:DJNZ R6,LOOP1 DJNZ R7,LOOP2 RET END 第7章 51单片机串行接口 2017/7/9231 #include /包含特殊功能寄存器库 #include /包含内部函数 void main() unsigned char i; unsigned int j; SCON=0x00;/串口初始化方式0 i=0xFE; for (; ;) SBUF=i;/51单片机串口发送 while (!TI) ;/等待发送 TI=0; for (j=0;j /包含特殊功能寄存器库 #include / 包含内部函数库 sbit P1_0=P10; void main() unsigned char i; while(1) P1_0=0; _nop_(); _nop_(); _nop_(); /74HC165并入 P1_0=1; _nop_(); _nop_(); _nop_(); /74HC165串出 SCON=0x10;/串口初始化方式0,允许接收 while (!RI) ;/接收 RI=0; i=SBUF; P0=i;/送P0口显示 第7章 51单片机串行接口 7.4.2 利用方式1实现点对点的双机通信 【例7-3】用汇编语言编程通过串行实现将甲机的片内RAM中30H3FH 单元的内容传送到乙机的片内RAM的40H4FH单元中。 2017/7/9281 甲、乙两机都选择方式1即8位异步通信方式,最高位 用作奇偶校验,波特率为1200bps,甲机发送,乙机接收 ,因此甲机的串口控制字为40H,乙机的串口控制字为 50H。 第7章 51单片机串行接口 由于选择的是方式1,波特率由定时/计数器T1的 溢出率和电源控制寄存器PCON中的SMOD位决定 ,则需对定时/计数器T1初始化。 设SMOD=0,甲、乙两机的振荡频率为12MHz,由 于波特率为1200bps。定时/计数器T1选择为方式2 ,则初值如下。 初值=256 - fosc2SMOD /(12波特率32) =256-12000000/(12120032)230=E6H 根据要求,定时/计数器T1的方式控制字为20H。 2017/7/9291 第7章 51单片机串行接口 甲机的发送程序: 乙机的接收程序: 2017/7/9301 TSTART:MOV TMOD,#20H MOV TL1,#0E6H MOV TH1,#0E6H MOV PCON,#00H MOV SCON,#40H MOV R0,#30H MOV R7,#10H SETB TR1 LOOP:MOV A,R0 MOV C,P MOV ACC.7,C MOV SBUF,A WAIT:JNB TI,WAIT CLR TI INC R0 DJNZ R7,LOOP RET RSTART:MOV TMOD,#20

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论