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

📄 uart_t1.a51

📁 Atmel Uart C51程序(timer1方式)
💻 A51
字号:
$INCLUDE   (reg_c51.INC)

org 000h
ljmp begin

org 23h
ljmp serial_IT

;/**
; * FUNCTION_PURPOSE: This file set up uart in mode 1 (8 bits uart) with
; * timer 1 in mode 2 (8 bits auto reload timer).
; * FUNCTION_INPUTS: void
; * FUNCTION_OUTPUTS: void
; */
org 0100h

begin:
	MOV SCON, #50h;				  /* uart in mode 1 (8 bit), REN=1 */
	ORL TMOD, #20h;              /* Timer 1 in mode 2 */
	MOV TH1, #0FDh;              /* 9600 Bds at 11.059MHz */
	MOV TL1, #0FDh; 				  /* 9600 Bds at 11.059MHz */
	SETB ES; 						  /* Enable serial interrupt	*/
	SETB EA;						     /* Enable global interrupt */
	SETB TR1; 						  /* Timer 1 run */

   JMP $;                       /* endless */

;/**
; * FUNCTION_PURPOSE: serial interrupt, echo received data.
; * FUNCTION_INPUTS: P3.0(RXD) serial input
; * FUNCTION_OUTPUTS: P3.1(TXD) serial output
; */
serial_IT:
   JNB RI,EMIT_IT              ; test if it is a reception
       	CLR RI			       ; clear reception flag for next reception
	MOV A,SBUF                  ; read data from uart
        MOV SBUF,A		       ; write same data to uart
	LJMP END_IT 
EMIT_IT: 				
   CLR TI                    	 ; clear transmition flag for next transmition

END_IT:
   RETI

end

⌨️ 快捷键说明

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