⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s5.asm

📁 本文件包包括8051彻底研究书籍各章的实例源代码
💻 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 + -