版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、串行通信工作方式,根据实际需要,80C51串行口可设置4种工作方式,可有8位、10位或11位帧格式。 方式0以8位数据为一帧,不设起始位和停止位,先发送或接收最低位。其帧格式如下:,串行通信工作方式,方式1以10位为一帧传输,设有1个起始位(0),8个数据位和1个停止位(1)。其帧格式为:,返回,串行通信工作方式,方式2和方式3以11位为1帧传输,设有1个起始位(0),8个数据位,1个附加第9位和1个停止位(1)。其帧格式为: 附加第9位(D8)由软件置1或清0。发送时在TB8中,接收时送RB8中。,3、串行通信工作方式,(1)串行口方式0 方式0为同步移位寄存器输入/输出方式,常用于扩展I/
2、O口。 串行数据通过RXD输入或输出,而TXD用于输出移位时钟,作为外接部件的同步信号。,串行通信工作方式,(2)串行口方式1 方式1真正用于串行发送或接收,为10位通用异步接口。TXD与RXD分别用于发送与接收数据。 收发一帧数据的格式为1位起始位、8位数据位(低位在前)、1位停止位,共10位。 在接收时,停止位进入SCON的RB8,此方式的传送波特率可调。,串行通信工作方式,(3)串行口方式2和方式3 串行口工作在方式2和方式3均为每帧11位异步通信格式,由TXD和RXD发送与接收(两种方式操作是完全一样的,所不同的只是波特率)。 每帧11位,发送时,第9数据位(TB8)可以设置为1或0,
3、也可将奇偶位装入TB8,从而进行奇偶校验;接收时,第9数据位进入SCON的RB8。,波特率设计,方式0和方式2的波特率是固定的;而方式1和方式3的波特率是可变的,由定时器T1的溢出率来决定。 (1)方式0的波特率 每个机器周期产生一个移位时钟,发送或接收一位数据。 方式0波特率 fosc / 12 (2)方式2的波特率 方式2波特率2SMOD/64fosc,波特率设计,(3)方式1和方式3的波特率 89C51串行口方式1和方式3的波特率由定时器T1的溢出率与SMOD值同时决定。即 方式1、3波特率2SMOD/32(T1溢出率) 定时器在方式2定时初值:,图 串行口控制寄存器SCON,串行口控制
4、字及控制寄存器,串行口控制字及控制寄存器,(2)PCON(87H) 电源控制寄存器PCON中只有SMOD位与串行口工作有关,如图7-9所示。,图 电源控制寄存器PCON,设fosc11.059MHz,试编写一段程序,其功能为对串行口初始化,使之工作于方式1,波特率为1200b/s;并用查询串行口状态的方法,读出接收缓冲器的数据并回送到发送缓冲器。,8.5 80C51串行通信应用,如前所述,80C51串行口的工作主要受串行口控制寄存器SCON的控制,另外,也和电源控制寄存器PCON有些关系。SCON寄存器用来控制串行口的工作方式,还有一些其他的控制作用。 80C51单片机串行口的四种工作方式传送
5、的数据位数叙述如下:,方式0:移位寄存器输入/输出方式。串行数据通过RXD线输入或输出,而TXD线专用于输出时钟脉冲给外部移位寄存器。方式0可用来同步输出或接收8位数据(最低位首先输出),波特率固定为fosc/12,其中,fosc为单片机的时钟频率。 方式1:10位异步接收/发送方式。一帧数据包括1位起始位(0),8位数据位和1位停止位(1)。串行接口电路在发送时能自动插入起始位和停止位;在接收时,停止位进入特殊功能寄存器SCON的RB8位。方式1的传送波特率是可变的,可通过改变内部定时器的定时值来改变波特率。 方式2:11位异步接收/发送方式。除了1位起始位、8位数据位、1位停止位之外,还可
6、以插入第9位数据位。 方式3:同方式2,只是波特率可变。,返回,8.5 80C51串行通信应用,1、串行口方式0的应用,89C51单片机串行口基本上是异步通信接口,但在方式0时是同步操作。外接串入并出或并入串出器件,可实现I/O的扩展。 串行口方式0的数据传送可以采用中断方式,也可以采用查询方式。无论哪种方式,都要借助于TI或RI标志。 在串行口发送时,或者靠TI置位后引起中断申请,在中断服务程序中发送下一组数据;或者通过查询TI的值,只要TI为0就继续查询,直到TI为1后结束查询,进入下一个字符的发送。 在串行口接收时,由RI引起中断或对RI查询来决定何时接收下一个字符。无论采用什么方式,在
7、开始串行通信前,都要先对SCON寄存器初始化,进行工作方式的设置。在方式0中,SCON寄存器的初始化只是简单地把00H送入SCON就可以了。,返回,1、串行口方式0的应用,例:用80C51串行口外接164串入并出移位寄存器扩展8位并行口;8位并行口的每位都接一个发光二极管,要求发光二极管从左到右以一定延迟轮流显示,并不断循环。设发光二极管为共阴极接法,如图所示。,解:设数据串行发送采用中断方式,显示的延迟通过调用延迟程序DELAY来实现。,80C51,1、串行口方式0的应用,程序清单: ORG 0023H ;串行口中断入口 AJMP SBR ;转入串行口中断服务程序 ORG 2000H ;主程
8、序起始地址 MOV SCON ,#00H ;串行口方式0初始化 MOV A ,#80H ;最左一位发光二极管先亮 CLR P1.0 ;关闭并行输出 MOV SBUF,A ;开始串行输出 MOV IE,#90H LOOP : SJMP $ ;等待中断,1、串行口方式0的应用,程序清单: SBR : SETB P1.0 ;启动并行输出 ACALL DELAY ;显示延迟一段时间 CLR TI ;清发送中断标志 RR A ;准备右边一位显示 CLR P1.0 ;关闭并行输出 MOV SBUF , A ;再一次串行输出 RETI ;中断返回,1、串行口方式0的应用,用方式0外加移位寄存器来扩展8位输出
9、口时,要求移位寄存器带有输出控制,否则串行移位过程也会反映到并行输出口;另外,输出口最好再接一个寄存器或锁存器,以免输出门关闭使(STB=0)输出又发生变化。,1、串行口方式0的应用,例:用80C51串行口外加移位寄存器165或166扩展8位输入口,输入数据由8个开关提供,另有一个开关K提供联络信号。当K=0时,表示要求输入数据,输入的8位为开关量,提供逻辑模拟子程序的输入信号。如图所示。,1、串行口方式0的应用,解:对RI采用查询方式来编写程序,当然,先要查询开关K是否闭合。 程序清单: START: MOV SCON ,#10H ;串行口方式0初始化 JB P1.1 ,$ ;开关K未闭合,
10、等待 SETB P1.0 ;P/S=1,并行置入数据 CLR P1.0 ;PS=0,开始串行移位 JNB RI ,$ ;查询RI CLR RI ;查询结束,清RI MOV A ,SBUF ;读数据到累加器 ACALL LOGSIM ;进行逻辑模拟 SJMP START ;准备下一次模拟,2、串行口方式1的发送和接收,例:80C51串行口按双工方式收发ASCII字符,最高位用来作奇偶校验位,采用奇校验方式,要求传送的波特率为1200b/s。编写有关的通信程序。 解:7位ASCII码加1位奇校验共8位数据,故可采用串行口方式1。,2、串行口方式1的发送和接收,设发送数据区的首地址为20H,接收数据
11、区的首地址为40H,fosc为6MHz,通过计算可得定时器的初装值为F3H。定时器T1采用工作模式2,可以避免计数溢出后用软件重装定时初值的工作。,2、串行口方式1的发送和接收,程序清单:主程序 MOV TMOD ,#20H ;定时器1设为模式2 MOV TL1 , #0F3H ;定时器初值 MOV TH1 ,#0F3H ;8位重装值 SETB TR1 ;启动定时器1 MOV SCON ,#50H ;设置为方式1,REN=1 MOV R0 ,#20H ;发送数据区首址 MOV R1 ,#40H ;接收数据取首址 ACALL SOUT ;先输出一个字符 SETB ES SETB EA SJMP
12、$ ;等待中断,2、串行口方式1的发送和接收,中断服 ORG 0023H ;串行口中断入口 AJMP SBR1 ;转至中断服务程序 ORG 0100H SBR1: JNB RI ,SEND ;TI=1,为发送中断 ACALL SIN ;RI=1,为接收中断 SJMP NEXT ;转至统一的出口 SEND: ACALL SOUT ;调用发送子程序 NEXT: RETI ;中断返回,2、串行口方式1的发送和接收,发送子程序 SOUT: CLR TI MOV A ,R0 ;取发送数据到A MOV C ,P ;奇偶标识赋予C MOV ACC.7, C INC R0 ;修改发送数据指针 MOV SBUF
13、 ,A ;发送ASCII码 RET ;返回,2、串行口方式1的发送和接收,接收子程序 SIN: CLR RI MOV A ,SBUF ;读出接收缓冲区内容 MOV C ,P ;取出校验位 ANL A ,#7FH ;删去校验位 MOV R1 ,A ;读入接收缓冲区 INC RI ;修改接收数据指针 RET ;返回,2、串行口方式1的发送和接收,以上程序基本上具备了全双工通信的能力,但不能说很完善。例如,在接收子程序中,虽然检验了奇偶校验位,但没有进行出错处理;另外,发送和接收数据区的范围都很有限。,例:用第9个数据位作奇偶校验位,编制串行口方式2的发送程序。 解:将片内RAM 50H5FH中的数
14、据串行发送;方式2发送程序流程图如图所示。,3、串行口方式2、方式3的发送和接收,程序清单如下: TRT: MOV SCON ,#80H ;方式2设定 MOV PCON ,#80H ;取波特率为fosc/32 MOV R7 ,#10H ;数据长度10HR7 LOOP: MOV A ,R0 ;取数据A MOV C ,PSW.0 ;PTB8 MOV TB8 ,C MOV SBUF ,A ;数据SBUF,启动发送 WAIT: JBC TI ,CONT ;判断发送中断标志 SJMP WAIT CONT: INC R0 DJNZ R7 ,LOOP RET,3、串行口方式2、方式3的发送和接收,例 编制一
15、个串行口方式2接收程序,并核对奇偶校验位。 解:根据上面介绍的特点,在方式2、方式3的发送过程中,将数据和附加在TB8中的奇偶位一块发向对方。因此,作为接收的一方应设法取出该奇偶位进行核对,相应的接收程序段为:,RRR: MOV SCON ,#90H ;选方式2,并允许接收 LOOP: JBC RI ,RECEIV ;等待接收数据并清RI SJMP LOOP RECEIV: MOV A ,SBUF ;将接收到的字符取出后,送到 ;ACC。注意,传送指令影响PSW, 产生接收端的奇偶值 JB PSW.0 ,ONE ;判断接收端的奇偶值 JB RB8 ,ERR ;判断发送端的奇偶值 SJMP RI
16、GHT ONE: JNB RB8 ,ERR RIGHT: ;接收正确 ERR: ;接收有错,简单介绍,1 RS-232C标准接口总线 2 信号电气特性与电平转换 3 单片机与PC机通信的接口电路,返回,RS-232C标准接口总线,ELA RS-232C是目前最常用的串行接口标准,用于实现计算机与计算机之间、计算机与外设之间的数据通信。 该标准的目的是定义数据终端设备(DTE)之间接口的电气特性。一般的串行通信系统是指微机和调制解调器(modem),如图。调制解调器叫数据电路终端设备(简称DCE)。 RS-232C提供了单片机与单片机、单片机与PC机间串行数据通信的标准接口。通信距离可达到 15 m。,RS-232C标准接口总线,返回,RS232C接口的具体规定如下: (l)范围 RS-232C标准适用于DCE和 DTE间的串行二进制通信,最高的数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025梧州市第二职业中等专业学校工作人员招聘考试试题
- 2025来凤县中等职业技术学校工作人员招聘考试试题
- 2025杭州市第二机械技工学校工作人员招聘考试试题
- 市政工程高处作业施工方案
- 2026年零售智能营销创新报告
- 初中语文整本书阅读教学在提升学生文学素养中的研究课题报告教学研究课题报告
- 2026年日化健康法规政策报告
- 2026年智能马桶行业健康监测技术发展报告2026年
- 国常会聚焦海洋经济与科技创新;伊朗冲突外溢推升全球能源危机
- 纺织服饰行业运动鞋服2026Q1总结:Q1流水增长优异库存健康关注Q2假期消费表现
- 黑吉辽蒙2025年高考真题物理试卷【附答案】
- 2026年心理咨询师通关测试卷含完整答案详解(夺冠)
- 2026年浙江公务员考试行测真题及答案解析
- 2025年凉山新华书店考试真题及答案
- JBT 10960-2024 带式输送机 拉绳开关(正式版)
- 案例分析-垂体腺瘤 课件
- 基于知识本体的铁路工程EPC总承包项目风险管理研究
- 查缉战术课件大纲
- 3.辽宁2017定额宣贯《房屋建筑与装饰工程定额 》
- 抖音员工号申请在职证明参考模板
- LY/T 2422-2015薇甘菊防治技术规程
评论
0/150
提交评论