单片机串行扩展_第1页
单片机串行扩展_第2页
单片机串行扩展_第3页
单片机串行扩展_第4页
单片机串行扩展_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机串行扩展第52页,共52页。单片机串行扩展全文共52页,当前为第1页。单片机系统扩展方法有并行扩展和串行扩展法。

并行扩展是指利用单片机的三总线(AB、DB、CB)进行的系统扩展(见第五部分);

串行扩展是指利用SPI三总线、I²C双总线、单总线等进行的串行系统扩展。§6.1概述缺点:速度慢,在需要高速的场合要用并行扩展。

优点:串行接口器件体积小;与单片机接口的I/O口线少。串行扩展的特点:第52页,共52页。单片机串行扩展全文共52页,当前为第2页。

在器件之间采用两根信号线(SDL,SCL)进行信息传送并允许若干兼容器件共享的数据总线,称为I²C总线。

SDA传输双向的数据;SCL线用来传输时钟信号,用来同步串行数据线上的数据。

一、I²C公用双总线结构(飞利浦公司)挂接在I²C总线的器件,根据功能可分为:主控器件和从控器件。主控器件:控制总线存取,产生串行时钟信号,并产生启动传送及结束传送的器件,总线必须有一个主控器件。从控器件:在总线上被主控器件寻址的器件,它们根据主控器件的命令来接收和发送数据。§6.2串行扩展概述第52页,共52页。单片机串行扩展全文共52页,当前为第3页。VCCSDASCLI2C芯片1#I2C芯片N#第52页,共52页。单片机串行扩展全文共52页,当前为第4页。

多个器件之间连接使数据线SDA为“与”的关系,即只要其中一个器件输出0,即可使SDA数据线为0。第52页,共52页。单片机串行扩展全文共52页,当前为第5页。在有多个器件组成的I2C总线系统中,可能存在多个主器件。因此,I2C总线系统是一个允许多主的系统。I2C数据传输协议:只有当总线不忙时(SDA与SCL均为高电平),数据传输才开始;数据传输期间,无论何时串行时钟线为高,串行数据线必须保持稳定;当串行时钟线为高时,串行数据线将认为此时传送的开始或停止。第52页,共52页。单片机串行扩展全文共52页,当前为第6页。I2C总线定义的总线条件有:1.总线不忙:2.开始传输数据:3.停止传输数据:SCL和SDA保持高电平。在SCL=1时,SDA发生一个高到底的跳变。在SCL=1时,SDA发生一个低到高的跳变。第52页,共52页。单片机串行扩展全文共52页,当前为第7页。4.数据有效:SCL保持高电平期间,当SDA稳定后,串行数据线的状态表示数据线是有效的。5.数据变化:SCL保持低电平期间,SDA数据线的状态才可以发生变化。第52页,共52页。单片机串行扩展全文共52页,当前为第8页。在I2C总线上传输的数据有两种方式:主发送从接收、从发送主接收。它们是由起始信号后的第一个字节的最低位决定。1表示主器件读数据,0表示主器件写数据)。主发送从接收(主器件为写数据):主器件产生起始信号后,发送的第一个字节为从地址(该地址的前7位字节为从器件的片选信号,最低位决定数据的传输方向位)此时该位是0。从器件每接收一个数据字节后,都返回一个应答信号(ASK=0)第52页,共52页。单片机串行扩展全文共52页,当前为第9页。从发送主接收(主器件为读数据):从器件在接收到主器件发送的从地址和为1的方向位后,返回一个应答信号(ASK=0),接着从器件发送数据到主器件,主器件每接收一个数据字节后,都返回一个应答信号(ASK=0):在接收从器件最后一个字节后,主器件发送一个非应答信号(ASK=1),终止从器件继续发送。从器件发送的数据可以是单字节,也可以是一串数据。第52页,共52页。单片机串行扩展全文共52页,当前为第10页。主控器的时钟输出S应答起始信号用于应答信号的时钟脉冲1289主发送器的数据输出从发送器的数据输出非应答第52页,共52页。单片机串行扩展全文共52页,当前为第11页。(1)A0、A1、A2:片选或页面选择地址输入。1、二线制I2CE2PROMAT24CXX系列的扩展AT24C01(A)/02/04/08/16E2ROM存储器都是8个引脚。存储容量为1K/2K/4K/8K/16Kbits。(2)GND:地线。§6.3单片机的外部串行扩展

