📄 adchange.asm
字号:
;********************************************************
; PROJECT NAME : nimh charger *
; Author : borg *
; VERSION : V0.0 *
; BODY : SN8P2704a *
; COMPILER : 1.99N *
; function : 12 bit ADCChange *
; input : *
; output : data1, data2 *
; use register : data1, data2, temp1, temp5, temp4 *
; use flag : *
; run cycles : *
; *******************************************************
; 一共进行16次$12 bit ADC转换
; 然后把转换的值加在一起求出平均值放在data1(low byte)和data2(high byte)
adcchange:
; mov ADM,A
clr Data1
clr Data2
clr Temp4
mov_ Temp5,#16
b0bset FADLEN ;select 12-bits ADC’s resolution
; bclr fgie
bset fadcks0
bset fadcks1
adcchange10:
b0bclr FEOC ;Progressing ADC
b0bset FADS ;start ADC
nop
adcchange20:
b0bts1 FEOC ;test the end of ADC
jmp adcchange20
mov A,ADR ;其中的低四位是ADC转换结果的低四位
and A,#0FH
mov Temp1,A
swap Temp1
add Temp4,A
mov A,ADB
adc Data1,A ;//;//For the low byte add carry
mov A,#0
adc Data2,A
decms Temp5
jmp adcchange10
mov A,temp4 ;//if the low bit of the Sum.>80h ++1
sub A,#80h
mov A,#00h
adc Data1,A
adc Data2,A
adcchange90:
; bset fgie
ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -