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

📄 电压表.txt

📁 数字电压表的汇编源程序,大家多多关照,指点一二.
💻 TXT
字号:
数字电压表

.include hardware.inc
.ram
.var k_h
.var k_d
.var h_h
.var h_d
.var t_h
.var t_d
.var a_h
.var a_d
.code
.public _main
_main:
    r1=0ffffh
    r2=0ff00h
    [p1d]=r1           //P_IOB_Dir
    [p1a]=r2           //P_IOB_Attrib
    [p1]=r2             //P_IOB_Data
    
    r1=3dh
    [adu]=r1           //P_AD_Ctrl
    r1=3
    [admuxu]=r1     //P_ADC_MUX_Ctrl
start:
    r1=1
    [wdogc]=r1       //P_Watchdog_Clear
    r2=3380      
    r1=[adu]          //这里应该读P_ADC_MUX_Ctrl,而不是P_AD_Ctrl
    test r1,8000h
    jz start
    r1=[adl]            //P_ADC_MUX_Data
    mr=r1*r2,us      //为何要乘以3380,转换结果为P_ADC_MUX_Data的B15~B6
    r3=1000
    r4+=18
    cmp r4,1000
    jb cch1
    call bcd
    [k_h]=r2
    jmp cch
cch1:
    r2=0
    [k_h]=r2
cch:
    r3=100
    cmp r4,100
    jb cct1
    call bcd
    [h_h]=r2
    jmp cct
cct1:
    r2=0
   [h_h]=r2
cct:
    r3=10
    cmp r1,10
    jb cca1
    call bcd
    [t_h]=r2
    jmp cca
cca1:
    r2=0
    [t_h]=r2
cca:
    [a_h]=r4
     
    r5=tab
    r1=r5+[k_h]
    r1=[r1]
    r1+=400h
    [k_d]=r1
    r1=r5+[h_h]
    r1=[r1]
    r1+=200h
    [h_d]=r1
    r1=r5+[t_h]
    r1=[r1]
    r1+=100h
    [t_d]=r1
    r1=r5+[a_h]
    r1=[r1]
    r1+=800h
    [a_d]=r1
    
    r1=[k_d]
    [p1]=r1
    call delay
    r1=[h_d]
    [p1]=r1
    call delay
    r1=[t_d]
    [p1]=r1
    call delay
    r1=[a_d]
    [p1]=r1
    call delay
    goto start    
    
delay:.proc
    r1=1
    [wdogc]=r1
    r1=5h
lop1:
    r2=5h
lop2:
    r2-=1
    jnz lop2
    r1-=1
    jnz lop1
    retf
    .endp
    
bcd:.proc
    r2=0
div:
    r2+=1
    r4-=r3
    cmp r4,r3
    jae div
    retf
    .endp
    
.data  
tab:.dw 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

⌨️ 快捷键说明

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