一、串行扩展E2PROMAT24C01(A)/02/04/08/16的封装形式第52页,共52页。单片机串行扩展全文共52页,当前为第12页。AT24C04与单片机的扩展模拟实现I2C接口(3)SDA:串行数据(/地址)I/O端,用于串行数据的输入/输出。(4)SCL:串行时钟输入端,用于输入/输出数据的同步。(5)WP:写保护,用于硬件数据的保护。(6)VCC:电源电压,接+5V。第52页,共52页。单片机串行扩展全文共52页,当前为第13页。AT24CXXSDA和SCL时钟关系AT24CXX启动和停止信号

应答信号第52页,共52页。单片机串行扩展全文共52页,当前为第14页。AT24CXX立即地址读其中:1010为EEPROM的编码;XXX为AT24CXX的地址编号。在I2C总线上最多可以连接8个AT24C01/02,4个AT24C04,2个AT24C08,1个AT24C16。第52页,共52页。单片机串行扩展全文共52页,当前为第15页。AT24CXX立即地址读AT24CXX随机读第52页,共52页。单片机串行扩展全文共52页,当前为第16页。AT24CXX顺序读AT24C01(A)/02/04/08/16字节写AT24C01(A)/02/04/08/16页面写第52页,共52页。单片机串行扩展全文共52页,当前为第17页。START:;开始位;传入参数:无;返回值:无

SETB SDA SETB SCL NOP NOP CLR SDA NOP NOP NOP NOP CLR SCL RET STOP:;停止位;传入参数:无;返回值:无

CLR SDA NOP NOP SETB SCL NOP NOP NOP NOP SETB SDANOP RET 第52页,共52页。单片机串行扩展全文共52页,当前为第18页。SHIN:;从AT24Cxx移入数据到MCU;传入参数:无;返回值:R7---移入的数据

USING 0 CLR A MOV R6,ASHIN_LP: SETB SCL MOV A,R7 ADD A,ACC MOV R7,A MOV C,SDA CLR A RLC A ORL AR7,A CLR SCL INC R6 CJNER6,#08H,SHIN_LP ;共8位,判断是否完成

RET SHOUT:;从MCU移出数据到AT24Cxx;传入参数:R7---要移出的数据;返回值:C---AT24Cxx的应答位

USING 0 CLR A MOV R6,ASHOUT_LP: MOV A,R7;循环移入8个位 RLC A MOV SDA,C NOP SETB SCL NOP NOP CLR SCL MOV A,R7 ADD A,ACC MOV R7,A INC R6 CJNE R6,#08H,SHOUT_LP ;共8位,判断是否完成

SETB SDA;读取应答

NOP NOP SETB SCL NOP NOP NOP MOV C,SDA;保存应答位到C CLR SCL RET第52页,共52页。单片机串行扩展全文共52页,当前为第19页。READ_RANDOM:;在指定地址读取;传入参数:R7---地址;返回值:R7---读入的数据

USING 0 MOV R5,AR7 ;暂存地址

LCALL START MOV R7,#OP_WRITE ;写入器件地址和写入命令

LCALL SHOUT MOV R7,AR5 ;写入地址

LCALL SHOUT LCALL READ_CURRENT ;在当前地址读取

RET READ_CURRENT:;在当前地址读取;传入参数:无;返回值:R7---读出的数据

USING 0 LCALL START MOV R7,#OP_READ ;写入器件地址和读取命令

LCALL SHOUT

LCALL SHIN ;读取数据,保存在R7 LCALL STOP RET 第52页,共52页。单片机串行扩展全文共52页,当前为第20页。WRITE_BYTE:;在指定地址写入数据;传入参数:R7---写入数据的地址;传入参数:R5---要写入的数据;返回值:无

USING 0 MOV R4,AR7 LCALL START MOV R7,#OP_WRITE ;写入器件地址和写命令

LCALL SHOUT

MOV R7,AR4 ;地址

LCALL SHOUT

MOV R7,AR5 ;数据

LCALL SHOUT

LCALL STOP MOV R7,#10 ;写入周期,延时10ms LCALL DELAYMS第52页,共52页。单片机串行扩展全文共52页,当前为第21页。2、利用SPI扩展E2PROMSPI是三线总线结构的一个同步外围接口,允许单片机与各种外围设备以串行方式进行通讯。特点:

主从机工作方式;可程控的主机位传送频率、时钟极性和相位;发送完成中断标志;写冲突保护标志。全双工、三线同步传送;第52页,共52页。单片机串行扩展全文共52页,当前为第22页。

在SPI设置为主机方式时,MISO是主机的数据输入线,MOSI是主机的数据输出线;设置为从机时,MISO是从机的数据输出线,MOSI是从机的数据输入线。

(1)、串行数据线(MISO,MOSI)主机输入/从机输出数据线MISO和主机输出/从机输入数据线MOSI,用于串行数据的发送和接收。数据发送时,先传高位,后传低位。

(2)、串行时钟线SCLK

串行时钟线用于同步从MISO和MOSI引脚输入和输出的数据的传输。在SPI设置为主机方式时,SCLK为输出;设置为从机方式时,SCLK为输入。第52页,共52页。单片机串行扩展全文共52页,当前为第23页。第52页,共52页。单片机串行扩展全文共52页,当前为第24页。(3)、从机选择/SS在从机方式时,/SS脚是输入端,用于使能SPI从机进行数据传送;在主机方式时/SS一般为高电平。高位数据低位数据第52页,共52页。单片机串行扩展全文共52页,当前为第25页。

1)串行E2PROM的特点及引脚

93C46是64×16位串行存取的电擦除可编程只读存储器。特点:在线改写数据和自动擦除功能;调电数据不丢失;输入、输出与TTL兼容;片内可产生擦除和写入时的电压;片内有控制和定时发生器;具有整体编程允许和截至功能。第52页,共52页。单片机串行扩展全文共52页,当前为第26页。CS:片选信号。高电平有效。用CS下降沿启动片内定时器,开始读写操作。启动后,与CS信号上电平无关。CLK:串行数据时钟信号输入端。频率位0~250KHZ。DI:串行数据输入端。DO:串行数据输出端。擦除时,DO引脚可作为擦写状态指示,即忙闲信号。ORG:结构端。当接到VCC或悬空时,芯片为16位存储器结构;接到VSS时,选择8位存储器结构。在时钟频率低于1MHZ,ORG悬空。第52页,共52页。单片机串行扩展全文共52页,当前为第27页。

2)指令系统:读指令,写指令,擦除指令,擦除整片存储器指令,写整个存储器指令,擦写允许指令

第52页,共52页。单片机串行扩展全文共52页,当前为第28页。读指令时序写指令时序第52页,共52页。单片机串行扩展全文共52页,当前为第29页。擦除指令时序擦除整片指令时序第52页,共52页。单片机串行扩展全文共52页,当前为第30页。

3)与单片机的接口取反目的是双向传输数据片选1,读入数据;0操作码、地址、数据进入C46第52页,共52页。单片机串行扩展全文共52页,当前为第31页。二、串行扩展I/O口

1、利用SPI扩展I/O口

(1)

扩展并行输出口第52页,共52页。单片机串行扩展全文共52页,当前为第32页。(2)扩展并行输入口

第52页,共52页。单片机串行扩展全文共52页,当前为第33页。2、利用I2C扩展I/O口

(1)PCF8574是一种CMOS电路,具有I2C接口和8位准双向口。它在I2C总线中仅作从器件。具有低的电流损耗,具有中断逻辑线。3只硬件地址引脚最多挂接8个PCF8574。

SDA:串行数据线,双向SCL:串行时钟线,输入P7~P0:8位准双向口。上电复位为高电平。在做输入时,应置高电平。A0~A2:地址输入线/INT:中断输出,低电平有效第52页,共52页。单片机串行扩展全文共52页,当前为第34页。(2)PCF8574的寻址方式及操作控制字节和器件寻址

读,写应答开始信号控制字节选中某一片(a)为PCF8574器件控制字节,(b)为PCF8474A控制字节第52页,共52页。单片机串行扩展全文共52页,当前为第35页。读操作

写操作

第52页,共52页。单片机串行扩展全文共52页,当前为第36页。(3)PCF8574应用和编程

作扩展8位输入口

A0,A1,A2接地了第52页,共52页。单片机串行扩展全文共52页,当前为第37页。扩展8位输出口

输出显示A0,A1,A2接地了第52页,共52页。单片机串行扩展全文共52页,当前为第38页。作扩展4位输入和4位输出口。

中断悬空输入开关量输出显示第52页,共52页。单片机串行扩展全文共52页,当前为第39页。TLC549是美国德州仪器公司生产的8位串行A/D转换器芯片,通过SPI接口与单片机连接,从CLK输入的频率最高可达1.1MHz。

1、8位串行A/D转换器TLC549TLC549具有4MHz的片内系统时钟,片内具有采样保持电路,A/D转换时间最长17μs,最高转换速率为40000次/s。

TLC549的电源范围为+3V~+6V,功耗小于15Mw,总失调误差最大为±0.5LSB,适用于电池供电的便携式仪表及低成本高性能的系统中。三、串行扩展A/D、D/A等第52页,共52页。单片机串行扩展全文共52页,当前为第40页。

REF+:正基准电压输入端,2.5V≤REF+≤VCC+0.1V。

(1)、引脚功能

REF-:负基准电压输入端,

-0.1V≤REF-≤2.5V,且要求REF+-REF-≥1V。在要求不高时,也可将REF-接地,REF+接VCC。

