让电机转动用c语言怎么编程,求求C语言或者汇编程序编程!基于热敏电阻的转页步进电机控制器...

这是对应的汇编程序,求修改、、、仿真时候在电机模块那里出现问题。。。。如果接P3.0到3.3口,电机就转动不了了。。。求改!!!

KEY_ADD BIT P3.0

KEY_DEC BIT P3.1

ORG 0000H

BEGIN: LJMP INIT

ORG 0003H ;INT0

ORG 000BH ;T0 INT

ORG 0013H ;1NT1

ORG 001BH ;T1 INT

ORG 0023H ;S PORT INT

ORG 002BH ;T2 INT

ORG 0030H

;============================================

INIT: MOV SP,#60H

MOV P0,#0FFH

MOV P2,#00H

MOV P1,#00H

MOV 4AH,#15

;============================================

MAIN: LCALL GET_TEMPER

LCALL DISP

// LCALL KEYSCAN

// LCALL OUT

SJMP MAIN

;============================================

GET_TEMPER:

SETB P3.4

LCALL RST18B20

JB 00H,DSS2

RET

DSS2: MOV A,#0CCH

LCALL WR18B20

MOV A,#44H

LCALL WR18B20

LCALL RST18B20

MOV A, #0CCH

LCALL WR18B20

MOV A,#0BEH

LCALL WR18B20

LCALL RE18B20

RET

RST18B20:

SETB P3.4

NOP

CLR P3.4

MOV R0,#06BH

MOV R1,#03H

DSR1: DJNZ R0,DSR1

MOV R0,#6BH

DJNZ R1,DSR1

SETB P3.4

NOP

NOP

NOP

MOV R0,#25H

DSR2: JNB P3.4,DSR3

DJNZ R0,DSR2

LJMP DSR4

DSR3: SETB 00H

LJMP DSR5

DSR4: CLR 00H

LJMP DSR7

DSR5: MOV R0,#06BH

DSR6: DJNZ R0,DSR6

DSR7: SETB P3.4

RET

;----------------------------

WR18B20:

MOV R2,#8

CLR C

WR1: CLR P3.4

MOV R3,#6

DJNZ R3,$

RRC A

MOV P3.4,C

MOV R3,#23

DJNZ R3,$

SETB P3.4

NOP

DJNZ R2,WR1

SETB P3.4

RET

;-------------------------

RE18B20: SETB RS0

MOV R4,#2

MOV R0,#36H

RE00: MOV R5,#8

RE01: CLR C

SETB P3.4

NOP

NOP

CLR P3.4

NOP

NOP

NOP

SETB P3.4

MOV R6,#07

RE10: DJNZ R6,RE10

MOV C,P3.4

MOV R6,#20

RE20: DJNZ R6,RE20

RRC A

DJNZ R5,RE01

MOV @R0,A

DEC R0

DJNZ R4,RE00

CLR RS0

NOP

RET

;-----------------------------

DISP: MOV A,35H

ANL A,#0FH

MOV 45H,A

MOV A,36H

SWAP A

ANL A,#0FH

MOV 46H,A

MOV A,45H

SWAP A

ORL A,46H

MOV 46H,A

MOV B,#10

DIV AB

MOV 50H,A

MOV 51H,B

MOV A,4AH

MOV B,#10

DIV AB

MOV 52H,A

MOV 53H,B

MOV DPTR,#TAB

MOV A,50H

MOVC A,@A+DPTR

CPL A

MOV P1,#00H

MOV P2,A

LCALL DELAY

MOV A,51H

MOVC A,@A+DPTR

CPL A

MOV P1,#20H

MOV P2,A

LCALL DELAY

MOV A,52H

MOVC A,@A+DPTR

CPL A

MOV P1,#40H

MOV P2,A

LCALL DELAY

MOV A,53H

MOVC A,@A+DPTR

CPL A

MOV P1,#60H

MOV P2,A

LCALL DELAY

RET

TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

DELAY: MOV R5,#30

D1: MOV R6,#123

NOP

D2: DJNZ R6,D2

DJNZ R5,D1

RET

//KEYSCAN: JB 7DH,SCAN1

JB KEY_ADD,SCAN2

DJNZ R0,$

JB KEY_ADD,SCAN2

SETB 7DH

INC 4AH

SCAN1: JNB KEY_ADD,SCAN12

CLR 7DH

SCAN2: JB 7CH,SCAN11

JB KEY_DEC,SCAN12

DJNZ R0,$

JB KEY_DEC,SCAN12

SETB 7CH

DEC 4AH

SCAN11: JNB KEY_DEC,SCAN12

CLR 7CH

SCAN12: NOP

RET

//OUT: MOV A,46H

CJNE A,4AH ,OUT1

SJMP OUT3

OUT1: SUBB A, 4AH

MOV B,#2

DIV AB

LP1: MOV P1,#03H

ACALL DEL

DEC A

JZ OUT3

MOV P1,#02H

ACALL DEL

DEC A

JZ OUT3

MOV P1,#06H

ACALL DEL

DEC A

JZ OUT3

MOV P1,#04H

ACALL DEL

DEC A

JZ OUT3

MOV P1,#0CH

ACALL DEL

DEC A

JZ OUT3

MOV P1,#08H

ACALL DEL

DEC A

JZ OUT3

MOV P1,#09H

ACALL DEL

DEC A

JZ OUT3

MOV P1,#01H

ACALL DEL

DEC A

// JNZ LP1

AJMP OUT3

OUT3: NOP

RET

DEL: MOV R6,#10

DD1: MOV R5,#80H

DD2: MOV R7,#0

DD3: DJNZ R7,DD3

DJNZ R5,DD2

DJNZ R6,DD1

RET

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值