c语言写plc程序正反转,用C语言编写电动机的正反转

ORG      00H

START:

MOV   DPTR,#TAB1

MOV   R0,#3

MOV   R4,#0

MOV   P2,R0

WAIT: MOV   P0,#0FFH

JNB   P0.0,POS    ; Wait for a key pressed

JNB   P0.1,NEG

MOV   P2,#00H

SJMP  WAIT

POS:  MOV   R4,#1

MOV   A,R4        ; Forward direction

MOVC  A,@A+DPTR

MOV   P2,A

ACALL DELAY

AJMP  KEY

NEG:  MOV   R4,#7       ; Reverse direction

MOV   A,R4

MOVC  A,@A+DPTR

MOV   P2,A

ACALL DELAY

AJMP  KEY

KEY:  MOV   P0,#03H

JB    P0.0,NR1

INC   R4

CJNE  R4,#9,LOOPP

MOV   R4,#1

LOOPP:

MOV   A,R4

MOVC  A,@A+DPTR

MOV   P2,A

ACALL DELAY

AJMP  KEY

NR1:

JB    P0.1,START

DEC   R4

CJNE  R4,#0,LOOPN

MOV   R4,#8

LOOPN:

MOV   A,R4

MOVC  A,@A+DPTR

MOV   P2,A

ACALL DELAY

AJMP  KEY

DELAY:

MOV   R6,#1

DD1:  MOV   R5,#80H

DD2:  MOV   R7,#0

DD3:  DJNZ  R7,DD3

DJNZ  R5,DD2

DJNZ  R6,DD1

RET

; Table of Stepping Sequences

TAB1: DB    00H,02H,06H,04H

DB    0CH,08H,09H,01H,03H

END

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值