当前位置:   article > 正文

汇编语言如何转换成c语言,求把以下程序从汇编语言转换成C语言

汇编语言转换成c语言在线

求把以下程序从汇编语言转换成C语言

ORG 0000H

LJMP MAIN

ORG 0003H

LJMP PINT0

ORG 000BH

LJMP TINT

ORG 0200H

MAIN: MOV IE,#81H ;CPU开放中断,INT0允许中断

SETB IT0 ;外部中断为边沿触发方式

MOV SP,#30H ;指针入口地址

SETB P3.0

CLR P3.1

MOV P1,#0FFH ;使P1口全部置1

MOV P2,#00H ;P2口清零

CLR P1.2

LP: JNB P1.0,LA ;监测输入信号,是否有输入信号

LA: ACALL DELAY ;延时消抖

JNB P1.0,ALARM ;再次监测输入信号,若有输入信号转入报警子程序

AJMP LP

DELAY:MOV R1,0AAH

LD2:MOV R2,0BBH

LD1:NOP

DJNZ R2,LD1

DJNZ R1,LD2

RET

ALARM:SETB P1.2 ;开始报警使运行正常绿指示灯熄灭,红灯和声报警启动

CPL P3.0

;10S钟定时:

MOV 51H,#14H ;10S循环次数

MOV TMOD,#01H ;定时器T0定时 方式1

MOV TL0,#0CEH ;置50ms定时初值

MOV TH0,#0FFH

SETB ET0

SETB EA

SETB TR0 ;启动T0

TINT: CPL P3.1

MOV TL0,#0CEH

MOV TH0,#0FFH ;启动T0

L2:JBC TF0,L1 ;查询记数溢出

SJMP L2

L1: MOV TL0,#0CEH

MOV TH0,#0FFH

SETB P3.0 ;10s到关闭报警

CPL P3.0

CLR P1.2 ;报警结束,正常运行绿指示灯亮

LJMP LP ;循环,继续工作

2. 外部中断INTO服务程序:

PINT0: CLR EX0 ;外部中断0服务程序开始,屏蔽外部中断

PUSH PSW

PUSH ACC

JNB P3.2,LN ;监测是否有中断输入

LN: LCALL DELAY ;延时消抖

JNB P3.2,LN1

AJMP LN2 ;无中断输入,中断返回

LN1: SETB P3.0

CLR P3.1

CLR P1.2 ;使报警结束,绿指示灯亮

POP ACC

POP PSW

SETB EX0 ;开放外部中断0

LCALL LP ;在中断继续检测是否有输入信号

LN2: RETI

END

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/309687
推荐阅读
相关标签
  

闽ICP备14008679号