版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章 串行口的应用,广东机电职业技术学院-单片机应用,智能电子教研室,张永亮,单工方式:数据仅按一个固定方向传送,如广播、遥控等。 半双工方式:数据可实现双向传送,但不能同时进行,如使用同一载频工作的无线电对讲机。 全双工方式:允许双方同时进行数据双向传送,如普通电话。,1、 串行通信基础知识,1)数据通信的传输方式,第八章 串行口的应用,1)数据通信的传输方式,并行通信,速度快、距离短、引线多,速度慢、距离长、引线少,UART: Universal Asynchronous Receiver/Transmitter,USB: Universal Serial Bus,串行通信,2)并行通信
2、和串行通信,3)异步串行通信和同步串行通信,异步串行通信:简称为异步通信,所传输的数据格式(也称为串行帧)由1个起始位、7个或8个数据位、12个停止位(含1.5个停止位)和1个校验位组成。起始位约定为0,空闲位约定为1。在异步通信方式中,接收器和发送器有各自的时钟,它们的工作是非同步的。,Asynchronous,异步通信数据格式,同步通信:发送器和接收器由同一个时钟源控制。在异步通信中,每传输一帧字符都必须加上起始位和停止位,占用了传输时间,在要求传送数据量较大的场合,速度就会慢得多。同步 传输方式去掉了这些起始位和停止位,只在传输数据块时先送出一个同步头(字符)标志即可。 同步传输方式比异
3、步传输方式速度快,这是它的优势。但同步传输方式也有其缺点,即它必须要用一个时钟来协调收发器的工作,所以它的设备也较复杂。,同步串行通信,Synchronous,同步通信数据格式,4)波特率,它与字符的传送速率(字符/秒)之间有以下关系: 波特率=1帧的二进制编码位数帧/秒 要求发送端与接收端的波特率必须一致。,波特率BR(Baud Rate)是单位时间传输的数据位数,单位:bps(bit per second),1bps=1bit/s。波特率的倒数即为每位传输所需的时间。,例如异步通信传送数据每秒100帧,每帧11位,则该通信的波特率为 100帧/s11位/帧1100位/s1100波特 波特率
4、的倒数是传送1位二进制数所需的时间: T1/(1100位/s)0.91 ms/位,5)串行通信的校验,异步通信时可能会出现帧格式错、超时错等传输错误。在具有串行口应用的单片机开发中,应考虑在通信过程中对数据差错进行校验,因为差错校验是保证准确无误通信的关键。 常用差错校验方法有: 奇偶校验(51系列单片机编程采用此法) 和校验 循环冗余码校验。,在发送数据时,数据位尾随的一位数据为奇偶校验位(1或0)。 当设置为奇校验时,数据中1的个数与校验位1的个数之和应为 奇数; 当设置为偶校验时,数据中1的个数与校验位中1的个数之和应 为偶数。 接收时,接收方应具有与发送方一致的差错检验设置,当接收 一
5、个字符时,对1的个数进行校验,若二者不一致,则说明数 据传送出现了差错。 奇偶校验是按字符校验,数据传输速度将受到影响。这种特点 使得它一般只用于异步串行通信中。,(1)奇偶校验,所谓和校验是指发送方将所发送的数据块求和(字节数 求和),并产生一个字节的校验字符(校验和)附加到 数据块末尾。 接收方接收数据时也是先对数据块求和,将所得结果与 发送方的校验和进行比较,相符则无差错,否则即出现 了差错。 这种和校验的特点是无法检验出字节位序的错误。,(2)和校验,MCS-51单片机串行口是由以下部分构成: 发送缓冲寄存器(SBUF),发送控制器,接收缓冲寄存器(SBUF),接收控制寄存器,移位寄存
6、器,中断等部分组成。,1)串行口结构与特殊功能寄存器,MCS-51单片机串行口结构图,2、MCS-51串行通信接口,与串行通信有关的控制寄存器共有4个:SBUF、SCON、PCON和IE。 在逻辑上,SBUF只有一个,既表示发送寄存器,又表示接收寄存器。具有同一个单元地址99H。在物理上,SBUF有两个,一个是发送寄存器,另一个是接收寄存器。,(1)接收/发送缓冲器(SBUF),Serial Buffer,SCON是MCS-51的一个可位寻址的专用寄存器,用于串行数据通信的控制。单元地址98H,位地址9FH98H。,(2)串行控制寄存器(SCON),表1 SCON各位的地址、定义及其对应的功能
7、,(1)串行口工作方式选择位SM0、SM1 SM0、SM1由软件置1或清0,用于选择串行口的4种工作方式。,Serial Mode,多机通信控制位SM2 SM2=1时,接收到一帧信息,如果接收到的第9位数据为1,硬件将RI置1,申请中断;如果第九位数据为0,则RI不置1,且所接收的数据无效。SM2=0时,只要接收到一帧信息,不管第九位数据是0还是1,硬件都置RI=1,并申请中断。RI由软件清0,SM2由软件置1或清0。 多机通信时,各从机先将SM2置l。接收并识别主机发来的地址,当地址与本机相同时,将SM2清0,与主机进行数据传递。各机所发送的数据第9位必须为0。,(2)串行控制寄存器(SCO
8、N),多机通信,先送地址,后送数据,SCON,字节 地址 98H,D7 D6 D5 D4 D3 D2 D1 D0,地址帧:1,数据帧:0,(3)允许接收控制位REN REN=1时允许并启动接收,REN=0时禁止接收。REN由软件 置1或清0。 (4)发送数据D8位TB8 TB8是方式2、方式3中要发送的第九位数据,事先用软件 写入1或0。方式0、方式1不用。,(2)串行控制寄存器(SCON),Receive Enable,Transmit Bit 8,(5)接收数据D8位RB8 方式2、方式3中,由硬件将接收到的第九位数据存入RB8。 方式1中,停止位存入RB8。 (6)发送中断标志位TI 发
9、送完一帧信息,由硬件使TI置1,TI必须由软件清0。 (7)接收中断标志位RI 接收完一帧有效信息,由硬件使RI置1,RI必须由软件清0。,(2)串行控制寄存器(SCON),Receive Bit 8,Receive Interruption,Transmit Interruption,IE的地址是A8H,其中串行口允许中断的控制位为ES,当ES=1,允许串行口中断;当ES=0,禁止串行中断。,(3)电源控制寄存器(PCON),PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器。单元地址为87H,不能位寻址。PCON是一个8位寄存器,其最高位SMOD为波特率控制位:该位为1时,波特
10、率增大一倍。,(4)中断允许控制寄存器IE,Power Controller,Interruption Enable,2)MCS-51串行通信工作方式,表2 串行口的4种工作方式,在方式0下,串行口作为同步移位寄存器使用。这时用RXD(P3.0)引脚作为数据移位的入口和出口,而由TXD(P3.1)引脚提供移位脉冲。移位数据的发送和接收以8位为一帧,不设起始位和停止位,低位在前高位在后。,(1)串行工作方式0,串口方式0帧格式,发送过程:写入SBUF,启动发送,一帧发送结束,TI=1。 接收过程:REN=1且RI=0,启动接收,一帧接收完毕,RI=1。,方式0发送,发:SBUF=0 x55;收:
11、ch=SBUF;,串入并出,(1)串行工作方式0,如果把实现并入串出功能的移位寄存器(例如CD4014或74HC165)与串行口配合使用,就可以把串行口变为并行输入口使用。,把串行口变为并行输入口使用,(1)串行工作方式0,【例】串行口外接LED静态显示,串口输出LED电路,用串行口扩展输出口的电路,【例】用串行口扩展并行输出口,8串行输入/并行输出移位寄存器芯片的引脚图,4094 74LS164,(1)串行工作方式0,例: 使用74HC164的并行输出引脚接8支发光二极管,利用它的串入并出功能,把发光二极管从左向右轮流点亮,并反复循环。发光二极管为共阴极型,电路连接如图所示。,图 串行移位输
12、出电路,(1)串行工作方式0,8位数据异步通讯方式: 1. 一帧10位:8位数据位,1个起始位(0),1个停止位(1)。 2. RXD:接收数据端。 TXD:发送数据端。 3. 波特率:用T1作为波特率发生器,B=(2SMOD/32)T1溢出率。 4. 发送:写入SBUF,同时启动发送,一帧发送结束,TI=1。 接收:REN=1,允许接收。接收完一帧,若RI=0且停止位为1 (或SM2=0),将接收数据装入SBUF,停止位装入RB8,并使RI=1;否则丢弃接收数据,不置位RI。,收:MOV A, SBUF,发:MOV SBUF, A,(2)串行工作方式1,发:SBUF=0 x55; 收:ch=
13、SBUF;,当REN=1,CPU开始采样RXD引脚负跳变信号,若出 现负跳变,才进入数据接收状态,先检测起始位,若第一 位为0,继续接收其余位;否则,停止接收,重新采样负跳变。,方式1发送与接收,(2)串行工作方式1,9位数据异步通讯方式。 一帧为11位:9位数据位,1个起始位(0),1个停止位(1)。 第9位数据位在TB8/RB8中,常用作校验位 和多机通信标识位。 2. RXD:接收数据端,TXD:发送数据端。 3. 波特率:方式2:B=(2SMOD/64)fosc 。 方式3:B=(2SMOD/32)T1溢出率 。,(3)串行工作方式2和方式3,4. 发送:先装入TB8,写入SBUF并启
14、动发送,发送结束,TI=1。 接收:REN=1,允许接收。接收完一帧,若RI=0且第9位为1 (或SM2=0),将接收数据装入接收SBUF,第9位装入RB8,使RI=1;否则丢弃接收数据,不置位RI。,方式2和方式3时序,(3)串行工作方式2和方式3,串行口的4种工作方式对应着三种波特率模式。 (1)对于方式0,波特率是固定的,为fosc/12。 (2)对于方式2,波特率由振荡频率fosc和SMOD(PCON.7)所决定。其对应公式为 波特率=2SMODfosc/64 当SMOD=0时,波特率为fosc/64;当SMOD=1时,波特率为fosc/32。 (3)对于方式1和方式3,波特率由定时器
15、/计数器T1的溢出率和SMOD决定,即由下式确定: 波特率=2SMOD(定时器/计数器T1溢出率)/32,3) MCS-51串行口波特率,T1溢出率,定时计数器T1有4种不同的工作方式,其中的方式2是自动重装初值的8位计数器方式。方式2的工作特点是,T1由低8位计数器TL1和高8位计数器TH1组成,TL1作8位计数器使用,TH1存放计数初值。当TL1计满溢出时,TH1的值自动重新送入到TL1中又重新开始计数。如果设T1的计数初值为X,定时计数工作寄存器TMOD(字节地址89H)的C/ T 0(定时方式),则每计满28X个时钟脉冲,T1就发生一次计满溢出,3) MCS-51串行口波特率,【例】选
16、择MCS-51串行通信口工作于方式1,设置定时计数器T1作波特率发生器(工作于方式2),设波特率为9600波特,fosc=11.0592 MHz,取波特率控制位SMOD0,计算定时计数器初值X。 解: X256 FDH,SCON = 0 x40; /串口方式1,8位异步接收 PCON= 0 x00; /波特率不加倍 TMOD= 0 x20; /定时器T1,方式2 TH1 = 0 xFD; /赋初值 TL1 = 0 xFD; /赋初值 TR1 = 1; /启动定时器,初始化程序:,3) MCS-51串行口波特率,表3 定时器1产生的常用波特率,3) MCS-51串行口波特率,一、硬件设计: (1
17、)电平转换:单片机是TTL电平,计算机是-C电平(+5+15V是数字“0”, -15-5V是数字“1” ) 。 Max232、MC1488、MC1489、三极管电路等。 (2)连线:TXD与RXD交叉对接,GND直接相连。 二、软件设计: (1)单片机端:Keil C等软件,用汇编或者C语言编写。 (2)计算机端:VB、VC+、Dephi。 Mscomm控件 三、辅助工具:串口调试助手,负逻辑,3、 单片机与PC的通信,单片机与PC机间连接,RS-232是美国电子工业联合会EIA与BELL等公司在1969年一起开发的接口标准,专门用于020 000波特传输速率的通信,电缆传输最大物理距离50英
18、尺(15 m)。该标准有25线插件和9线插件两种,以9线插件应用较多。,3、 单片机与PC的通信,点对点通信(串行中断),工学结合任务七:,广东机电职业技术学院-单片机应用,目的和意义,1掌握串行通信的基本工作原理。 2. 掌握单片机串行通信数据接收和发送采用的方式,串口 波特率的设置。 2掌握C51编写串口通信程序。 4掌握PROTEUS仿真,烧写器的使用,硬件电路设计、 焊接、装配,培养学生利用单片机技术解决生活 中的实际问题的能力。,一、任务描述,1、设计两个单片机的通信电路,一个负责发送,一个负责接收。 2、具体要求:设定波特率为9600bit/s,发送机发送0-9,接收 机能正确接收
19、,并采用数码管显示。 3、利用Keil C 软件编写主函数、串口通信,显示,定时器中断 等C程序代码。,二、任务分析,1 、任务所需硬件知识 单片机最小系统(晶振,复位电路),数码管显示,串行接口 电路 2、任务所需软件知识 单片机C语言数据类型,结构,串口通信、显示等程序设计 3 、任务所需环境 安装操作系统的微机1台、单片机集成开发环境keil C2.0、软 硬件开发平台proteus 6.9、单片机下载软件STC_ISP_V3.3 、 单片机实验板、下载线。,项目实施过程理实一体化模式,系统设计规划,二、任务分析,要求会使用Keil C开发环境 要求文件夹命名规范 要求工程项目命名规范
20、要求文件名命名规范 要求程序是否功能齐全 要求仿真软件达到设计要求 要求硬件电路满足设计要求 要求产品设计文档充分,二、任务分析,程序设计要求,1、进行功能分析,工作框架搭建,工作分工。 2、使用软硬件开发平台proteus 7.4进行电路仿真。设计要点:新建电路图设计文件,查找元器件,放置元器件,布局布线,修改元器件属性,进行仿真单片机程序。 3、使用单片机集成开发环境keil C2.0。要点:C程序构成, 关键词,运算符与表达式,数据结构,结构化语句。 4、使用单片机下载软件STC_ISP_V3.3,通过串口或USB将单片机程序下载到单片机芯片中进行调试。 5、完善单片机产品硬件电路,进行
21、合适的电容、电阻、芯片、传感器、显示器件等进行焊接,通电运行后观察硬件电路是否满足要求。 6、完成实验文档编写,包括:题目、作者、摘要、关键词,绪论,硬件电路,软件流程、代码,数据分析。,任务实施步骤,四、任务设计,1)驱动硬件分析,. 此电路核心件是MCS-51单片机(AT89C51)。 2. 包括时钟电路、复位电路。 3.串口通信及数码管驱动电路。,四、任务设计,1、双机通信设计,硬件电路参考原理图,2)仿真电路图,/* 程序 名: MCU_TXD.c 程序功能: 通信程序-发送 */ #include unsigned char ch=0; unsigned char x10=0 x3f
22、,0 x06,0 x5b,0 x4f,0 x66, /段码01234 0 x6d,0 x7d,0 x07,0 x7f,0 x6f; /段码56789 /* 延时子程序 */ void delay() unsigned int i=500; while(i-); ,(1)发送机声明、延时程序,3)发送机程序,(2)发送机串口初始化程序,/* 程序 名: void init_serialcomm() 程序功能: 串口中断初始化 */ void init_serialcomm() SCON = 0 x50; /*串口工作在方式1, 允许接收 */ TMOD |= 0 x20; /*定时器1工作在方式
23、2,重载 */ TH1 = 0 xfa; /*波特率9600,fosc=11.0592MHz */ TL1 = 0 xfa; /*波特率9600,fosc=11.0592MHz */ PCON |= 0 x80; /* SMOD=1;波特率倍增 */ EA = 1; ES = 1; /* 允许串行中断,interrupt enable */ TR1 = 1; /* 启动定时器1,timer1 run */ TI = 0; RI = 0; ,3)发送机程序,/* 程序 名: void serial_sever() interrupt 4 程序功能: 串口中断服务程序 */ void serial
24、_sever() interrupt 4 if(RI) /* 如果有数据到来 */ RI = 0; /* 准备下次接收 */ ch = SBUF; /* 接收数据 */ else TI=0; ,(3)发送机串口中断程序,3)发送机程序,/* 程序 名: void main() 程序功能: 主程序 */ void main() init_serialcomm(); /*初始化串口*/ loop1: SBUF=xch; P2=xch; if(ch9) ch+; else ch=0; delay(); /SBUF=0 x55; goto loop1; ,(4)发送机主程序,3)发送机程序,(1)接收机串口初始化程序,/* 程序 名: void init_serialcomm() 程序功能: 串口中断初始化 */ void init_serialcomm() SCON = 0 x50; /*串口工作在方式1, 允许接收 */ TMOD |= 0 x20; /*定时器1工作在方式2,重载 */ TH1 = 0 xfa; /*波特率9600,fosc=11.0592MHz */ TL1 = 0 xfa; /*波特率9600,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 帕金森病临床表现与居家护理
- 2×800MW二次再热机组项目可行性研究报告
- 人教版PEP六年级上册英语全册详细教案(完整版)
- 2026道路拥堵面试题及答案
- 2026岗位职能面试题及答案
- 2026故乡逐字稿面试题及答案
- 业务流程自动化升级
- 2026集团公关面试题及答案
- 云端数据加密与访问控制
- 国际货运代理公司成本会计述职报告
- 【MOOC】食品化学-中国海洋大学 中国大学慕课MOOC答案
- 脚手架工程专项施工方案(宁海)
- 人教版六年级上册解方程练习300道及答案
- 项目整改实施方案
- GB/T 17630-2024土工合成材料动态穿孔试验落锥法
- 危险化学品安全生产规章制度和岗位操作规程的目录清单
- 供应商供货质量保障措施
- 起重机械作业人员岗位职责
- 路侧智慧停车管理泊车解决方案
- 江西师大附中2022-2023学年强基计划模拟考试第一部分物理试题卷含解析
- 精益生产与八大浪费
评论
0/150
提交评论