这个汇编语言程序怎么转换成C语言?

ORG 0000H
READ_TEMP:
CALL RESET
JB 70h,EXT1
CALL SKIP_ROM
CALL TEMP_CONV
CALL DELAY_600MS
CALL RESET
CALL SKIP_ROM
CALL TEMP_GET
CALL READ
EXT1:
RET
SKIP_ROM:
MOV A,#0CCH
CALL WRITE
RET
RECALL_EPROM
MOV A,#0B8H
CALL WRITE
RET
TEMP_CONV:
MOV A,#44H
CALL WRITE
RET
TEMP_GET:
MOV A ,#0BEH
CALL WRITE
RET
;********* 18B20基本时序子程序
RESET:
SETB P1.2
NOP
CLR P1.2
MOV R3,#150 ; *4=600US
CALL DELAY_BY_R3
SETB P1.2
MOV R3,#15 ; 60US
CALL DELAY_BY_R3
MOV R3,#60
A1: JNB P1.2,A2
DJNZ R3,A1
SETB 70h ;DS1820
JMP A3
A2: CLR 70h
MOV R3,120;240US
DJNZ R3, $
A3:
RET
WRITE:
MOV R2,#8
CLR C
B1: SETB P1.2
NOP
CLR P1.2
MOV R3,#4 ;16US
CALL DELAY_BY_R3
RRC A
MOV P1.2,C
MOV R3,#12;48US
CALL DELAY_BY_R3
SETB P1.2
NOP
DJNZ R2,B1
RET
READ:
MOV R1,#4
MOV R0,#28H
C0: MOV R2,#8
C1: CLR C
SETB P1.2
NOP
NOP
CLR P1.2
NOP
SETB P1.2
MOV R3,#4
CALL DELAY_BY_R3
MOV C,P1.2
RRC A
MOV R3,#12
CALL DELAY_BY_R3
DJNZ R2,C1
MOV @R0,A
INC R0 ;下一位;29h
DJNZ R1,C0
RET

其实将汇编转换成C语言也不是不可以的,小的程序是没有问题的,大的程序或许不能转换,我以前在学习单片机时,我先学的汇编语言,后来发现用C编写会更适合大项目的开发,于是我就学习C语言,那时我就试着将自己以前编写的汇编程序编写成C语言程序,我是自己通过思路来转换的,这样的转换软件似乎没有吧,这个我不清楚!我的体会就是,如果C语言的逻辑性特别强的程序转换成汇编难度会很大的,这是我的亲身体会。汇编转换成C语言还是可以的
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网