单片机技术基础课件第七章.ppt

上传人:za****8 文档编号:20017062 上传时间:2021-01-25 格式:PPT 页数:38 大小:239.02KB
返回 下载 相关 举报
单片机技术基础课件第七章.ppt_第1页
第1页 / 共38页
单片机技术基础课件第七章.ppt_第2页
第2页 / 共38页
单片机技术基础课件第七章.ppt_第3页
第3页 / 共38页
点击查看更多>>
资源描述
第 7章 串行接口与应用 7.1 串行通信的基本知识 7.2 MCS-51单片机串行口的结构与工作方式 7.3 主从式多机通信 退出 7.1 串行通信的基本知识 在 MCS-51单片机内部 , 有一个通用异步接收 /发 送器 ( UART) 。 这是一个全双工串行接口 , 能同时 进行发送和接收数据 。 利用这个串行接口 , 可以实现 单片机之间的单机通信 、 多机通信 , 以及与 PC机之间 的通信 。 7.1.1 数据通信的基本概念 1、 数据通信 2、 通信方式 有两种通信方式:一种是并行通信,一种是串行 通信。 7.1.2 串行通信方式 串行通信有三种方式:单工通信、半双工通信和 全双工通信。 7.1.3 数据同步技术 1、 异步通信 7.2 MCS-51单片机串行口的 结构与工作方式 7.2.1 串行口的结构 MCS-51有一个可编程的全双工串行通信接口 , 可 作为通用异步接收 /发送器 UART, 也可作为同步移位 寄存器 。 它的帧格式有 8位 、 10位和 11位 , 可以设置为 固定波特率和可变波特率 , 给使用者带来很大的灵活 性 。 7.2.2 串行口控制寄存器 SCON和电源控制寄存器 PCON 1、 串行口控制寄存器 SCON 串行口控制寄存器 SCON决定串行口通信工作方式, 控制数据的接收和发送,并标示串行口的工作状态等。 其位格式为: SM0、 SM1:串行口工作方式控制位,两位对应 四种工作方式,如表 7-1所示( fosc是晶振频率)。 2、 电源控制寄存器 PCON 电源控制寄存器 PCON中只有一位 SMOD与串行 口工作有关 , 它的位格式为: SMOD:波特率倍增位 。 串行口工作在方式 1、 方 式 2、 方式 3时 , 若 SMOD=1, 则波特率提高一倍;若 SMOD=0, 则波特率不提高一倍 。 单片机复位时 , SMOD=0。 7.2.3 波特率设计 1、 方式 0的波特率 工作方式 0时 , 移位脉冲由机器周期的第 6个状态 周期 S6给出 , 每个机器周期产生一个移位脉冲 , 发送 或接收一位数据 。 因此 , 波特率是固定的 , 为振荡频 率的 1/12, 不受 PCON寄存器中 SMOD的影响 。 用公式 表示为: 工作方式 0的波特率 =fosc/12 2、 方式 2的波特率 工作方式 2时,移位脉冲由振荡频率 fosc的第二节 拍 P2时钟(即 fosc/2)给出,所以,方式 2波特率取决 于 PCON中的 SMOD位的值,当 SMOD=0时,波特率 为 fosc的 1/64;当 SMOD=1时,波特率为 fosc的 1/32, 用公式表示为; 工作方式 2波特率 =( 2SMOD/64) fosc 3、工作 方式 1和方式 3的波特率 【 例 8-1】 8051单片机时钟振荡频率为 11.0592MHZ,选用定时器 T1(工作在方式 2)作波特 率发生器,波特率为 4800bps,求定时器 T1的初值 X。 解 设波特率控制位 SMOD=0,则: X=256( 11.0592 106 ( 0+1) /( 384 4800) =250=FAH 所以,( TH1) =( TL1) =FAH 系统晶振频率选用 11.0592MHZ,是为了使初值为 整数,从而产生精确的波特率。 7.2.4 串行口的四种工作方式 串行口的四种工作方式中,串行通信只使用方式 1、 方式 2、方式 3,方式 0主要用于扩展并行输入输出口。 1、 串行口工作方式 0 7.3 主从式多机通信 7.3.1主从式多机通信原理 7.3.2多机通信协议 7.3.3串行通信实例 【 例 7-1】 有两台 8031单片机相距很近 , 直接将它 们的串行口相连 , 1#机的 TXD接 2#机的 RXD, 2#机的 TXD接 1#机的 RXD, 二机的 GND相连 。 二机的晶振频 率均为 11.0592MHZ, 通信的波特率为 4800bps。 现将 第一台 8031单片机片内 RAM40H 5FH单元内的数据 , 串行发送到第二台 8031单片机片内 RAM60H 7FH单 元中 。 发送与接收的参考程序如下: 1#单片机发送程序: ORG 1000H TX: MOV TMOD , #02H MOV TH1 , #0FAH MOV TL1 , #0FAH MOV SCON , #80H ; 设定工作方式 2 MOV PCON, #00H ; 波特率为 fosc/64 SETB TR0 MOV R0 , #40H ;设发送数据的地址 指针 MOV R2 , #20H ;设发送数据长度 LOOP: MOV A , R0 ;取发送数据 送 A MOV C , PSW.0 MOV TB8 , C ;奇偶位送 TB8 MOV SBUF , A ;启动发送 WAIT: JBC TI , LL1 ;判发 送中断标志 SJMP WAIT LL1: INC R0 DJNZ R2 , LOOP RET 2#单片机接收程序: ORG 1000H RX: MOV TMOD , #02H MOV TH1 , #0FAH MOV TL1 , #0FAH MOV SCON , #90H ;设定工作方式 2,并允许接 收 MOV PCON , #00H SETB TR0 MOV R0 , #60H MOV R2 , #20H LOOP: JBC RI , MM1 ;等待接收数 据 SJMP LOOP MM1: MOV A , SBUF ;读入一帧数据 JB PSW.0 , PP1 ;判接收端奇偶 JB RB8 , ERROR ;判发送端奇偶 SJMP RIGHT PP1: JNB RB8 , ERROR ;接收出错 RIGHT: MOV R0 , A ;接收正确 INC R0 DJNZ R2 , LOOP ERROR: SETB PSW.5 ;置出错标志 RET 【 例 7-2】 甲乙两机进行串行通信,将甲机片外 RAM中 1000H单元开始的 32个数据发送到乙机的片外 RAM 1000H开始的单元中。二机的晶振频率均为 11.0592MHZ,通信的波特率为 1200bps。 设甲、乙机串行口均工作在方式 1,根据发送和接 收的波特率,设置定时器 T1工作在方式 2,当 SMOD=0,则计数初值为 E8H。甲机发送子程序流程 图如图 7-7( a)所示,乙机接收子程序流程图如图 7-7 ( b)所示。 参考程序如下: (1)甲机发送子程序: ORG 1000H TTTT: MOV TMOD , #20H MOV TH1 , #0E8H MOV TL1 , #0E8H SETB TR1 MOV SCON , #50H MOV 87H , #00H ENTER: MOV DPH , #10H MOV DPL , #00H MOV R4 , #20H MOV R5 , #00H TX1: MOV A , #04H MOV SBUF , A WAIT1: JBC TI , RX1 SJMP WAIT1 RX1: JBC RI , NEXT1 SJMP RX1 NEXT1: MOV A , SBUF CJNE A , #00H , TX1 TX2: MOV A , R4 MOV SBUF , A ADD A , R5 MOV R5 , A WAIT2: JBC TI , TX3 SJMP WAIT2 TX3 : MOVX A , DPTR MOV SBUF , A ADD A , R5 MOV R5 , A INC DPTR WAIT3: JBC TI , NEXT2 SJMP WAIT3 NEXT2: DJNZ R4 , TX3 MOV A , R5 MOV SBUF , A WAIT4: JBC TI , RX_11H SJMP WAIT4 RX_11H: JBC RI , IF_11H SJMP RX_11H IF_11H: MOV A , SBUF CJNE A , #11H , ENTER RET (2)乙机接收子程序: ORG 1000H RRRR: MOV TMOD , #20H MOV TH1 , #0E8H MOV TL1 , #0E8H SETB TR1 MOV SCON , #50H MOV 87H, #00H ENTER: MOV DPH , #10H MOV DPL , #00H MOV R5 , #00H RX1: JBC RI , IF_04H SJMP RX1 IF_04H: MOV A , SBUF CJNE A , #04H , TX_FFH MOV A , #00H MOV SBUF , A WAIT1: JBC TI , RX2 SJMP WAIT1 LJMP RX2 TX_FFH: MOV A , #0FFH MOV SBUF , A WAIT2: JBC TI , LL1 SJMP WAIT2 LL1: LJMP ENTER RX2: JBC RI , LL2 SJMP RX2 LL2: MOV A , SBUF MOV R4 , A MOV R5 , A RX3: JBC RI , LL3 SJMP RX3 LL3: MOV A , SBUF MOVX DPTR , A INC DPTR ADD A , R5 MOV R5 , A DJNZ R4 , RX3 RX4: JBC RI , LL4 SJMP RX4 LL4: MOV A , SBUF MOV 30H , R5 CJNE A, 30H , T_ERR T_RIGHT:MOV A , #11H MOV SBUF , A WAIT3: JBC TI , EN SJMP WAIT3 T_ERR: MOV A , #0F0H MOV SBUF , A WAIT4: JBC TI , AGAIN SJMP WAIT4 AGAIN: LJMP ENTER EN: RET
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!