AIN:模拟信号输入端,0≤AIN≤VCC,当AIN≥REF+时,转换结果为全"1"(FFH),AIN≤REF-时,转换结果为全“0”(00H)。/CS:芯片选择输入端,低电平有效。DO:数据串行输出端,输出时高位在前,低位在后。

CLK:外部时钟输入端,最高频率可达1.1MHz。第52页,共52页。单片机串行扩展全文共52页,当前为第41页。(2)、TLC549的时序

当/CS变为低电平时,TLC549芯片被选中,同时前次转换结果的最高有效位MSB(A7)自DO端输出;

接着自CLK端输入8个外部时钟信号,前7个CLK信号是配合TLC549输出上次转换结果的A6-A07位,并为本次转换做准备:

在第4个CLK信号由高至低的跳变之后,片内采样/保持电路对输入模拟量采样开始,第8个CLK信号的下降沿使片内采样/保持电路进入保持状态并启动A/D开始转换。第52页,共52页。单片机串行扩展全文共52页,当前为第42页。

转换时间为36个系统时钟周期,最大为17uS。A/D转换完成前的这段时间内,TLC549的控制逻辑要求:或者/CS保持高电平,或者CLK时钟端保持36个系统时钟周期的低电平。

由此可见,在TLC549的CLK端输入8个外部时钟信号期间需要完成以下工作:读入前次A/D转换结果;对本次转换的输入模拟信号采样并保持;启动本次A/D转换。第52页,共52页。单片机串行扩展全文共52页,当前为第43页。

利用TLC549转换器设计一个简易数字电压表,用4位LED显示器将被测电压显示出来。

将TLC549的/CS、CLK、DO接到单片机的三条I/O口线,REF+、REF-直接接到Vcc、GND,模拟输入AIN接电位器的中心抽头,调节电位器即可改变被测输入电压值。第52页,共52页。单片机串行扩展全文共52页,当前为第44页。sbitCLK=P1^1;//时钟sbitDO=P1^2;//数据输出sbitCS=P1^0;//片选信号ucharTLC549_ADC(void){

uchari,tmp;

CS=1;CLK=0;

CS=0;_nop_();

_nop_();for(i=0;i<8;i++){

tmp<<=1;

tmp|=DO;

CLK=1;_nop_();CLK=0;

}

CS=1;for(i=17;i!=0;i--)_nop_();return(tmp);

}CSBITP1.0CLOCKBITP1.1DOBITP1.2MEMEQU30HORG0050HSTAR:SETBCS;CSCLRCLOCK;CLOCKMOVR5,#00H;####################模数转换CLRCSNOP;参见datasheet的时序表NXT:MOVC,DOSETBCLOCKNOPRLCACLRCLOCKINCR5CJNER5,#8,NXTMOVR5,#00HSETBCSMOVMEM,A;转换结果放于MEM第52页,共52页。单片机串行扩展全文共52页,当前为第45页。

1、TLC5615的内部结构和引脚功能

TLC5615是SPI接口的10位电压输出的D/A转换器,通过3根串行总线就可以完成10位数据的串行输入,易于和工业标准的微处理器或单片机接口,适用于电池供电的测量仪表、移动电话以及工业控制场合。其主要特点如下:(1)5V单电源工作;(2)3线串行接口;(3)DAC输出的最大电压为2倍基准输入电压;(4)上电时内部自动复位,确保可以重复启动;(5)功耗低,最大功耗为1.75mW。

二、串行D/A转换器TLC5615

第52页,共52页。单片机串行扩展全文共52页,当前为第46页。模拟地串行二进制数输入端串行时钟输入端芯片选择,低有效菊花链的串行数据输出端(用于多芯片的级联)基准电压输入端DAC模拟电压输出端正电源电压端第52页,共52页。单片机串行扩展全文共52页,当前为第47页。2、TLC5615的时序当/CS为低电平时,在每一个SCLK时钟的上升沿从DIN引脚移入一位数据,高位在前,低位在后。经16个时钟后,/CS的上升沿将16位移位寄存器的10位有效数据锁存到10位DAC寄存器,供DAC电路进行转换。第52页,共52页。单片机串行扩展全文共52页,当前为第48页。第52页,共52页。单片机串行扩展全文共52页,当前为第49页。#include<reg51.h>#include<absacc.h>#include<intrins.h>typedefunsignedcharuchar;typedefunsignedintuint;sbitCS=P3^7;/*DA片选信号*/sbitSCLK=P3^6;/*DA时钟信号*/sbitDIN=P3^5;/*数字数据输入*/

voiddelay(uintus);/*延

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论