scon.asm

来自「18B20汇编程序」· 汇编 代码 · 共 82 行

ASM
82
字号

SCON_D:MOV R3,#9  ;把RAM中的内容发送到串口(9表示一共发送9位)
       MOV R1,#2FH;27H表示从27H地址发送
SBUF1: MOV A,@R1
       CLR TI
       MOV SBUF,A
       JNB TI,$
       DEC R1
       DJNZ R3,SBUF1
       RET
;---------------------------------------------------
;功能说明:将16进制温度转为ASCII码并通过串口发送出去
;---------------------------------------------------
BCD:ORL GW, #00110000B ;转换成ASCII码
    ORL SW, #00110000B ;转换成ASCII码
    ORL DSW,#00110000B ;转换成ASCII码
    ORL DGW,#00110000B ;转换成ASCII码

    MOV DPTR,#CHINA
S_CHINA:CLR A
        MOVC A,@A+DPTR
        cjne a,#'$',SBUF_C
        AJMP SCON_T

SBUF_C:MOV SBUF,A
       JNB TI,$
       CLR TI
       INC DPTR
       AJMP S_CHINA

SCON_T:CLR TI
       MOV A,SW
       MOV SBUF,A
       JNB TI,$;发送整数十位至串口

       CLR TI
       MOV A,GW
       MOV SBUF,A
       JNB TI,$ ;发送整数个位至串口

       CLR TI
       MOV A,#2EH
       MOV SBUF,A
       JNB TI,$ ;发送小数点至串口

       CLR TI
       MOV A,DSW
       MOV SBUF,A
       JNB TI,$ ;发送小数十位至串口

       CLR TI
       MOV A,DGW
       MOV SBUF,A
       JNB TI,$ ;发送小数十位至串口

       CLR TI
       MOV A,#0A1H
       MOV SBUF,A
       JNB TI,$
       CLR TI
       MOV A,#0E6H
       MOV SBUF,A
       JNB TI,$ ;发送符号℃至串口

        MOV DPTR,#CHINA1
S_CHINA1:CLR A
        MOVC A,@A+DPTR
        cjne a,#'$',SBUF_C1
        AJMP SCON_N

SBUF_C1:MOV SBUF,A
       JNB TI,$
       CLR TI
       INC DPTR
       AJMP S_CHINA1
SCON_N:
       RET

CHINA:DB 0DH 0AH,"  室温 ",'$'

CHINA1:DB 0DH 0AH,"  温外 ",'$'

⌨️ 快捷键说明

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