共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 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 三分钟快速搭建NXP MCU开发环境(VSCode)被打赏¥22元 | |
| 为遥控小车巧添功能被打赏¥26元 | |
| 【S32K3XX】FlexCAN 模块配置使用被打赏¥30元 | |
| 【S32K3XX】FlexCAN RAM 资源分配整理被打赏¥25元 | |
| 【S32K3XX】IPCF 适配核间中断处理被打赏¥21元 | |
| 【S32K3XX】IPCF 核间通讯模块UNMANAGED方式使用被打赏¥29元 | |
| 片外存储Flash使用方法(Arduino IDE环境)被打赏¥22元 | |
| 三分钟快速上手ESP-NOW(ArduinoIDE环境)被打赏¥23元 | |
| 【S32K3XX】LPSPI参数配置说明被打赏¥21元 | |
| 在WT9932C61-TINY上实现超声波测距被打赏¥22元 | |
我要赚赏金
