工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

AD转换TLC2543的51源程序

作者:dolphin时间:2011-05-05

网上12位串行的AD转换可以说是不少。不过合用的就不多了。不是买不到就是缺资料或是并行的占用IO口。找来找去还是觉得用TLC2543比较好。

图1是TLC2543的接口电路。TLC2543的CLOCK,DATA OUT,DATAINPUT和/CS分别与AT89C2051的P3.0,P3.1,和P3.3连接。其接口软件由主程序和两个子程序组成,主程序主要是对AT89C2051的初始化,子程序是对89C2051和TLC2543的具体操作。如还有什么疑问的还可参考本站转载的另一PDF文件的文章串行A/D转换TLC2543与TMS320C25的接口与编程

程序清单如下:

CLK EQU P3.0

DIN EQU P3.2

DOUT EQU P3.3

ADDR EQU 50H; AD转换结果存储区

AD-DATA:

MOV R0, #ADDR

MOV R1,#0; 选择通道0,单极性,高位在前,;12位输出

ACALL RD-AD; 加电后空转换一次。

MOV R1,#0; 有效转换开始

ACALL RD-AD

MOV @R0, R2;保存转换结果

INC R0

MOV @R0, R3

;XXXXXX

;XXXXXX

;XXXXX

;用户的数据处理程序。

RD-AD: ;TLC2543AD转换子程序,R1内容为控;制字,结果的高;;8位保存在R2,低4位保存;在R3。

CLR CLK; 置CLK为低

SETB CS; 置CS为高

NOP

NOP

CLR CS; 置CS为低,转换开始

MOV R4,#08; 8位控制字移入TLC2543,高8位;结果移出TLC2543

MOV A,R1; 控制字装入A中

ADLOP1:

MOV C,DOUT; 移出一位结果进入C

RLC A; C中结果从A的最低位进入,控制字最;高位移入C

MOV DIN, C; 1位控制字移入TLC2543

SETB CLK

NOP

NOP

NOP

NOP

CLR CLK

DJNZ R4,ADLOP1; 是否移完?

MOV R2, A; 结果的高8位装入R2

MOV A, #0

MOV R4, #04; 读取低4位转换结果

ADLOP2:

MOV C, DOUT

RLC A

SETB CLK

NOP

NOP

NOP

NOP

CLR CLK

DJNZ R4, ADLOP2

MOV R3, A; 低4位转换结果装入R3

SETB CS

RET


关键词: 转换 TLC2543 源程序

评论

技术专区