求TLC2543汇编程序转C语言
利用TLC2543的AIN0采集10个数据,放入到8051内部RAM的30H开始的单元中。单片机采用1单片机z的晶振,数据格式为12位、高位在前、单极性。
解:命令字为00H。程序清单如下:
MOV P1,#04H ;准备读P1.2
MOV R6,#0AH ;转换10次
MOV R0,#2FH ;置数据缓冲区指针
CLR P1.0 ;置I/O时钟为低
SETB P1.3 ;置file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-22667.png为高
ACALL TLC2543 ;调转换子程序
SJMP $ ;
转换子程序:
TLC2543:MOV A,#0H ;通道选择和工作模式送A
CLR P1.3 ;置file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-30903.png为低
MOV R5,#0CH ;置输出位计数初值
LOOP: MOV C,P1.2 ;读入转换数据1位
RLC A ;将进位位右移给A,(将转换数据的1位读入,
同时将1位控制位移入C)
MOV P1.1,C ;送出1位控制位
SETB P1.0 ;置I/O时钟为高
CLR P1.0 ;置I/O时钟为低
CJNE R5,#05H, LOP1
MOV @R0,A ;前8位存入RAM
INC R0
CLR A
LOP1: DJNZ R5,LOOP ;未转换完继续
ANL A,#0FH
MOV @R0,A ;转换完的存入单元
INC R0
MOV R2,#0AH ;延时
DELAY: DJNZ R2,DELAY ;
DJNZ R6,TLC2543 ;
RET
转啥,自己根据功能要求写吧