共2条
1/1 1 跳转至页
AD AD转换,请大家帮忙看看,解决一下。

问
我得F133AD程序如下
RESET mov.w #0300,SP ; Initialize stackpointer
StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT
SetupADC12 mov.w #SHT0_8+ADC12ON+REFON+REF2_5V,&ADC12CTL0 ; Sampling time, ADC12 on
mov.w #SHP,&ADC12CTL1 ; Use sampling timer
mov.w #01h,&ADC12IE ; Enable interrupt
bis.w #ENC,&ADC12CTL0 ;
bis.b #01h,&P6SEL ; P6.0 ADC option select
bis.b #01h,&P1DIR ; P1.0 output
;
Mainloop bis.w #ADC12SC,&ADC12CTL0 ; Start sampling/conversion
bis.w #CPUOFF+GIE,SR ; LPM0, ADC12_ISR will force exit
jmp Mainloop ; Again
;
;------------------------------------------------------------------------------
ADC12_ISR; Exit any LPMx on reti
;------------------------------------------------------------------------------
MOV &ADC12MEM0,R4
bic.w #CPUOFF,0(SP) ; Exit any LPM0 on reti
reti ;
;
;------------------------------------------------------------------------------
; Interrupt Vectors Used MSP430x13x/14x/15x/16x
;------------------------------------------------------------------------------
ORG 0FFFEh ; MSP430 RESET Vector
DW RESET ;
ORG 0FFEEh ; ADC12 Vector
DW ADC12_ISR ;
END
但程序烧到片子里后,把输入管脚接地和接2.5,其结果就是为0,不知道什么缘故,检查板子连接没有问题,输入也加了跟随器,不知道还有其他什么原因,欢迎请各位多发表意见。指点小妹。谢谢大家了。 答 1: 不用汇编!!! 答 2: 我试了下你的程序,稍做了下修改(进行了段定义)。这个程序没有问题。转换正常。
RESET mov.w #0300,SP ; Initialize stackpointer
StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT
SetupADC12 mov.w #SHT0_8+ADC12ON+REFON+REF2_5V,&ADC12CTL0 ; Sampling time, ADC12 on
mov.w #SHP,&ADC12CTL1 ; Use sampling timer
mov.w #01h,&ADC12IE ; Enable interrupt
bis.w #ENC,&ADC12CTL0 ;
bis.b #01h,&P6SEL ; P6.0 ADC option select
bis.b #01h,&P1DIR ; P1.0 output
;
Mainloop bis.w #ADC12SC,&ADC12CTL0 ; Start sampling/conversion
bis.w #CPUOFF+GIE,SR ; LPM0, ADC12_ISR will force exit
jmp Mainloop ; Again
;
;------------------------------------------------------------------------------
ADC12_ISR; Exit any LPMx on reti
;------------------------------------------------------------------------------
MOV &ADC12MEM0,R4
bic.w #CPUOFF,0(SP) ; Exit any LPM0 on reti
reti ;
;
;------------------------------------------------------------------------------
; Interrupt Vectors Used MSP430x13x/14x/15x/16x
;------------------------------------------------------------------------------
ORG 0FFFEh ; MSP430 RESET Vector
DW RESET ;
ORG 0FFEEh ; ADC12 Vector
DW ADC12_ISR ;
END
但程序烧到片子里后,把输入管脚接地和接2.5,其结果就是为0,不知道什么缘故,检查板子连接没有问题,输入也加了跟随器,不知道还有其他什么原因,欢迎请各位多发表意见。指点小妹。谢谢大家了。 答 1: 不用汇编!!! 答 2: 我试了下你的程序,稍做了下修改(进行了段定义)。这个程序没有问题。转换正常。
共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分 |