- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
617-第一讲 80C51的串行接口
学习目标: 单片机串行通信I/O接口的结构 串行通信控制寄存器 单片机串行通信的工作方式 以及串行通信应用。 一、 串行通信基本概念 并行通信:数据多位同时传送 串行通信:数据字节一位一位在一条传输线上逐个传送。 同步通信:发送方时钟与接收方时钟同步。既保持位同步,也保持字符同步。 1、RS-232C接口 EIA(美国电子工业协会)1969年修订RS-232C标准,它定义了DTE与DCE间的物理接口标准。 过程特性 规定了信号间的时序关系 。 2、PC与外设的RS-232直接连接 三、串行接口的结构 设定工作方式、接收/发送控制以及设置状态标志 SM2,多机通信控制位。 主要用于方式2和方式3。对于接收机 SM2=0,收到RB8(0或1)既可使收到的数据进入SBUF,并激活RI。 SM2=1,收到的RB8=0时,收到的信息丢弃,不激活RI ;若收到的RB8=1时,收到的数据进入SBUF,并激活RI,进而在中断服务中将数据从SBUF读走。 方式0时,SM2必须是0。 方式1时,SM2=1时,只有接收到有效停止位时,RI才激活。 TB8,在方式2、3中,是发送数据的第9位 数据的奇偶校验位 地址帧/数据帧的标志位 2、PCON : 四、80C51串行口的工作方式 1.方式0_ 8位数据 串行接口工作方式0为同步移位寄存器方式,多用于I/O口的扩展,其波特率是固定的,为fosc/12。TXD引脚输出同步移位脉冲,RXD引脚串行输入/输出。 方式0掌握: 1、8位数据,波特率为F0SC/12 2、低位在前,高位在后 3、TI,再发送数据,软件清0,CLR TI 4、RI,再接收数据,软件清0,CLR RI 5、同步通信,无起始位和停止位 2.方式1_ 10位数据 在方式l时,串行口被设置为波特率可变的8位异步通信接口。发送/接收1帧数据为10位,其中1位起始位、8位数据位(先低位后高位)和 方式1掌握: 1、一帧为10位信息,1位起始(0),8位数据,1位停止(1) 2、波特率=P127 3、异步通信 4、接收时,RB8里是停止位,数据位在SBUF(SM2=0) 3.方式2_ 11位数据 串行口工作为方式2时,被定义为9位异步通信接口。发送/接收1帧数据为11位,其中1位起始位、8位数据位、1位控制/校验位和1位停止位。控制/校验位为第9位数据。 4.方式3_ 11位数据 方式3为波特率可变的11位异步通信方式,除了波特率有所区别之外,其余同方式2。 工作方式掌握: 1、几中工作方式波特率不同 2、传送的位数不同,方式0是8位(数据位),方式1是10(8位数据——SBUF,1个起始、1位停止——RB8),方式2和方式3都是11位(8位数据,1位控制/校验位——RB8、TB8,1位起始和1位停止位) 3、方式0是同步,方式1、2、3是异步 5、波特率的计算 方式0、2的波特率是固定的,而方式1、3的波特率是可变的,由定时器T1的溢出率来决定。 五、单片机串行口应用举例 1、 单片机与单片机的通信 串行口初始化具体步骤: 确定T1的工作方式(编程TMOD寄存器); 计算T1的初值,装载TH1、TL1; 启动T1(编程TCON中的TR1位); 确定串行口控制(编程SCON寄存器); 七、 单片机串行口的应用 1、 串行口扩展显示器 【例1】用8位串入并出移位寄存器74HC164扩展显示器。 【例2】 :把数据从显示缓冲区送到数码管。入口;将要显示的数放在以DIS0为首的8个单元中。出口:把预置的数输出以更新原有的显示。 MOV R2,#08H ;显示8个数码管 MOV R0,#DIS7 ;显示缓冲区未地址送入R0 DL0:MOV A,@R0 ;取要显示数作查表偏移量 MOV DPTR,#TAB ;指向字形表首 MOVC A,@A+DPTR;查表得字形码 MOV SBUF,A ;发送显示 DL1: JNB T1,DL1 ;等待发送完一帧 CLR T1 ;清中断标志,准备继续发送 DEC R0 ;更新显示单元 DJNZ R2,DL0 ;重复显示所有数码管 TAB: DB 0C0H,0F9H,0A4H,0B0H,99H;0,1,2,3,4, DB 92H,82H,0F8H,80H,90H;5,6,7,8,9, DB 88H,83H,0C6H,0A1H,86H;A,B,C,D,E, DB 8EH,0BFH,8CH,0FFH;F,-,P,暗 2、 串行口扩展的键盘 在方式0下,串行口作同步移
文档评论(0)