disp.asm
来自「这段代码是关于用凌阳采集温度、并显示在数码管上的程序。」· 汇编 代码 · 共 136 行
ASM
136 行
//======================================================================
// 文件名称: DISP.ASM
// 功能描述: 在LED上显示DS18B20测量的温度值
// 维护记录:
//======================================================================
.external _fenli
.INCLUDE HARDWARE.INC
.external _SHIWEI
.external _GEWEI
.external _XIAOSHU
.external _XIAOSHU2
.data
TABLE: .dw 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
.code
.public _DISP
_DISP:
R3=BP
PUSH R3 TO [SP]
call _fenli
r1=1
[P_Watchdog_Clear] = R1; //清看门狗
r1=[P_IOA_Data]
r1=r1&0x00ff
[P_IOA_Data]=r1
r1=[P_IOA_Dir]
r1=r1|0xff00
[P_IOA_Dir]=r1
r1=[P_IOA_Attrib]
r1=r1|0xff00
[P_IOA_Attrib]=r1
R1=[P_IOB_Data]
R1=R1|0x0033
[P_IOB_Data]=r1
r1=[P_IOB_Dir]
R1=R1|0x0033
[P_IOB_Dir]=r1
r1=[P_IOB_Attrib]
r1=r1|0x0033
[P_IOB_Attrib]=r1
R1=[P_IOB_Data]
r1=r1&0xffcc
[P_IOB_Data]=r1
BP=TABLE
R1=[_SHIWEI]
BP=BP+R1
R1=[BP]
r1=r1 ROL 4
r1=r1 ROL 4
R1=R1&0xff00
R2=[P_IOA_Data]
r2=r2&0x00ff
r1=r1|r2
[P_IOA_Data]=r1
R1=[P_IOB_Data]
r1=r1|0x0033
r1=r1&0xFFCD
[P_IOB_Data]=r1
call _de1
r1=[P_IOB_Data]
r1=r1&0xffcc
[P_IOB_Data]=r1
BP=TABLE
R1=[_GEWEI]
BP=BP+R1
R1=[BP]
r1=r1 ROL 4
r1=r1 ROL 4
R1=R1&0xff00
R1=R1|0x8000
R2=[P_IOA_Data]
r2=r2&0x00ff
r1=r1|r2
[P_IOA_Data]=r1
r1=[P_IOB_Data]
r1=r1|0x0002
r1=r1&0xFFCE
[P_IOB_Data]=r1
call _de1
r1=[P_IOB_Data]
r1=r1&0xffcc
[P_IOB_Data]=r1
BP=TABLE
R1=[_XIAOSHU]
BP=BP+R1
R1=[BP]
r1=r1 ROL 4
r1=r1 ROL 4
R1=R1&0xff00
R2=[P_IOA_Data]
r2=r2&0x00ff
r1=r1|r2
[P_IOA_Data]=r1
r1=[P_IOB_Data]
r1=r1|0x0010
r1=r1&0xFFDC
[P_IOB_Data]=r1
CALL _de1
r1=[P_IOB_Data]
r1=r1&0xffcc
[P_IOB_Data]=r1
BP=TABLE
R1=[_XIAOSHU2]
BP=BP+R1
R1=[BP]
r1=r1 ROL 4
r1=r1 ROL 4
R1=R1&0xff00
R2=[P_IOA_Data]
r2=r2&0x00ff
r1=r1|r2
[P_IOA_Data]=r1
r1=[P_IOB_Data]
r1=r1|0x0020
r1=r1&0xFFEC
[P_IOB_Data]=r1
CALL _de1
r1=[P_IOB_Data]
r1=r1&0xffcc
[P_IOB_Data]=r1
POP R3 FROM [SP]
BP=R3
retf
_de1:.proc
r1=0x0160
de2:r1-=1
jnz de2
retf
.endp
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?