作者gabbana ( )
看板ASM
标题[问题] 可以帮我看一下这段8051的组语吗
时间Wed Feb 4 21:33:04 2009
这是我从套件光碟下载来的8051程式码
是用来控制步进马达的
可是我不会组合语言
想知道这段程式码有没有内含由rs-232线来控制的功能
希望有高手可以帮忙
感谢
-----------------------------
ORG 00H
MOV R0,#0
JMP START
ORG 50H
START:
SETB P1.5
SETB P1.6
CLR P1.7
MOV R1,
#10001000B
MOV R2,#1
JNB P0.0,DO1
JNB P0.1,DO2
JNB P0.2,DO3
JNB P0.3,DO4
JNB P0.4,GO11
JNB P0.5,GO22
JNB P0.6,GO33
JNB P0.7,GO44
JMP START
DO1:
SETB P1.5
CLR P1.6
CLR P1.7
JB P0.0,START
JMP DO1
DO2:
CLR P1.5
SETB P1.6
CLR P1.7
JB P0.1,START
JMP DO2
DO3:
CLR P1.5
SETB P1.6
CLR P1.7
CALL DELAY
INC R0
MOV A,R0
CJNE A,01,DO3
JB P0.2,START
DO31:
SETB P1.5
CLR P1.6
CLR P1.7
CALL DELAY
INC R0
CJNE R0,#00,DO31
JB P0.2,START
JMP DO3
DO4:
SETB P1.5
CLR P1.6
CLR P1.7
CALL DELAY
INC R0
MOV A,R0
CJNE A,01,DO4
JB P0.3,START
DO41:
CLR P1.5
SETB P1.6
CLR P1.7
CALL DELAY
INC R0
CJNE R0,#00,DO41
JB P0.3,START
JMP DO4
GO11:
JMP GO1
GO22:
JMP GO2
GO33:
JMP GO3
GO44:
JMP GO4
START1:
JMP START
GO1:
MOV A,R1
MOV P2,A
RR A
MOV R2,#1
CALL DELAY1
MOV R1,A
JB P0.4,START1
JMP GO1
GO2:
MOV A,R1
MOV P2,A
RL A
MOV R2,#1
CALL DELAY1
MOV R1,A
JB P0.5,START1
JMP GO2
GO3:
CLR A
MOV A,R1
MOV P2,A
RR A
MOV R1,A
CLR A
MOV A,R2
CALL DELAY1
INC A
MOV R2,A
JB P0.6,START1
JMP GO3
GO4:
MOV R2,#30
GO444:
CLR A
MOV A,R1
MOV P2,A
RL A
MOV R1,A
MOV A,R2
CALL DELAY1
DEC A
MOV R2,A
JB P0.7,START1
JZ GO4
JMP GO444
DELAY:
MOV R3,#10H
D2:
MOV R4,#0
DJNZ R4,$
DJNZ R3,D2
RET
DELAY1:
MOV R6,#40
D1:
MOV R7,#249
DJNZ R7,$
DJNZ R6,D1
DJNZ R2,DELAY1
RET
END
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.20.18
※ 编辑: gabbana 来自: 140.113.20.18 (02/04 21:33)
1F:推 po953:不行耶 02/04 22:15
2F:推 zha0:XD 02/05 09:18
3F:→ gabbana:感谢 02/05 11:45
4F:推 odahawk:没有RS-232的相关码 02/05 13:44
5F:推 Kniveschou:随便看一下 就大概是P0指拨开关 然後设定P1的状态 02/07 03:35
6F:→ Kniveschou:P1可能是LED 来让他亮灭啥的 差不多就这样吧go懒得看XD 02/07 03:35
7F:推 pponywong:8051不能直接控制rs232 还要加一个232晶片才行 02/09 17:20
8F:→ pponywong:不过程式码这麽短...就应该没有.... 02/09 17:21