《片机串行通信》PPT课件.ppt

上传人:牧羊曲112 文档编号:5550179 上传时间:2023-07-20 格式:PPT 页数:28 大小:342KB
返回 下载 相关 举报
《片机串行通信》PPT课件.ppt_第1页
第1页 / 共28页
《片机串行通信》PPT课件.ppt_第2页
第2页 / 共28页
《片机串行通信》PPT课件.ppt_第3页
第3页 / 共28页
《片机串行通信》PPT课件.ppt_第4页
第4页 / 共28页
《片机串行通信》PPT课件.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《《片机串行通信》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《片机串行通信》PPT课件.ppt(28页珍藏版)》请在三一办公上搜索。

1、单片机与嵌入式系统,第五章 单片机:串行通信,王浩 副教授,中南大学信息科学与工程学院,基本概念RS-232接口MCS-51的串行接口单片机与单片机之间的通信编程练习,第章串行口通信技术,本章内容,Single Chip Microcomputer,什么是串行通信?,串行通信和并行通信,并行通信:数据的各位同时传送;,串行通信:数据一位一位顺序传送。,发送时的并串转换:,接收时的串并转换:,串行通信的分类:异步(Asynchronous Communication)同步(Synchronous Communication),串行通信制式:单工(a)、半双工(b)和全双工(c)(simplex

2、half duplex full duplex),MCS-51的串行接口,概述有一个可编程全双工串行通信接口(UART)(Universal Asychronous Receiver/Transmitter)管脚:TXD(P3.1)、RXD(P3.0)可同时发送、接收数据(Transmit/Receive)有四种工作方式,帧格式有8、10、11位。波特率(Baud rate)可设置 波特率:每秒钟传送二进制数码的位数,也叫比特数,单位为b/s,即位/秒。,MCS-51串行接口的结构,MCS-51串行接口寄存器,SBUF串行口数据缓冲器共两个:一个发送寄存器SBUF,一个接收SBUF,二者共用一

3、个地址99H。SCON串行口控制寄存器PCON电源及波特率选择寄存器,控制寄存器SCON,SCON98H,串行方式的定义,例:设串行口工作在方式1,允许接收,则指令为:MOV SCON,#01010000B,串行通信只用该位,为1时,波特率2;为0时不变。,电源及波特率选择寄存器PCON,87H,串行口四种工作方式应用比较,方式的选择由SM1、SM0实现。,波特率的设定可参见表7-2,实际无需计算。,方式0,在方式0下,串行口作同步移位寄存器用,其波特率固定为fosc/12。串行数据从RXD(P3.0)端输入或输出,同步移位脉冲由TXD(P3.1)送出。这种方式常用于扩展I/O口。,方式0用于

4、扩展I/O口输入,方式0用于扩展I/O口输出,方式1,10位的帧格式,串行口为波特率可调的10位通用异步接口UART。每发送或接收的一帧信息中,包括1位起始位0,8位数据位和1位停止位1。,方式2,串行口为11位UART,传送波特率与SMOD有关。发送或接收的一帧数据中包括1位起始位0,8位数据位,1位可编程位(用于奇偶校验)和1位停止位1。,11位的帧格式,方式3,方式3为波特率可变的11位UART通信方式,除了波特率以外,方式3和方式2完全相同。,MCS-51串行口的波特率,1.方式0和方式2的波特率是固定的,在方式0中,波特率为时钟频率的1/12,即fosc/12,固定不变,2.方式1和

5、方式3的波特率可变,由定时器1的溢出率决定,波特率=,单片机之间的通信,双机异步通信接口电路,RS-422A双机异步通信接口电路,双机通信操作步骤,1、根据要求确定串口工作方式2、设定定时器的工作模式并计算初值3、启动定时器4、开启中断5、发送或接收开始,双机通信软件编程(中断方式),例7-4:89C51串行口按双工方式收发ASCII字符,最高位用来作奇偶校验位,采用奇校验方式,要求传送的波特率为1200b/s。编写有关的通信程序。其中系统工作时钟 fosc为6MHz。,1、根据 表7-2 确定串口工作模式为方式1,SMOD=0,2、经查表设定定时器T1的工作模式为2,初值为F3H,C/T=0

6、,程序清单:主程序 ORG 0000H AJMP MAIN ORG 0100H MAIN:MOV SCON,#50H;设置为方式1,REN=1 MOV TMOD,#20H;定时器1设为模式2 MOV TL1,#0F3H;定时器初值 MOV TH1,#0F3H;8位重装值 SETB TR1;启动定时器1 MOV R0,#20H;发送数据区首址 MOV R1,#40H;接收数据取首址 SETB ES SETB EA ACALL SOUT;先输出一个字符 SJMP$;等待中断,中断服务程序:ORG 0023H;串行口中断入口 AJMP SBR1;转至中断服务程序 ORG 0200H SBR1:JNB

7、 RI,SEND;TI=1,为发送中断 ACALL SIN;RI=1,为接收中断 SJMP EXIT;转至统一的出口SEND:ACALL SOUT;调用发送子程序EXIT:RETI;中断返回,发送子程序 SOUT:CLR TI MOV A,R0;取发送数据到A MOV C,P;奇偶标识赋予C CPL C;奇校验 MOV ACC.7,C;A的最高位存放校验位 INC R0;修改发送数据指针 MOV SBUF,A;发送ASCII码 RET;返回,接收子程序 SIN:CLR RI MOV A,SBUF;读出接收缓冲区内容 MOV C,P;取出校验位 JNC ERR;奇校验 ANL A,#7FH;删去校验位MOV R1,A;读入接收缓冲区 INC R1;修改接收数据指针 RET;返回ERR:;错误处理函数 RET,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号