m2.asm

来自「8051 Serial Port Routines by Kevin W. Cl」· 汇编 代码 · 共 33 行

ASM
33
字号
;FILE: M2.ASM
;
;THIS PROGRAM TRANSMITS THE HEX VALUE AA REPETITIVELY ACCROSS THE SERIAL PORT
;OF A MCS-51 IN MODE 2 AT A RATE OF 1/32 THE OSCILLATOR FREQUENCY
;
;DETAILS:
;
;MODE 2:  11 BITS ARE TRANSMITTED THROUGH TXD OR RECEIVED THROUGH RXD.
;STARTING WITH A START BIT (0), 8 DATA BITS WITH THE LEAST SIGNIFICANT BIT
;FIRST, A PROGRAMMABLE 9TH DATA BIT, AND A STOP BIT (1).  ON TRANSMIT, THE
;9TH DATA BIT, TB8 IN SCON, CAN BE ASSIGNED A VALUE OF 0 OR 1.  FOR EXAMPLE
;THE PARITY BIT, P FROM PSW, COULD BE MOVED INTO TB8.  ON RECEIVE, THE NINTH 
;DATA BIT GOES INTO RB8 IN SCON WHILE THE STOP BIT IS IGNORED.  (THE VALIDITY
;OF THE STOP BIT CAN BE CHECKED WITH FRAMING ERROR DETECTION)  THE BAUD RATE
;IS PROGRAMABLE TO IETHER 1/32 OR 1/64 THE OSCILLATOR FREQUENCY.  IF THE 
;SMOD1 BIT IN THE PCON REGISTER IS 0, THEN THE BAUD RATE IS 1/64 THE 
;OSCILLATOR FREQUENCY, IF SMOD1 IS 1, THE THE BAUD RATE IS 1/32 THE 
;OSCILLATOR FREQUENCY.
;
;
        PCON EQU 87H

        ORG 00H
        JMP MAIN
MAIN:   MOV SCON,#80H                    ;SET UP FOR MODE 2
        MOV PCON,#80H                    ;BAUD RATE EQUALS 1/32 OSC. FREQ
        CLR TI                           ;READY TO TRANSMIT
LOOP:   MOV SBUF,#0AAH                   ;TRANSMIT AAH
        JNB TI,$                         ;WAIT FOR END OF TRANSMISSION
        CLR TI                           ;READY TO TRANSMIT
        JMP LOOP                         ;DO IT ALL AGAIN
        END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?