📄 82c51_t.asm
字号:
;(27)实验六、82C51发送数据实验
;文件名称: 82C51_TXD.ASM
;----------------------------------------------------------
NAME T82C51_TXD
$NOLIST
$INCLUDE(LJD_2008.INC)
$LIST
;===========================================================
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN: MOV SP,#60H
Mov R3,#0AH
mov 50H,#00h
mov R0,#50H
;-----------------------------------------------------------
;8253的初始化程序,在通道产生频率
;波特率计算方法: 波特率=fout/16=fclk/16N
; 波特率=9600;那么 N= fclk/16*9600 =1.8432M/16*9600=48=30H
;-----------------------------------------------------------
MOV DPTR,#W_D_82C53 ;0通道,控制接收
MOV A,#36H ;
MOVX @DPTR,A
MOV DPTR,#W_0_82C53
MOV A,#30H ;bute=频率9600bp
MOVX @DPTR,A
MOV A,#00H
MOVX @DPTR,A
;-----------------------------------------------------------
;82C51的初始化程序
;-----------------------------------------------------------
MOV DPTR,#W_C_82C51 ;82C51的命令口
MOV A,#7EH
MOVX @DPTR,A ;送82C51的控制命令
MOV A,#37H
MOVX @DPTR,A
;-----------------------------------------------------------
;发送30H-----39H 10个数据到计算机
;------------------------------------------------------------
MOV DPTR,#W_D_82C51 ;82C51的数据口
MOV A,#30H
MOVX @DPTR,A
SEND1: LCALL SENDCAR ;调用发送子程序
INC R0
MOV A,R0
CJNE A,#5AH,SEND1
MOV R0,#50H
SJMP $
;===========================================================
SENDCAR: MOV DPTR,#R_B_82C51 ;发送子程序
WAITEND: MOVX A,@DPTR
RRC A
JNC WAITEND
MOV A,@R0
INC @R0 ;字符存放的变量
MOV DPTR,#W_D_82C51
MOVX @DPTR,A
RET
;-----------------------------------------------------------
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -