微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 求TLC2543汇编程序转C语言

求TLC2543汇编程序转C语言

时间:10-02 整理:3721RD 点击:

   利用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

转啥,自己根据功能要求写吧

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

网站地图

Top