




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及接口技术,第7章 串行通讯接口,本章学习要求:,1.掌握串行通讯的基本概念; 2.掌握串行通讯接口的电路结构; 3.掌握四种工作方式及波特率的计算方法; 4.掌握串行通讯接口的SFR和编程方法。,共需要两根线,一根数据线DATA和一根时钟线CLK; 按照时钟信号,从低到高逐个传送数据位.,7.1 串行通讯的概念,一、 同步串行通讯, 7.1 串行通讯的概念,7.1 串行通讯的概念,二、 异步串行通讯,接收端是如何区分起始位与D0、D1、D2、D3、D4的?,只需要一根数据线; 字节按照固定的帧格式传送.,位时间(每位宽)T = 波特率的倒数; 例:波特率为9600时, 位宽T=1/9600Baud=0.10417ms 在异步通讯中,接收设备和发送设备必须保持相同的波特率。,波特率与定时器关系密切,大小是通过定时器T1定时实现的!,7.1 串行通讯的概念,三 波特率,是指每秒传送数据位的位数,是衡量传输速度的一个指标。 单位是位/秒,bit per second,简写bps。,7.2 AT89C51单片机的串行通讯接口,7.2 AT89C51单片机的串行通讯接口,AT89C51单片机内部有一个 全双工串行接口; 使用两个IO口, 发送端口TXD与接收端口RXD.,7.2.1 AT89C51单片机串行接口电路结构,7.2 MCS-51单片机的串行通讯接口,SBUF = 0x-;,发送完毕标志位,数据输出引脚,时钟输出引脚,波特率,一 同步串行接口,思考题:若单片机晶体频率为12MHz,问单片机启动一字节的同步串行接口发送命令需要多长时间?同步串行接口电路接收到CPU的发送指令后,完成该字节的发送需要多长时间?,1us 8us,二 异步串行接口,7.2 MCS-51单片机的串行通讯接口,SBUF = 0x-,发送完毕标志位,输出引脚,输入引脚,接收完毕标志位,temp = SBUF;,波特率,需要设置接收允许标志位REN,思考题: 1.若单片机晶体频率为12MHz,问单片机启动一字节的异步串行接口发送命令需要多长时间? 2.若异步串行接口的波特率设置为1200bps,问电路接收到CPU的发送指令后,完成该字节的发送需要多长时间?,7.2 MCS-51单片机的串行通讯接口,1. 1个机器周期,1us. 2. (1/1200)*11s=0.0092s=9.2ms,7.2.2 串行接口控制寄存器,7.2 MCS-51单片机的串行通讯接口,SFR:SCON串行接口控制器(98H),SM2:允许方式2和方式3进行多机通讯控制位。在方式0、1中必须为0。 REN:允许串行口接收控制位。写1允许接收,写0禁止接收。 TB8:工作方式2和方式3下,发送的第9位数据,由软件写1或0。 RB8:工作方式2和方式3下,接收到的第9位数据。 TI:发送完毕中断标志位,发送SBUF内的数据发送出去后,硬件自动置位TI。TI必须由软件清0。 RI:接收完毕中断标志位,接收SBUF中接收到一个数据后,硬件自动置位RI。RI必须由软件清0。,7.2 MCS-51单片机的串行通讯接口,SFR:SCON串行接口控制器(98H),7.2 MCS-51单片机的串行通讯接口,D7,D0,SMOD:波特率加倍位。在计算方式1、2、3的波特率时, 为1波特 率加倍,为0波特率不加倍。,SFR:PCON(87H),7.2 MCS-51单片机的串行通讯接口,7.2.3 串行接口的四种工作方式,一 工作方式0(同步串行通讯接口),串口发送时间T1,CPU启动发送命令时间T2 SBUF = 0x-;,7.2 MCS-51单片机的串行通讯接口,方式0发送 当一个数据写入发送缓冲器SBUF(SBUF = 0x-;)时,串行口即将8位数据以fosc/12的波特率从RXD引脚输出(从低位到高位), 同步时钟脉冲从TXD引脚输出,发送完毕中断标志TI置1,波形如下图。 再次发送数据前,必须用软件将TI清0(TI = 0;)。,工作方式0发送数据时,一般外接移位寄存器(如74HC164)实现串并转换,用于扩展键盘和显示接口。,7.2 MCS-51单片机的串行通讯接口,74HC164 8-bit serial-in, parallel-out shift register,RXD,TXD,P1.0,D0,实际应用中,工作方式0很少用于接收数据。此节只讨论方式0发送数据。,7.2 MCS-51单片机的串行通讯接口,ORG 0000H LJMP MAIN ;跳转主程序 ORG 0030H MAIIN: MOV SCON, #00H ; 定义串口工作方式0,禁止接收数据 MOV R0,#10H ;定义传送数据字节数 MOV DPTR,#3000H ;定义外部数据存储器指针 LOOP: MOVX A,DPTR ;读取数据 MOV SBUF,A ;发送数据 JNB TI,$ ;查询当前字节发送是否完毕 CLR TI ;软件清标志位 INC DPTR ;指针加1,准备读取下一单元数据 DJNZ R0,LOOP ;判断发送是否完毕 SJMP $ ;自循环,例7.1 编写程序,使用串口工作方式,依次发送外部数据存储器3000H-300FH单元内的数据。,分析:初始化串口控制寄存器SCON,定义工作方式的状态字为00H。发送采用查询方式,当查询到发送完毕标志位TI为后,发送下一个字节。,7.2 MCS-51单片机的串行通讯接口,二 工作方式1(异步串行通讯接口),波特率计算公式: 定时器T1溢出率是指定时器T1一秒钟内溢出的次数。 发送或接收完一个字节后,必须软件将TI、RI清0。,方式1数据格式,7.2 MCS-51单片机的串行通讯接口,方式1发送时序,方式1接收时序 注意设置接收允许控制位REN为1,7.2 MCS-51单片机的串行通讯接口,三 工作方式2、3(异步串行通讯接口),发送或接收完一个字节后,必须软件将TI、RI清0。,方式2、方式3的区别在于波特率的计算方法 方式2: 方式3: 数据格式,7.2 MCS-51单片机的串行通讯接口,方式2、3发送时序,方式2、3接收时序(不做要求) 注意设置接收允许控制位REN为1; 注意SM2的作用。,T1工作方式2,初值自动重新装入的8位定时器,7.3 波特率的计算和设置,7.3 波特率的计算和设置,7.3 波特率的计算和设置,例7.2 已知单片机晶体频率为12MHz,SMOD为0,串口工作方式1,波特率为2400bps,试求定时器T1的初值。,波特率误差 为了保证通讯的可靠性,通讯双方波特率相对误差不应大于2.5%。,初始化程序(定时器和串口) SCON = 0x50; /串口方式1 ,允许接收 PCON = 0x00; /SMOD=0 TMOD = 0x20; /T1工作方式2 TH1 = 0xF3; /写时间常数 TL1 = 0xF3; /T1首次定时初值 TR1 = 1; /启动T1,T1产生的常用波特率,7.3 波特率的计算和设置,7.4 串行接口的应用与编程举例,1 串行接口初始化编程格式,SCON = 0x50; /串口方式,且TI RI清零,是否允许接收 PCON = 0x00; /SMOD=0/1, TMOD = 0x20; /T1工作方式2 TH1 = 0x-; /写时间常数 (TL1 = 0x-;) /T1首次定时初值 TR1 = 1; /启动T1 ( EA = 1; ) /允许中断 ( ES = 1; ) /允许串口中断,2 发送函数,7.4 串行接口的应用与编程举例,void fasong(uchar temp) SBUF = temp; /启动发送命令 while(TI); /等待发送完毕 TI = 0; /清发送完毕标志位,3 接收函数,REN=1、RI=0等待接收,当RI=1,从SBUF读取数据。,uchar jieshou( void ) while(RI); /等待数据 RI = 0; /清标志位 return SBUF; /将接受到的数据返回,例7.3设有甲、乙两台单片机,编出两台单片机间实现如下串行通讯功能的程序,要求串口工作方式1,波特率为9600bps,单片机外接晶振为11.0592MHz。 甲方发送:将首址为2000H的32个字节的外部数据存储器数据块顺序向乙方发送; 乙方接收:将接收的32个字节的数据,保存到内部数据存储器中 。 程序编制的要点: 1、选定串口工作方式1,发送方控制字SCON为0100_0000B,接收方控制字SCON也是0101_0000B; 2、定时器T1工作工作方式2,初值为FDH,SMOD为0; 3、在程序中必须用软件清除标志位RI和TI。,7.4 串行接口的应用与编程举例,发送单片机程序 main( ) uint data xaddr= 0x2000; /定义外部数据存储器地址指针 uchar data num; /定义发送字节个数变量 SCON = 0x40; /发送方串口方式1,禁止接收 PCON = 0x00; /SMOD=0, 能否用CLR SMOD TMOD = 0x20; /定时器T1工作方式2 TH1 = 0xFD; /产生9600波特率的定时器初值 TR1 = 1; /启动定时器T1 for(num=0;num32;num+) fasong(XBYTExaddr+num); /取数据并发送 while(1); ,7.4 串行接口的应用与编程举例,void fasong(uchar temp) SBUF = temp; /启动发送命令 while(TI); /等待发送完毕 TI = 0; /清发送完毕标志位,7.4 串行接口的应用与编程举例,接收单片机程序 main( ) uchar data shuzu32; /定义32字节的数组 uchar data num; /定义接收字节个数变量 SCON = 0x50; /发送方串口方式1,允许接收 PCON = 0x00; /SMOD=0, 能否用CLR SMOD TMOD = 0x20; /定时器T1工作方式2 TH1 = 0xFD; /产生9600波特率的定时器初值 TR1 = 1; /启动定时器T1 for(num=0;num32;num+) shuzunum = jieshou( ); /取接收数据并保存 while(1); ,uchar jieshou( void ) while(RI); /等待数据 RI = 0; /清标志位 return SBUF; /将接受到的数据返回,7.5 PC机与MCS-51单片机的串口连接,7.5 PC机与MCS-51单片机的串口连接,因线电阻的存在使得信号在线路传输中存在电压衰减, 而因电磁干扰的存在使得信号在线路传输中存在电压变化, 所以常采用RS-232C电平负逻辑,拉开“0”和“1”的电压档次,提高信号的传输距离和通讯线路的抗干扰能力。,TTL正逻辑: “0”: 0 +0.8V; “1”: 2.0V+5V; 传输距离一般不超过1.5米。,RS-232C负逻辑: “0”:+5V+15V; “1”: -5V -15V; 典型传输信息的长度为15米。,1 RS-232C电平标准,2 PC机的串行接口介绍,9针RS-232C接口 有用信号: 2、RXD 3、TXD 5、GND 电气特性负逻辑 1、逻辑1为-5V到-15V 2、逻辑0为+5V到+15V,7.5 PC机与MCS-51单片机的串行接口连接,7.5 PC机与MCS-51单片机的串行接口连接,3 PC机与MCS-51单片机的串行接口连接,RS-232C与TTL电平转换芯片,7.5 PC机与MCS-51单片机的串行接口连接,PC机与MCS-51单片机的串行接口连接,RXD,TXD,两台单片机间远距离串行通讯接口连接,7.5 PC机与MCS-51单片机的串行接口连接,RXD,TXD,R1in 13,T1out 14,12,RXD,TXD,11,MAX232,MAX232,MAX232,1、串行通信的基本原理和基本方式(同步和异步)。 2、串行口控制/状态控制字SCON和 节电控制字PCON。 3、串行通信的4种工作方式及其对应的波特率、传送位数(8位、10位、11位、11位) 、时序和应用。 4、串行通信的应用: 发送和接收程序(查询方式、中断方式)。,本章小结,本章小结,本章小结,本章小结,TH0,TH1,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广西物流职业技术学院招聘教职人员控制数205人模拟试卷带答案详解
- 2025福建三明机场发展集团有限公司招聘3人模拟试卷有完整答案详解
- 2025贵州贵阳学院高层次人才引进15人考前自测高频考点模拟试题及答案详解(新)
- 2025江苏兴化市招聘教师67人模拟试卷及完整答案详解1套
- 安全培训教师安全职责课件
- 2025年东北农业大学专职辅导员公开招聘16人考前自测高频考点模拟试题及答案详解(网校专用)
- 2025江西吉安市井冈山大学招聘177人考前自测高频考点模拟试题及答案详解(名校卷)
- 2025内蒙古赤峰市克旗银都矿业招聘4人考前自测高频考点模拟试题附答案详解(模拟题)
- 2025年湖南湘西州吉首市石家冲街道卫生服务中心招聘见习生考前自测高频考点模拟试题附答案详解(考试直接用)
- 河北省【中职专业高考】2025年中职高考对口升学(理论考试)真题卷【财经商贸大类】模拟练习
- NBT 10322-2019 海上风电场升压站运行规程
- GB/T 17622-2008带电作业用绝缘手套
- 高效液相色谱简介及操作课件
- 【教师必备】部编版二年级语文上册 第二单元【集体备课】
- 2023年华中科技大学辅导员招聘考试笔试题库及答案解析
- 涨停战法研究精华总结(经常复读-多有收获)
- 每日一测-分公司题库意健险(1.31)
- 现代汉语全套课件
- 智慧农业信息化解决方案
- 二十四山开门放水作灶真诀
- 生物基础电子教案分享
评论
0/150
提交评论