?? 電壓表.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 + -