
VMX51C900
ADC中断
喜欢上了VMX51C900 , A / D转换等外设
转换器可以产生一个中断给处理器
一旦转换完成。中断向量
与A / D转换器相关的04Bh 。
该IP1 , IEN1和国际金融机构的特殊功能寄存器控制
ADC中断。
要激活ADC中断,的的ADCIE位
IEN1寄存器必须被设置,以及一般的
中断位EA位7 IEN0寄存器。
T
ABLE
48: I
NTERRUPT
E
NABLE
R
EGISTER
( IEN1 , A9
H
)
当ADC中断,并授权一个
转换完成后, IF1的ACDIF标志
寄存器将被设置为1。一旦ADC中断子程序
执行时, ADCIF会被自动清除。
T
ABLE
50: I
NTERRUPT
F
LAG
R
EGISTER
( IF1 , AA
H
)
7
-
3
ADCIF
位
7:4
3
助记符
-
ADCIF
6
-
2
-
5
-
1
-
4
-
0
-
7
-
3
ADCIE
位
7:4
3
助记符
-
ADCIE
6
-
2
-
5
-
1
-
描述
未使用
ADC中断使能
0 = ADC中断禁止
1 = ADC中断使能
未使用
4
-
0
-
2:0
-
描述
未使用
ADC中断标志
将被设置为1,如果ADC中断
发生了。时自动清零
在中断服务程序。
未使用
ADC初始化&使用(通过中断)
下面的代码示例演示了基本的
用于配置VMX51C900 A / D转换器的步骤
然后使用ADC中断检索转换
结果。在ADCCTRL寄存器的ADCEND位可
可用于监测当A / D转换过程
被终止。
; ***复位向量
ORG 0000H
LJMP开始
; *** ADC中断跳转向量***
ORG 04BH
LJMP IRQADC
;进入ADC中断服务程序
2:0
-
默认情况下, ADC中断设置为低优先级。
然而,设置IP1寄存器的ADCIP位会
给ADC的优先级越高。
T
ABLE
49: I
NTERRUPT
P
RIORITY
R
EGISTER
( IP1 , B9
H
)
7
-
3
ADCIP
位
7:4
3
助记符
-
ADCIP
6
-
2
-
5
-
1
-
4
-
0
-
; ***主要程序启动***
ORG 0100H
START :
MOV
SP,#0C0H
; INITIALISE堆栈指针
; ***初始化A / D转换器
MOV
MOV
P3IOCTRL,#01000000B
ADCCTRL,#01001000B
; CONFIG P3.6 -> ADCIN2
; CONFIG ADCCTRL
7 ADCEND = 0
6 ADCCONT = CONT CONV 。
5 : 4 ADCCLK = FOSC / 8
; 3:2 ADCCH = ADCI2
1 : 0未使用
;带FOSC = 11.059MHz
; CONV率69.1KHz
;允许ADC中断
;使能通用中断
2:0
-
描述
未使用
ADC中断优先级
0 = ADC中断为低优先级
1 = ADC中断为高优先级
未使用
ADCGO :
MOV ADCVALUE , # 00H
MOV IEN1 , # 00001000B
SETB EA
(…)
;***************************
* ADC中断
;***************************
IRQADC :
MOV ADCVALUE , ADCDATA
RETI
; RETRIEVE ADCDATA
______________________________________________________________________________________________
www.ramtron.com
第40页55