;SFR FOR SST89C5X
T2CON
EQU 0C8H
RCAP2L
EQU 0CAH
RCAP2H
EQU 0CBH
SFCM
EQU 0B2H
SFAL
EQU 0B3H
SFAH
EQU 0B4H
SFDT
EQU 0B5H
SFCF
EQU 0B6H
WDTC
EQU 0C0H
WDTD
EQU 086H
Timer2Low EQU
0dch
Timer2High EQU
0ffh ;0ffeeh:19200 bit/s; 0ffdc:9600 bit/s; 0fee0h:
1200 bit/s
ORG 0000h
JMP Start
ORG 0100h
Start:
CLR EA
MOV SP,#60h
LCALL Delay
LCALL Delay
;enable to fetch code from block 1
; MOV A,SFCF
; ORL A,#80h
; ANL A,#0FCH
; MOV SFCF,A
MOV SFCF,#80h
LCALL Delay
LCALL Delay
JMP Loader
;延时子程序
Delay:
PUSH 01h
MOV 01h,#200
DelayLoop:
NOP
NOP
NOP
DJNZ 01h,DelayLoop
POP 01h
RET
;串口: mode 1, 9600, no parity, 8 bits data, 1 stop bit
ORG 0F000h
Loader:
CLR EA
;Set timer2 for communication
MOV RCAP2L,#Timer2Low
MOV RCAP2H,#Timer2High ;Set
timer2 init value
MOV T2CON,#34h
;Set timer2 mode: timer, auto reload,baudrate producer
;Set com
MOV SCON,#050h
;mode 1, enable receice
MOV R0,#20h
Main:
SETB P1.7 ;Enable COM
receive
LCALL Delay
CPL P3.4
;work id
WaitToRec:
JBC RI,RecHandle
CPL P1.6
;feed dog
JMP WaitToRec
RecHandle:
MOV A,SBUF
CLR P1.7
;Enable com transmit
LCALL Delay
MOV SBUF,A
WaitToSendOver:
JBC TI,SendHandle
JMP WaitToSendOver
SendHandle:
JMP Main
END
结果程序不能正常执行,但如果把Loader的地址改为0200H,程序就可以正常执行。我是第
一次用sst89c5x,不知道哪里出了问题
先谢过了
但仍然不行,程序无法运行