?? s5.asm
字號:
;FILENAME S5.ASM
;
BUZZER REG P3.4
LED REG P3.7
;
ORG 0000H
LJMP RESET
ORG 0023H
LJMP SIOISR
;
RESET MOV R0,#00H
DJNZ R0,$
CLR LED
CLR BUZZER
;
START MOV SP,#3FH
LCALL INIT_SIO
STEP1 MOV 20H,#00H
CLR F0
STEP2 SETB REN ;SET RECEIVE ENABLE
STEP3 SETB PS ;SERIAL INTERRUPT HIGHER PRIORITY
SETB ES ;ENABLE SERIAL INTERRUPT
STEP4 CLR RI ;CLEAR RI
CLR TI ;CLEAR TI
STEP5 SETB EA ;ENABLE SYSTEM INTERRUPT
;
MAIN ;MAIN ROUTINE START
INC 20H
LCALL DELAY
JNB F0,MAIN ;LOOP AGAIN
;
STOP SETB BUZZER
SJMP STOP ;DISABLE SERIAL INTERRUPT
;
SIOISR JNB RI,ISREND
MOV A,SBUF ;READ CHARACTER FROM SBUF
CLR RI
CLR TI
MOV SBUF,A ;ECHO BACK
CJNE A,#'!',ISREND
SETB F0
ISREND RETI
;
INIT_SIO
MOV TMOD,#00100000B ;TIMER 1 MODE 2
MOV TH1,#FDH ;BAUD RATE=9600 BPS
SETB TR1 ;START TIMER 1
MOV SCON,#01010000B ;ENABLE RECEIVE
RET ;1 START,8 BITDATA,1 STOP BIT
;
DELAY MOV R0,#04H
MOV R1,#00H
DLY1 DJNZ R0,$
DJNZ R1,DLY1
RET
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -