利用 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 ;置为高 ACALL TLC2543 ;调转换子程序 SJMP $ ; 转换子程序: TLC2543:MOV A,#0H ;通道选择和工作模式送A CLR P1.3 ;置为低 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
|