📄 m3t2.asm
字号:
;FILE: M3T2.ASM
;
;THIS PROGRAM TRANSMITS THE HEX VALUE AA REPETITIVELY ACCROSS THE SERIAL PORT
;OF A MCS-51 IN MODE 3 USING TIMER 2 AS A BAUD RATE GENERATOR TO
;GENERATE A BAUD RATE OF 2400 BAUD AT 16MHZ WITH A PARITY BIT
;
;DETAILS:
;
;MODE 3: 11 BITS ARE TRANSMITTED THROUGH TXD OR RECEIVED THROUGH RXD
;TRANSMISSION STARTS WITH A START BIT (0), EIGHT DATA BITS WITH THE LEAST
;SIGNIFICANT BIT FIRST, A PROGRAMMABLE 9TH DATA BIT, AND A STOP BIT (1).
;MODE 3 IS THE SAME AS MODE 2 EXCEPT THAT MODE 3 HAS A VARIABLE
;BAUD RATE
;
;
RCAP2H EQU 0CBH
RCAP2L EQU 0CAH
T2CON EQU 0C8H
ORG 00H
JMP MAIN
MAIN: MOV SCON,#0C0H ;SET UP FOR SERIAL MODE 3
MOV RCAP2H,#0FFH ;LOAD HIGH BYTE TO GENERATE 2400 BAUD AT 16MHZ
MOV RCAP2L,#30H ;LOAD LOW BYTE TO GENERATE 2400 BAUD AT 16MHZ
MOV T2CON,#14 ;TIMER 2 BAUD RATE GENERATOR AND START TIMER
MOV A,#0AAH ;PUT THE VALUE TO BE TRANSMITTED IN THE ACC
MOV C,P ;PARITY INFORMATION TO CARRY FLAG
MOV TB8,C ;PARITY INFO FROM CARRY TO PROGRAMABLE BIT *
; *NOTE: THE CONTENTS OF THE CARRY FLAG IN THE
; PSW MAY BE ALTERED
CLR TI ;READY TO TRANSMIT
LOOP: MOV SBUF,A ;TRANSMIT AAH
JNB TI,$ ;WAIT UNTIL DONE TRANSMITING
CLR TI ;READY TO TRANSMIT
JMP LOOP ;DO IT ALL OVER AGAIN
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -