版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
自强自立求知求真单片机原理及应用第九章
MCS-51单片机的串行接口9.1串行通信简介9.2MCS-51串行接口结构9.3MCS-51串口工作方式9.4MCS-51单片机的串口应用9.5MCS-51单片机多机通信9.6I2C总线自强自立求知求真单片机原理及应用5.451单片机的串行接口一、串行通信概述1.什么叫串行通信?
在生活中同学们排横队行走——并行;排纵队行走——串行。计算机中在传输信息、数据时也有并行、串行的问题。0010001001P1.0P1.1P1.2P1.3RXDTXD单片机外设1外设21111110101000自强自立求知求真单片机原理及应用2.串行通信的方向单工A
发B
发半双工A
发收B
收发例如:广播电台收音机例如:对讲机自强自立求知求真单片机原理及应用全双工A
发收B
收发例如:电话机接收设备发送设备3.同步通信、异步通信同步——发送设备时钟与接收设备时钟严格一致。校验字符2校验字符1
数据n………
数据2
数据1同步字符2同步字符1自强自立求知求真单片机原理及应用异步——发送时钟与接收时钟不一定相等。空闲位停止位奇偶校验位5~8位数据起始位空闲位自强自立求知求真单片机原理及应用●串行通信中每秒传输的离散信号的个数●单位为baud(波特)●在二进制传输系统中,波特率即为每秒传输二进制位的个数,单位为比特/秒或bps●波特率因子辅助各位的定位串行通信的波特率自强自立求知求真单片机原理及应用●假设使用MCS-51的P1.0作为异步串行输出信号线●11.0592MHz的振荡频率●波特率为1200bps●发送的数据帧包括1个起始位、8个数据位、1个偶校验位、1个停止位●要发送的8位字符事先已经装入累加器A●请给出实现方案和发送过程串行通信的软件实现自强自立求知求真单片机原理及应用串行接口与RS232C标准串行接口UART再加上一些控制电路自强自立求知求真单片机原理及应用标准:机械、功能、电气、时序等线路驱动器自强自立求知求真单片机原理及应用9.251单片机串行接口MCS-51单片机内部的串行接口是全双工的,即它能同时发送和接收数据。这个口既可以用于网络通信,也可以实现串行异步通信,还可以作为同步移位寄存器使用。在串行口中可供用户使用的是它的寄存器。4种工作方式,波特率可编程设置,可中断。自强自立求知求真单片机原理及应用自强自立求知求真单片机原理及应用图中共有两个串行口的缓冲寄存器(SBUF)。一个是发送寄存器,一个是接收寄存器。串行发送时,从片内总线向发送SBUF写入数据;串行接收时,从接收SBUF向片内总线读出数据。它们都是可寻址的寄存器,但因为发送和接收不能同时进行,所以给这两个寄存器赋以同一地址(99H)。自强自立求知求真单片机原理及应用SCON——串行口控制寄存器SM0SM1SM2RENTB8RB8
TI
RITI/RI:中断请求标志位(前面已讲过)RB8:接收的第九位数TB8:发送的第九位数REN:允许接收控制位SM2:多机通信控制位(常与RB8配合,决定是否激活RI)SM0、SM1:工作方式选择位(四种工作方式)自强自立求知求真单片机原理及应用SCON——串行口控制寄存器SM0SM1工作方式方式描述波特率000移位寄存器fosc/12(fosc为振荡器频率)0118位UART可变1029位UARTfosc/64或fosc/321139位UART可变自强自立求知求真单片机原理及应用SMODPCON——电源管理寄存器SMOD位用于决定波特率的倍数。020=1倍
121=2倍SBUF——串行发送/接收数据缓冲器是两个物理单元,共用一个地址(99H)自强自立求知求真单片机原理及应用
串行口的工作方式(1)方式0:同步移位寄存器方式
波特率固定为fosc/12RXD——接收发送数据
TXD——产生同步移位脉冲接收/发送完,置位RI/TI,(要求SM2=0)
D7D6D5D4D3D2D1D0D0D1D2D3D4D5D6D7发送接收无起始位,无停止位。可用于并口的扩展。自强自立求知求真单片机原理及应用自强自立求知求真单片机原理及应用自强自立求知求真单片机原理及应用51单片机指令系统(2)方式1:8位UART
波特率为(2SMOD×T1的溢出率)/32,可变。一帧信息10位。D0D1D2D3D4D5D6D7停止位起始位发送D7D6D5D4D3D2D1D0起始位停止位接收送RB8发送完置位TI。当接收到数据后,置位RI是有条件的。即:REN=1,RI=0且SM2=0或SM2=1但是接收到的停止位为1。此时,数据装载SBUF,RI置1,停止位进入RB8。
自强自立求知求真单片机原理及应用自强自立求知求真单片机原理及应用自强自立求知求真单片机原理及应用51单片机指令系统(3)方式2、方式3:9位UART
一般用于多机通信。一帧信息11位。
D0D1D2D3D4D5D6D7TB8停止位起始位发送发送完数据置位TI。
TB8D7D6D5D4D3D2D1D0起始位停止位接收接收到有效数据完毕,置位RI的条件:REN=1,RI=0且SM2=0或接收到第9位数据为1,此时,数据装载SBUF,RI置1,第9位数据(TB8)
RB8。
送RB8方式2波特率:(固定)2SMOD/64×fosc自强自立求知求真单片机原理及应用自强自立求知求真单片机原理及应用自强自立求知求真单片机原理及应用自强自立求知求真单片机原理及应用9.451单片机串行接口的应用波特率发生器原理自强自立求知求真单片机原理及应用波特率计算方式0的波特率是固定的,为fosc/12方式2的波特率是fosc/32或fosc/64,取决于PCON中SMOD位的值若SMOD=0,波特率为fosc/64若SMOD=1,波特率为fosc/32方式1和3的波特率还取决于定时器/计数器T1或T2的溢出率自强自立求知求真单片机原理及应用波特率计算使用定时器/计数器T1作为波特率发生器方式0时,溢出率为fosc/12/(213-TC)方式1时,溢出率为fosc/12/(216-TC)方式2时,溢出率为fosc/12/(28-TC)方式2最方便自强自立求知求真单片机原理及应用波特率的设置方式0、方式2固定。方式1,方式3可变。波特率=2SMOD/32×(T1的溢出率)T1溢出率=单位时间内溢出次数=1/(T1的定时时间)而T1的定时时间t就是T1溢出一次所用的时间。此情况下,一般设T1工作在模式2(8位自动重装初值)。
N=28-t/T,t=(28-N)T=(28-N)×12/fosc所以,T1溢出率=1/t=fosc/12(28-N),故,波特率=2SMOD/32×fosc/12(256-N)。若已知波特率,则可求出T1的计数初值:
y=256-2SMOD×fosc/(波特率×32×12)
①按选定串行口的操作方式设定SCON的SM0、SM1两位二进制编码。②对于方式2或3,应根据需要在TB8中写入待发送的第9位数据。③若选定的操作方式不是方式0,还需设定发送的波特率:设定SMOD的状态,以控制波特率是否加倍。若选定操作方式1或3,则应对定时器T1进行初始化以设定其溢出率。自强自立求知求真单片机原理及应用自强自立求知求真单片机原理及应用例、若fosc=6MHz,波特率为2400波特,设SMOD=1,则定时/计数器T1的计数初值为多少?并进行初始化编程。
解:X=256-2SMOD×fosc/(2400×32×12)=242.98≈243=F3Hfosc=11.0592MHz,波特率为2400,设SMOD=0,则X=F4H。初始化编程:MOVTMOD,#20HMOVPCON,#80H MOVTH1,#0F3HMOVTL1,#0F3HSETBTR1MOVSCON,#50H
自强自立求知求真单片机原理及应用方式0的应用主要用于I/O扩展;外接串入并出的移位寄存器芯片,每一片扩展一个8位的并行输出口;多片串联起来,可以实现多个8位并行输出口的扩展。可用作多位静态显示的LED段选控制;外接并入串出的移位寄存器芯片,每一片可以扩展一个8位的并行输入口;多片串联起来,可以实现多个8位并行输入口的扩展。自强自立求知求真单片机原理及应用方式0的应用——输出自强自立求知求真单片机原理及应用方式0的应用——输入自强自立求知求真单片机原理及应用方式1的应用P231,例9.6;P232,例9.7;自强自立求知求真单片机原理及应用方式2、3的应用方式2和3是9位UART方式,用于双机通信时,有8位数据,第9位可以用作校验位,校验需要用软件编程实现发送时,要先计算出校验位,存入TB8,然后再写SBUF,启动发送过程接收时,要根据接收到的8位数据计算出校验位,然后与RB8中收到的第9位比较是否相同。如果相同,将8位数据保存在接收缓冲区中,否则可以向主程序报告接收错误,或者干脆直接将数据丢弃自强自立求知求真单片机原理及应用9.5MCS-51单片机的多机通信方式SCON中的SM2位可以作为多处理机通信位,使单片机方便地应用于集散式分布系统中集散式分布系统,或者称为分布式控制系统
(DCS),是相对于集中式控制系统而言的一种新型计算机控制系统,它是在集中式控制系统的基础上发展、演变而来的。这种系统中,有一台主机和多台从机。主机负责全局运行情况的监视、统计、控制等,各从机负责本地信号的采集处理、本地资源的控制。主机和从机通过通信线路相联系自强自立求知求真单片机原理及应用多机通信原理主从式多机通信连接方式自强自立求知求真单片机原理及应用多机通信原理当串行口工作在方式2或3时若SM2=1,则只有接收到的第9位数据(RB8)为1时,才将数据送入接收缓冲器SBUF,并置位RI,申请中断,否则丢弃接收到的数据若SM2=0,则无论第9位数据(RB8)是1还是0,都将数据装入SBUF,置位RI,申请中断自强自立求知求真单片机原理及应用多机通信原理每台从机一个地址(编号)系统中的通信总是由主机发起主机向从机发送的信息分为地址字节和数据字节两种。地址字节用于寻址从机,数据字节为发给从机的实际数据,二者可以使用第9位来区分。地址字节帧的第9位为1,数据字节帧的第9位为0系统初始化时,将所有从机的SM2位置为1,并允许串行口接收中断。这样,只有主机送来的地址帧才会被接收自强自立求知求真单片机原理及应用多机通信的协议通信协议中,除规定命令、数据的格式,还有以下一些方面需要特别考虑命令的顺序差错处理超时处理自强自立求知求真单片机原理及应用9.6SPI总线SPI(SerialPeripheralInterface)总线Motorola公司提出同步串行外设接口使用SPI的外围设备种类繁多,应用广泛自强自立求知求真单片机原理及应用SPI总线结构一个主设备和一个或多个从设备自强自立求知求真单片机原理及应用SPI总线结构4条信号线两条串行数据线MISO(主设备输入、从设备输出)和MOSI(主设备输出、从设备输入)先传送高位,后传送低位串行时钟线SCLK主设备使用从设备选择线SS#选择指定的从设备,相当于片选信号自强自立求知求真单片机原理及应用SPI时序自强自立求知求真单片机原理及应用SPI总线应用串行口方式0就是一种简化的SPI总线接口SCLK信号由TxD输出,MOSI/MISO信号由RxD输出或输入区别串行数据与串行时钟之间的极性和相位的关系固定)串行时钟频率固定MCS-51只工作在主设备方式MOSI/MISO信号使用同一个引脚串行数据线上数据位的传输次序与标准SPI相反自强自立求知求真单片机原理及应用SPI总线应用日历时钟芯片DS1302可否使用SPI总线接口?MCS-51中的串行口能否胜任?如何连接与编程?分析DS1302的读写时序与标准SPI的时序不同,与MCS-51的相似,但时钟极性相反若使用串行口方式0,应将TxD输出的移位时钟信号反相;RxD直接连接DS1302的I/O引脚DS1302的CE类似于SPI总线结构中的SS#,也是极性相反自强自立求知求真单片机原理及应用SPI总线应用自强自立求知求真单片机原理及应用READ_1302: ;读DS1320 SETB CE ;选中DS1302 MOV SBUF,A ;写8位寄存器
JNB TI,$ ;等待写入结束
CLR TI ;清除TI SETB REN ;开始接收8位数据
JNB RI,$ ;等待接收结束
CLR RI ;接收结束,清除RI CLR REN ;停止接收
MOV A,SBUF ;将收到数据装入A CLR CE ;结束操作
RET自强自立求知求真单片机原理及应用WRITE_1302: ;写DS1320 SETB CE ;选中DS1302 MOV SBUF,A ;写8位寄存器
JNB TI,$ ;等待写入结束
CLR TI ;清除TI MOV SBUF,B ;写8位数据
JNB TI,$ ;等待写入结束
CLR TI ;清除TI CLR CE ;结束操作
RET自强自立求知求真单片机原理及应用9.7I2C总线接口I2C(Inter-IC)总线由Philips在20世纪80年代提出并获得了专利最初目的是为了在电视机之类产品中方便地连接CPU和外围的集成电路大多数主要半导体厂商生产支持I2C总线的IC芯片微处理器、EEPROM、温度传感器、ADC、DAC、视频处理器件、实时钟、显示器件等都有支持I2C总线的版本自强自立求知求真单片机原理及应用I2C总线简介使用两条信号线(串行时钟线SCL和串行数据线SDA)就能实现总线上各器件的双工同步数据传送总线上各器件的SCL和SDA引脚都是开漏结构系统中所有器件的SCL和SDA引脚同名端连接在一起,总线上所有节点由器件本身和引脚状态确定地址,无需使用片选每个被寻址的器件都有惟一的地址自强自立求知求真单片机原理及应用I2C系统连接与引脚结构自强自立求知求真单片机原理及应用常用I2C接口器件地址器件类型地址PCF8570256BRAM1010A2A1A0R/W#PCF8582156BE2PROM1010A2A1A0R/W#PCF85748位I/O0100A2A1A0R/W#PCF85918位ADC/DAC1001A2A1A0R/W#PCF8583日历时钟1010A2A1A0R/W#SAA10644位LED驱动器0111A2A1A0R/W#自强自立求知求真单片机原理及应用I2C总线简介I2C总线上的器件,分为主设备和从设备主设备能控制总线访问,提供串行时钟信号(SCL),并产生启动和结束信号。总线上至少要有一个主设备在总线上被寻址的器件称为从设备在由若干器件组成的I2C总线系统中,可能存在多个主设备目前不少单片机内部集成了I2C总线接口自强自立求知求真单片机原理及应用I2C总线协议总线必须由主设备控制无论是主设备还是从设备,接收一个字节后必须发出一个确认信号ACK总线空闲时,SCL和SDA都必须保持高电平I2C总线传送数据时,在时钟线SCL高电平期间,数据线SDA必须保持稳定的逻辑电平状态。只有在时钟线为低时,才允许数据线上的信号发生变化自强自立求知求真单片机原理及应用I2C总线协议在时钟线保持高电平期间,数据线出现的由高到低的跳变定义为起始信号(S),启动I2C总线操作数据线上出现的由低到高的跳变定义为停止信号(P),终止总线的数据传送数据传送格式起始信号S后,主设备送出8位的地址字节,以选择从设备并指定数据的传输方向(读还是写),其后传送数据I2C总线上传送的每一个数据均为8位,数据个数没有限制自强自立求知求真单片机原理及应用I2C总线协议每传送一个字节后,接收设备(主设备或从设备)都必须发一位应答信号ACK(低电平为ACK,高电平为非应答信号ACK#),发送设备确认后,再发送下一字节数据每一字节数据都是由最高有效位在前全部数据发送结束后,主设备发送终止信号P自强自立求知求真单片机原理及应用I2C串行EEPROM及其应用EEPROM是可用工作电压擦除和改写内容的只读存储器。系统工作时可以改写,无电源供电时数据仍然保存使用EEPROM可以解决掉电数据存储问题,通常情况下,所存储的数据可以保存10~100年,擦写次数达1~10万次有并行方式和串行方式两种接口自强自立求知求真单片机原理及应用常见的EEPROM有AT24C01/02/04/08/16等型号,其内部存储容量分别是1K、2K、4K、8K和16KbitAT24CXX的引脚除了I2C总线所需的SCL和SDA外,还有WP(写保护):提供硬件数据保护A2、A1、A0(器件地址):当总线上有多片AT24CXX时,地址信号用于器件的选择。主设备发出的地址字节必须与地址信号的硬件连接匹配自强自立求知求真单片机原理及应用自强自立求知求真单片机原理及应用AT24CXX地址格式器件容量地址格式A2A1A0引脚连接位字节AT24C011K1281010A2A1A0R/W#接高或低电平AT24C022K2561010A2A1A0R/W#接高或低电平AT24C044K5120100A2A1P0R/W#A2A1接高或低电平AT24C088K1K1001A2P1P0R/W#A2接高或低电平AT24C1616K2K1010P2P1P0R/W#无连接自强自立求知求真单片机原理及应用AT24CXX时序自强自立求知求真单片机原理及应用I2C时序的子程序(启动)SCL BIT P1.0 ;I2C信号引脚SDA BIT P1.1I2C_INI: ;总线状态初始化
SETB SCL ;SCL和SDA都是高电平
SETB SDA CALL I2C_DELAY ;延时
RETI2C_START: ;发送起始信号S SETB SDA ;SCL和SDA都是高电平
SETB SCL CALL I2C_DELAY CLR SDA ;SDA变低
CALL I2C_DELAY RET自强自立求知求真单片机原理及应用I2C时序的子程序(发送1字节)I2C_SEND_8B: ;在I2C总线上发送8位的数据或地址字节
PUSH B ;欲发送的字节在A中
MOV B,#8 ;共8位,循环8次I2C_SNEXT_B: ;循环体
CLR SCL ;SCL变低,SDA上数据可以变化
RLC A ;最高位移入C MOV SDA,C ;送SDA线
CALL I2C_DELAY ;等待稳定
SETB SCL ;SCL变高,从设备可以取走数据
CALL I2C_DELAY ;等待从设备取走
DJNZ B,I2C_SNEXT_B ;循环
POP B ;恢复B RET自强自立求知求真单片机原理及应用I2C时序的子程序(接收1字节)I2C_REC_8B: ;接收I2C总线上的8位数据
SETB SDA ;置SDA为输入
PUSH B ;要用到B寄存器
MOV B,#8 ;共8位,循环8次I2C_RNEXT_B: ;循环体
CLR SCL ;SCL变低,SDA上数据可以变化
CALL I2C_DELAY ;等待从设备将数据送出
SETB SCL ;通知从设备,数据不可变化
CALL I2C_DELAY ;等待数据稳定
MOV C,SDA ;接收
RLC A ;移入A DJNZ B,I2C_RNEXT_B ;循环
POP B ;恢复B RET自强自立求知求真单片机原理及应用I2C时序的子程序(应答信号)I2C_WAIT_ACK: ;接收应答信号A CLR SCL ;SCL变低,SDA上数据可以变化
SETB SDA ;置SDA为输入
CALL I2C_DELAY ;等待从设备将A送出
SETB SCL ;通知从设备,数据不可变化
MOV C,SDA ;接收
CLR SCL ;SDA上数据可以变化
RETI2C_NACK: ;发送非应答信号NA CLR SCL ;SCL变低,SDA上数据可以变化
SETB SDA ;送出1 CALL I2C_DELAY ;等待数据稳定
SETB SCL ;SCL变高,从设备可以取走数据
CALL I2C_DELAY ;等待从设备取走
RET自强自立求知求真单片机原理及应用I2C时序的子程序(停止信号)I2C_STOP: ;发送停止
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 矿井地下暗河施工方案(3篇)
- 管线保护方案施工方法(3篇)
- 编写施工方案思路图片(3篇)
- 舞蹈机构暑期营销方案(3篇)
- 蔬莱大棚施工方案(3篇)
- 跌水瀑布施工方案(3篇)
- 道德活动策划应急预案(3篇)
- 锁人的营销方案(3篇)
- 阿坝混凝土切割施工方案(3篇)
- 项目部应急预案等级(3篇)
- 专题02 三角形中的倒角模型之A字、8字、燕尾模型的三类综合题型(压轴题专项训练)数学人教版2024八年级上册(解析版)
- 连锁餐饮企业督导工作手册范本
- 实施指南(2025)《DL-T338-2010 并网运行汽轮机调节系统技术监督导则解读》
- 专业技能大师工作室建设指导方案
- 2025重庆酉阳县公安局辅警岗位招聘90人考试参考试题及答案解析
- 城市管理的面试题及答案
- 第三章物质的性质与转化论证重污染天气“汽车限行”的合理性探讨社会性科学议题教学设计-高一上学期化学鲁科版
- 翻转课堂培训课件
- 托里县上海梅兰日兰矿业有限公司新疆托里县科克火热金矿建设项目环境影响报告书简本
- 合同面积调整补充协议
- 煤矿应急培训课件班组长
评论
0/150
提交评论