微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 多通道12位串行A/D转换器的原理与应用

多通道12位串行A/D转换器的原理与应用

时间:08-21 来源:互联网 点击:
4 应用  

TLV2544 和微处理器之间的数据传输最快和最有效的方法是用串行外设接口(SPI),但这要求微带有SPI接口能力。对不带SPI或类似接口能力的微处理器,需用软件合成SPI操作来和TLV2544连接。图5为TLV2544和单片机AT89C2051的接口电路,因为是与微处理器连接,所以不用FS端(接至高电平)。该电路采用内部基准,REFP与REFM之间接0.1μF和10μF两个退耦电容。TLV2544的SDI、SCLK、EOC/INT、CS端由单片机的双向I/O口中的P1.3、P1.4、P1.5和P1.6提供。转换结果的输出(SDO)数据由口1的P1.2接收。电路使用扩展采样方式, CSTART端接P1.7,通过硬件来控制采样与转换。其接口软件由一个主程序和一个子程序组成。主程序首先对P1口初始化,后对TLV2544进行编程以确定的工作方式。子程序“SPI-IO”用来模拟SPI的I/O操作,SPI功能用累加器A和带进位的左循环移位指令(RLC)模拟SPI移位寄存器的操作来实现。程序如下:  

ORG 0000H  

AJMP START  

ORG 0030H  

START:MOV P1,#0FFH  

MOV P3,#0FFH  

CLR EA  

CLR ET1  

CLR P1.4  

SETB P1.6  

CONFIG:MOV R1,#0A0H  

ACALL SPI_IO  

MOV R1,#00H  

ACALL SPI_IO  

SETB P1.6  

MOV R1,#10101000B;  

ACALL SPI_IO  

MOV R1,#00000000B  

ACALL SPI_IO  

SETB P1.6  

S/R:MOV R1,#ACALL SPI_IO  

RESULT  

MOV R1,#00H  

ACALL SPI_IO  

MOC R3,A;LOW BYTE RESULT  

SETB P1.6  

NOP  

CLR P1.7/CSTART LOW,START SAMPLING  

MOV R6,#08H  

DELAY:NOP  

NOP  

NOP  

DJNZ R6,DELAY  

SETB P1.7;  

JB P1.5,$;/INT  

SETB P1.6  

·对转换结果的处理  

AJMP S/R  

SPI_IO;CLR P1.6  

CLR P1.4  

MOV R0,#08H  

MOV A,R1  

SPI_IO1:MOV C,P1.2  

RLC A  

MOV P1.3,C  

SETB P1.4  

CLR P1.4  

DJNZ R0,SPI_IO1  

RET

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top