📄 f020com.asm
字号:
;************************************************************
;* C8051F020 RS232(ASM) Programe,all is debug right *
;* By Li Huailiang 2007.10.12 *
;************************************************************
$INCLUDE (c8051f020.inc)
ORG 0000H
LJMP MAIN
ORG 0023H
LJMP SEND
ORG 0100H
MAIN: MOV DPTR,#TABLE
MOV R5,#0FH
LCALL WDT
LCALL PORT_INIT
LCALL Oscillator_Init
LCALL UART_Init
;----------------------------------------------------------
PORT_INIT:
MOV P2MDOUT,#0FFH ;设置P2,P3口为推挽方式
MOV P3MDOUT,#0FFH
MOV XBR0,#04H
MOV XBR1,#88H
MOV XBR2,#41H
MOV EMI0CF,#37H ;use the internal XRAM only
RET
;----------------------------------------------------------
Oscillator_Init:
MOV OSCXCN,#067h
MOV R0,#030 ; Wait 1ms for initialization
Osc_Wait1:
CLR A
DJNZ ACC,$
DJNZ R0,Osc_Wait1
Osc_Wait2:
MOV A,OSCXCN
JNB ACC.7,Osc_Wait2
MOV OSCICN,#00Ch
RET
;---------------------------------------------------------
UART_Init:
MOV SCON0,#0DAH
MOV TCON,#40H
MOV TMOD,#20H
MOV TL1,#0FDH ;BAUD rate is 9600bps
MOV TH1,#0FDH
SETB EA
SETB ES
SETB TR1
SJMP $
RET
;---------------------------------------------------------
WDT: CLR EA ;Forbid the WDT
MOV WDTCN,#0DEH
MOV WDTCN,#0ADH
SETB EA
RET
;---------------------------------------------------------
;*********************************************************
SEND:
CLR A
MOVC A,@A+DPTR
;MOV A,#03H
MOV SBUF0,A
;jnb ti,$
CLR TI
INC DPTR
DJNZ R5,LOOP
CLR EA
LOOP: RETI
;---------------------------------------------------------
TABLE: DB 01H,02H,03H,04H,05H,06H,07H,08H,09H
DB 0AH,0BH,0CH,0DH,0EH,0FH
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -