作者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