📄 3_8_3.s43
字号:
#include "msp430x32x.h"
#define ADData R4 ;定义转换结果的存放位置
#define ADReady R7
RSEG CSTACK ;系统堆栈
DS 0
RSEG CODE ;程序代码段
Reset mov #SFE(CSTACK),SP ;初始化堆栈指针
mov #(WDTHOLD+WDTPW),&WDTCTL ;停掉看门狗
clr.b &IFG1 ;清所有中断标志
clr.b &IFG2
mov.b #ADIFG,&IE2 ;使能ADC中断
mov.b #0FFh,&LCDCTL ;设置液晶打开电源,4MUX模式
call #CLEARLCD
eint ;使能总中断
clr ADData ;清除ADC暂存寄存器内容
mov #ADIN_A1+ADRNG_AUTO+ADSOC,&ACTL
;设置 AC 为 SVcc ,
;输入通道为 A1, 自动量程,开始转换
clr ADReady
Loop cmp #0h,ADReady ;如果转换已经准备了
jz Loop ;则转换,否则等待
mov &ADAT,ADData ;取出转换结果
clr ADReady ;清除准备好单元
bis #ADSOC,&ACTL ;开始下一次转换
call #SETHEX ;写到液晶上显示
jmp Loop ;主循环
ADInt mov #01h,ADReady ; ADC14的中断服务程序,设置转换好单元
reti
COMMON INTVEC ;中断向量表
ORG RESET_VECTOR
DW Reset
ORG ADC_VECTOR
DW ADInt
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -