共2条
1/1 1 跳转至页
ADC12 刘工:请帮助ADC12转换问题

问
#include "MSP430x13x.h"
;单通道单次转换
; MSP430F135
; ---------------
; | |
; | A0 (P6.0)|<---- Vin
; | |
;------------------------------------------------------------
main ORG 0c000H ; Program Start
;------------------------------------------------------------
RESET
mov #0A00h,SP ; Initialize stackpointer
StopWDT
mov #WDTPW+WDTHOLD,&WDTCTL ; Stop watchdog
bis.b #BIT0,&P6SEL ; Enable A/D channel A0
SetupADC12
mov #ADC12ON+SHT0_2,&ADC12CTL0
mov #SHP,&ADC12CTL1 ; Use sampling timer
bis #ENC,&ADC12CTL0 ; Enable conversions
Mainloop
bis #ADC12SC,&ADC12CTL0 ; Start conversions
testIFG
bit #BIT0,&ADC12IFG ; Conversion done?
jz testIFG ; No, test again
mov &ADC12MEM0,R5 ; Move result
jmp Mainloop ; SET BREAKPOINT HERE
;-------------------------------------------------------------------
; Interrupt Vectors
;-------------------------------------------------------------------
ORG 0FFFEh ; MSP430 RESET Vector
DW RESET ;
END
;这个程序是用A0输入的.我想用A1输入,怎样改,我试了多次都不行.请帮帮我! 答 1: bis.b #BIT1,&P6SEL ; Enable A/D channel A1
mov.b #INCH_1,&ADC12MCTL0; 答 2: 楼上的兄台:谢谢了!
我试了两天,应该是:ADC12CTL1=CONSEQ_0+SHP+CSTARTADD_1
ADC12MCTL1=INCH_1
这样才能选A1做AD通道. 答 3: 引用: 答 4: 样例中找一下。 答 5: 引用:
;单通道单次转换
; MSP430F135
; ---------------
; | |
; | A0 (P6.0)|<---- Vin
; | |
;------------------------------------------------------------
main ORG 0c000H ; Program Start
;------------------------------------------------------------
RESET
mov #0A00h,SP ; Initialize stackpointer
StopWDT
mov #WDTPW+WDTHOLD,&WDTCTL ; Stop watchdog
bis.b #BIT0,&P6SEL ; Enable A/D channel A0
SetupADC12
mov #ADC12ON+SHT0_2,&ADC12CTL0
mov #SHP,&ADC12CTL1 ; Use sampling timer
bis #ENC,&ADC12CTL0 ; Enable conversions
Mainloop
bis #ADC12SC,&ADC12CTL0 ; Start conversions
testIFG
bit #BIT0,&ADC12IFG ; Conversion done?
jz testIFG ; No, test again
mov &ADC12MEM0,R5 ; Move result
jmp Mainloop ; SET BREAKPOINT HERE
;-------------------------------------------------------------------
; Interrupt Vectors
;-------------------------------------------------------------------
ORG 0FFFEh ; MSP430 RESET Vector
DW RESET ;
END
;这个程序是用A0输入的.我想用A1输入,怎样改,我试了多次都不行.请帮帮我! 答 1: bis.b #BIT1,&P6SEL ; Enable A/D channel A1
mov.b #INCH_1,&ADC12MCTL0; 答 2: 楼上的兄台:谢谢了!
我试了两天,应该是:ADC12CTL1=CONSEQ_0+SHP+CSTARTADD_1
ADC12MCTL1=INCH_1
这样才能选A1做AD通道. 答 3: 引用: 答 4: 样例中找一下。 答 5: 引用:
共2条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
C语言函数宏的三种封装方式被打赏50分 | |
【STM32F769】记一次由于开启D-Cache之后DMA数据传输出错的问题查找与解决被打赏35分 | |
嵌入式LinuxC语言程序调试和宏使用技巧被打赏50分 | |
让代码中包含最新的编译时间信息被打赏50分 | |
【分享开发笔记,赚取电动螺丝刀】STM32F769LVGL优化显示被打赏26分 | |
rtthread硬件加密--2crc加密分析被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】STM32F769驱动ST7789以及显示优化被打赏36分 | |
【分享开发笔记,赚取电动螺丝刀】S32K146 PAL模拟I2C驱动适配被打赏23分 | |
我想要一部加热台+电源硬件设计规范被打赏16分 | |
我想要一部加热台+LED背光驱动芯片RT9293知识被打赏18分 |