新手求助,请高手指点.
以下是一个小程序,请问为什么单片机上电后输出端全部输出高电平(复位电路OK)程序哪里出错了,谢谢!
DATA_OFF EQU P1.7
DATA_ON EQU P1.6
DATA_8 EQU P1.5
DATA_CHU EQU P1.4
DATA_9 EQU P1.3
DATA_BAI EQU P1.2
DATA_M EQU P1.1
DATA_TUI EQU P0.7
DATA_7 EQU P0.6
ORG 0000h
LJMP INITIAL
ORG 0200h
INITIAL:
MOV P0,#00H
MOV P1,#00H
LCALL DELAY100MS
JNB P2.0,AA
JB P2.0,$
;******************************** shan dian
AA:
SETB DATA_OFF
LCALL DELAY2MS
CLR DATA_OFF
LCALL DELAY100ms
JNB P2.0,BB
JB P2.0,$
;***********************ON
BB:
SETB DATA_ON
LCALL DELAY2MS
CLR DATA_ON
LCALL DELAY100ms
JNB P2.0,CC
JB P2.0,$
;***********************8
CC:
SETB DATA_8
LCALL DELAY2MS
CLR DATA_8
LCALL DELAY100ms
;*********************************CHU
SETB DATA_CHU
LCALL DELAY2MS
CLR DATA_CHU
LCALL DELAY100ms
;********************************9
SETB DATA_9
LCALL DELAY2MS
CLR DATA_9
LCALL DELAY100MS
SETB DATA_9
LCALL DELAY2MS
CLR DATA_9
LCALL DELAY100MS
JNB P2.0,DD
JB P2.0,$
;*********************************TUI
DD:
SETB DATA_TUI
LCALL DELAY2MS
CLR DATA_TUI
LCALL DELAY100ms
JNB P2.0,EE
JB P2.0,$
;********************************* BAI
EE:
SETB DATA_BAI
LCALL DELAY2MS
CLR DATA_BAI
LCALL DELAY100ms
JNB P2.0,FF
JB P2.0,$
;*********************************M
FF: SETB DATA_M
LCALL DELAY2MS
CLR DATA_M
LCALL DELAY100ms
JNB P2.0,KK
JB P2.0,$
;*********************************7
KK: SETB DATA_7
LCALL DELAY2MS
CLR DATA_7
LCALL DELAY100ms
JNB P2.0,KKK
JB P2.0,$
;*****************************
KKK:
LJMP INITIAL
DELAY1s: ;1s 延时,1s=10X200X250X2us=1s
MOV 3DH,#1
TM: LCALL DELAY100ms
DJNZ 3DH,TM
RET
DELAY100ms:
MOV 3FH,#250 ;200X250X2us=100ms
TM1B: MOV 3EH,#250 ;250X2us=500us延时
TM1A: DJNZ 3EH,TM1A
DJNZ 3FH,TM1B
RET
DELAY2ms: MOV 3FH,#250 ;20X50X2us=2ms
TM2B: MOV 3EH,#250 ;50X2us=100us延时
TM2A: DJNZ 3EH,TM2A
DJNZ 3FH,TM2B
RET
END