电路设计,软件开发,专业项目团队承接电子产品开发!


ISPRO下载型编程器
火爆销售中

RS232/TTL转换器
全IC串口窃电

RS232/TTL转换线
全IC串口窃电

ByteBlasterMV Cable
CPLD/FPGA并口下载线

ByteBlaster II Cable ISPRO下载型编程器
支持S51/AVR/PIC
超级51开发板套件
前卫实用超值

PC/MCU/CPLD
三合一学习套件

全新万年历方案
AVR单片机开发板
 

Min51单片机仿真机
迷你型

ARM7开发板
仅售260元!
 

RS-232/RS-485双向接口电平转换器  

51单片机升级STM32
火爆销售中
MPLAB-ICD2
火爆销售中
LED51开发板
玩具又名图文显示棒

面板模块/开发板
经济危机明智决择

       

GSM MODEM GSM猫

SMS短信模块 工业级/全自动
火爆销售中

大功率数传电台

高速数传电台

您当前位置:电子技术资料 -> 外围驱动 -> AD模数转换 ->

祝您阅读愉快!

ISPRO下载型编程器

RS232 TO TTL转换器
↑↑本文相关产品介绍↑↑

TLC2543 AD转换汇编代码


类别:技术文章
来源:未知
作者:未知
关键字:TLC2543
加入日期:2010-8-3

我用过2543的,一般只有+1或-1的波动。
;中国电子网 www.EC66.com
RD_AD2543:
DATA_SAM: ; 转换结果存数据缓冲区TESTDATA中
PUSH 00H
PUSH 01H
PUSH 02H
PUSH 03H
MOV R0,#TESTDATA ; 数据缓冲区首地址#TESTDATA->R0
MOV R1,#00001100B ; 0通道方式/通道数据
LCALL RD_AD2543 ;第一次读取的转换结果可能不准确,丢弃。
MOV R1,#00011100B ; 1通道方式/通道数据
LCALL RD_AD2543 ;送1通道方式/通道数据并读第0通道转换结果
0
MOV @R0,02H ;R2 ; 转换结果存放到数据缓冲区,下同
INC R0
MOV @R0,03H ;R3 ; 转换结果存放到数据缓冲区
INC R0
MOV R1,#00101100B ; 2通道方式/通道数据

CLR I_U
LCALL DELAY02S
LCALL DELAY02S
LCALL RD_AD2543 ;送2通道方式/通道数据并读第1通道转换结果
1
SETB I_U
LCALL DELAY02S
LCALL DELAY02S

MOV @R0,02H ;R2 ; 转换结果存放到数据缓冲区,下同
INC R0
MOV @R0,03H ;R3 ; 转换结果存放到数据缓冲区
INC R0
MOV R1,#00111100B ; 3通道方式/通道数据
LCALL RD_AD2543 ;送3通道方式/通道数据并读第2通道转换结果
2
MOV @R0,02H ;R2 ; 转换结果存放到数据缓冲区,下同
INC R0
MOV @R0,03H ;R3
INC R0
MOV R1,#4CH ; 4通道方式/通道数据
LCALL RD_AD2543 ; 送4通道方式/通道数据并读第3通道转换结果
3
MOV @R0,02H ;R2 ; 转换结果存放到数据缓冲区,下同
INC R0
MOV @R0,03H ;R3
INC R0
MOV R1,#5CH ; 5通道方式/通道数据
LCALL RD_AD2543 ; 送5通道方式/通道数据并读第4通道转换结果
4
MOV @R0,02H ;R2 ; 转换结果存放到数据缓冲区,下同
INC R0
MOV @R0,03H ;R3
INC R0
MOV R1,#6CH ; 6通道方式/通道数据
LCALL RD_AD2543 ;送6通道方式/通道数据并读第5通道转换结果
5
MOV @R0,02H ;R2 ; 转换结果存放到数据缓冲区,下同
INC R0
MOV @R0,03H ;R3
INC R0
MOV R1,#7CH ; 7通道方式/通道数据
LCALL RD_AD2543 ;送7通道方式/通道数据并读第6通道转换结果
6
MOV @R0,02H ;R2 ; 转换结果存放到数据缓冲区,下同
INC R0
MOV @R0,03H ;R3
INC R0
MOV R1,#8CH ; 8通道方式/通道数据
LCALL RD_AD2543 ;送8通道方式/通道数据并读第7通道转换结果
7
MOV @R0,02H ;R2 ; 转换结果存放到数据缓冲区,下同
INC R0
MOV @R0,03H ;R3
INC R0
MOV R1,#9CH ; 9通道方式/通道数据
LCALL RD_AD2543 ;送9通道方式/通道数据并读第8通道转换结果
8
MOV @R0,02H ;R2 ; 转换结果存放到数据缓冲区,下同
INC R0
MOV @R0,03H ;R3
INC R0
MOV R1,#0ACH ; 10通道方式/通道数据
LCALL RD_AD2543 ;送10通道方式/通道数据并读第9通道转换结果
9
MOV @R0,02H ;R2 ; 转换结果存放到数据缓冲区,下同
INC R0
MOV @R0,03H ;R3
INC R0
MOV R1,#0CH ; 0通道方式/通道数据
LCALL RD_AD2543 ;送0通道方式/通道数据并读第10通道转换结果
10
MOV @R0,02H ;R2 ; 转换结果存放到数据缓冲区。0~10共11个
INC R0
MOV @R0,03H ;R3
INC R0
POP 03H
POP 02H
POP 01H
POP 00H
RET
;供数据采集摸块“DATA_SAM”调用。
RD_AD2543: ; 转换结果R3,R2中格式为标准16进制
PUSH 04H
PUSH ACC
PUSH PSW
PUSH 01H
PUSH 00H
MOV A,R1 ; 把方式/通道控制字放到A
CLR CS ; 设置片选为低
JB ACC.1,LSB
MSB: MOV R4,#08 ; 先读高8位
LOP25431:
MOV C,DOUT ; 读转换结果
RLC A ; A寄存器左移,移入结果数据位,移出方式/通
道控制位
MOV DIN,C ; 输出方式/通道位
SETB CLK ; 设置I/O时钟为高
CLR CLK ; 清I/O时钟
DJNZ R4,LOP25431 ; R4不为0,则反回LOP25431
MOV R2,A ; 转换结果的高8位放到R2中
MOV A,R1 ; 复位A寄存器
JB ACC.1,RETURN
LSB: MOV R4,#08H ; 再读低4位
LOP25432:
MOV C,DOUT ; 读转换结果
RLC A ; A寄存器左移,移入结果数据位,
MOV DIN,A
SETB CLK ; 设置I/O时钟为高
CLR CLK
DJNZ R4,LOP25432 ; R4不为0,则反回LOP25432
MOV R3,A ; 转换结果的低4位放到R3中
MOV A,R1
JB ACC.1,MSB
RETURN: MOV A,R3 ;将R3,R2中格式转换为标准16进制
SWAP A
ANL A,#0FH
MOV R0,A ;0-3位
MOV A,R2 ;4-7位
SWAP A
ANL A,#0F0H
ORL A,R0
MOV R0,A
MOV A,R2 ;8-11位
SWAP A
ANL A,#00FH
MOV R1,A
MOV R2,00H
MOV R3,01H ;已将R3,R2中格式转换为标准16进制
POP 00H
POP 01H
POP PSW
POP ACC
POP 04H
RET

您可能还会关注的相关技术资料:

中国电子网
www.EC66.com
QQ:34740080 EMAIL:iloveaoe@163.com
最佳浏览:1024*768
Copyright (C) 2001-2010 EC66.COM All Rights Reserved
Aoe/帝国 制作维护
粤ICP备18061901号