[汇总]STC12C5A系列双串口51汇编程序集锦
STC12C5A系列双串口51汇编程序集锦
;************STC12C5A32S2**********************************
****************
;**********************************************************
****
;================COM1接收子程序====以'0A'为结束码=============
COM1_R: PUSH ACC
PUSH PSW
MOV DP, #00H
JNB RI, COM1_RE
MOV A,SBUF
CJNE A, #0AH, COM1_R2 ;不等转移 '0A'为结束码
MOVX @DPTR, A
MOV DPTR_BL, DPL
MOV DPTR_BH, DPH
MOV DPTR, #0100H
;---------------------判断结束后,从地址#0100H提取数据从串口传出----------
COM1_R1: MOVX A, @DPTR
CALL COM1_S
INC DPTR
MOV A, DPH
CJNE A, DPTR_BH, COM1_R1 ;不等转移
MOV A, DPL
CJNE A, DPTR_BL, COM1_R1 ;不等转移
MOV DPTR, #0100H
AJMP COM1_RE
;----------------------------------------------------------
----
COM1_R2: MOVX @DPTR, A ;存储在DPTR指定的地址,开始地址为#0100H
COM1_R3: INC DPTR
COM1_RE: CLR RI
POP PSW
POP ACC
RETI
;=================COM1发送子程序
==============================================
COM1_S: MOV SBUF, A COM1_SW: JBC TI, COM1_SE
CALL PUT_DOG
AJMP COM1_SW
COM1_SE: RET
===========================================================
=================
;=================COM2接收子程序====以'0A'为结束码=======================
COM2_R: PUSH ACC
PUSH PSW
MOV DP, #01H
MOV A, S2CON
ANL A, #01H
CJNE A, #01H, COM2_RE ;不等转移
MOV A, S2CON
ANL A, #0FEH
MOV S2CON, A
MOV 54H, S2BUF
MOV A, S2BUF
CJNE A, #0AH, COM2_R2 ;不等转移
MOVX @DPTR, A
MOV DPTR1_BL, DPL
MOV DPTR1_BH, DPH
MOV DPTR, #0280H ;地址为#0280H
COM2_R1: MOVX A, @DPTR
MOV 54H, A
CALL COM2_S
INC DPTR
MOV A, DPH
CJNE A, DPTR1_BH, COM2_R1 ;不等转移
MOV A, DPL
CJNE A, DPTR1_BL, COM2_R1 ;不等转移
MOV DPTR, #0280H
AJMP COM2_RE
COM2_R2: MOVX @DPTR, A
MOV A, DPH
CJNE A, #03H, COM2_R3 ;不等转移
MOV A, DPL
CJNE A, #0FFH, COM2_R3 ;不等转移
AJMP COM2_RE
COM2_R3: INC DPTR
COM2_RE: MOV A, S2CON
ANL A, #0FDH
MOV S2CON, A
POP PSW
POP ACC RETI
;===================COM2发送子程序============================================
COM2_S: MOV IE2, #00H
MOV A, S2CON
ANL A, #0FDH
MOV S2CON, A
MOV S2BUF, 54H ;----------------------------------------------------------
----
COM2_SW:MOV A, S2CON
ANL A, #02H
CJNE A, #02H, COM2_SW
MOV A, S2CON
ANL A, #0FDH
MOV S2CON, A
MOV IE2, #01H RET
;**********************************************************
****
;**********************************************************
****
;**************************************************************
-------------串口 1和2初始化设置-------------
;===============================================================
COM1_SET:MOV SCON, #50H ;设置成串口1方式
;ORL PCON,#80H ;SMOD=1
MOV BRT, #RELOAD_M1
MOV AUXR, #11H
SETB ES ;以上完成通讯初始化设置
SETB EA ;允许T0、T1中断
RET
;===============================================================
COM2_SET:MOV S2CON, #50H
;S2SM0,S2SM1,S2SM2,S2REN,S2TB8,S2RB8,S2TI,S2RI
MOV BRT, #RELOAD_M2
MOV AUXR, #11H ;SETB ES2 ;X,X,X,X,SMOD2,X,ESPI,ES2 19 SMOD2=1
MOV IE2, #01H
SETB EA
RET
;===============================================================
;**************************************************************
;**********************************************************
****
;*********************主程序
*******************************
;**********************************************************
****
MAIN:
BEGIN_SET:
;---------------------串口寄存器设置
-----------------------------------------
DP EQU 0A2H ;DPTR=00,DPTR1=01
S2CON EQU 09AH
;S2SM0,S2SM1,S2SM2,S2REN,S2TB8,SRB8,S2TI,S2RI
S2TI BIT 09BH
S2RI BIT 09AH
IE2 EQU 0AFH ;X,X,X,X,X,X,ESPI,ES2
ES2 BIT 0AFH
S2BUF EQU 09BH
AUXR EQU 08EH
BRT EQU 09CH
RELOAD_M1 EQU 0FDH ;,SMOD=0,fd=9600 fa=4800 fa=2400
RELOAD_M2 EQU 0FDH ;,SMOD=0,fd=9600 fa=4800 fa=2400
;----------------------------------------------------------
----
MOV DP, #00H
CALL COM1_SET
CALL COM2_SET
BEGIN: AJMP BEGIN
RET
;--------------------------------------------------------------
;**************************************************************
;**************************************************************
;**************************************************************
本文档为【[汇总]STC12C5A系列双串口51汇编程序集锦】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。