预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共53页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第六部分单片机的串行扩展单片机系统扩展方法有并行扩展和串行扩展法。在器件之间采用两根信号线(SDL,SCL)进行信息传送并允许若干兼容器件共享的数据总线,称为I²C总线。在有多个器件组成的I2C总线系统中,可能存在多个主器件。因此,I2C总线系统是一个允许多主的系统。I2C总线定义的总线条件有:4.数据有效:SCL保持高电平期间,当SDA稳定后,串行数据线的状态表示数据线是有效的。在I2C总线上传输的数据有两种方式:主发送从接收、从发送主接收。它们是由起始信号后的第一个字节的最低位决定。1表示主器件读数据,0表示主器件写数据)。从发送主接收(主器件为读数据):(1)A0、A1、A2:片选或页面选择地址输入。AT24C04与单片机的扩展AT24CXXSDA和SCL时钟关系AT24CXX立即地址读AT24CXX立即地址读START:;开始位;传入参数:无;返回值:无SETBSDASETBSCLNOPNOPCLRSDANOPNOPNOPNOPCLRSCLRETSHIN:;从AT24Cxx移入数据到MCU;传入参数:无;返回值:R7---移入的数据USING0CLRAMOVR6,ASHIN_LP:SETBSCLMOVA,R7ADDA,ACCMOVR7,AMOVC,SDACLRARLCAORLAR7,ACLRSCLINCR6CJNER6,#08H,SHIN_LP;共8位,判断是否完成RETREAD_RANDOM:;在指定地址读取;传入参数:R7---地址;返回值:R7---读入的数据USING0MOVR5,AR7;暂存地址LCALLSTARTMOVR7,#OP_WRITE;写入器件地址和写入命令LCALLSHOUTMOVR7,AR5;写入地址LCALLSHOUTLCALLREAD_CURRENT;在当前地址读取RETWRITE_BYTE:;在指定地址写入数据;传入参数:R7---写入数据的地址;传入参数:R5---要写入的数据;返回值:无USING0MOVR4,AR7LCALLSTARTMOVR7,#OP_WRITE;写入器件地址和写命令LCALLSHOUTMOVR7,AR4;地址LCALLSHOUTMOVR7,AR5;数据LCALLSHOUTLCALLSTOPMOVR7,#10;写入周期,延时10msLCALLDELAYMS2、利用SPI扩展E2PROM在SPI设置为主机方式时,MISO是主机的数据输入线,MOSI是主机的数据输出线;设置为从机时,MISO是从机的数据输出线,MOSI是从机的数据输入线。24(3)、从机选择/SS在从机方式时,/SS脚是输入端,用于使能SPI从机进行数据传送;在主机方式时/SS一般为高电平。1)串行E2PROM的特点及引脚CS:片选信号。高电平有效。用CS下降沿启动片内定时器,开始读写操作。启动后,与CS信号上电平无关。2)指令系统:读指令,写指令,擦除指令,擦除整片存储器指令,写整个存储器指令,擦写允许指令读指令时序擦除指令时序3)与单片机的接口二、串行扩展I/O口(2)扩展并行输入口2、利用I2C扩展I/O口(2)PCF8574的寻址方式及操作读操作(3)PCF8574应用和编程扩展8位输出口作扩展4位输入和4位输出口。TLC549是美国德州仪器公司生产的8位串行A/D转换器芯片,通过SPI接口与单片机连接,从CLK输入的频率最高可达1.1MHz。REF+:正基准电压输入端,2.5V≤REF+≤VCC+0.1V。(2)、TLC549的时序转换时间为36个系统时钟周期,最大为17uS。A/D转换完成前的这段时间内,TLC549的控制逻辑要求:或者/CS保持高电平,或者CLK时钟端保持36个系统时钟周期的低电平。利用TLC549转换器设计一个简易数字电压表,用4位LED显示器将被测电压显示出来。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);}1、TLC5615的内部结构和引脚功能TLC5615是SPI接口的10位电压输出的D/A转换器,通过3根串行总线就可以完成10位数据的串行输入,易于和工业标准的微处理器或单片机接口,适用于电池供电的测量仪表、移动电话以及工业控制场合。其主要特点如下:模拟地2、TLC5615的时序当/CS为低电平时,在每一个SCLK时钟的上升沿从DIN引脚移入一位数据,高位在前,低位在后。经16个时钟后,/