使用427A芯片学习做一个电子称系统,包括AD转换、键盘输入和12864显示,硬件焊接完成后键盘和显示调试成功。SD16AD转换使用外部参考电压1.4V,单步进行到SD16CCTL0 |= SD16SC; SD16控制寄存器值全部=0,转换无结果,改用内部1.2V参考电压时发现VREF脚电压为0V,单步到SD16CCTL0 |= SD16SC; SD16控制寄存器值全部=0,转换仍无结果,请各位老师赐教!不会是单片机有问题吧!程序如下:
#include <msp430x42x.h>
//void init_SD16();
int i;
//unsigned int results;
#define Num_of_Results 8
static unsigned int results[Num_of_Results];
void main(void)
{
WDTCTL=WDTPW+WDTHOLD;
IE2 |=BTIE;
FLL_CTL0 |=XCAP14PF;
BTCTL=BTDIV+BTIP2+BTIP1;
_EINT();
for(;;)
{
_BIS_SR(LPM3_bits+GIE);
_NOP();
}
}
#pragma vector =BASICTIMER_VECTOR
__interrupt void basic_timer(void)
{
_BIC_SR_IRQ(LPM3_bits);
for(i=0;i<10000;i++);
SD16CTL=SD16SSEL0;
SD16CCTL0 |= SD16IE ; // 使能中断
SD16CCTL2 |= SD16SNGL; // Single conv dl
for (i = 0; i < 0x3600; i++); // Delay for 1.2V ref startup
SD16CCTL0 |= SD16SC; // Set bit to start conversion
_NOP();
}
#pragma vector=SD16_VECTOR
__interrupt void SD16ISR(void)
{
static unsigned int index = 0;
switch (SD16IV)
{
case 2: // SD16MEM Overflow
break;
case 4: // SD16MEM0 IFG
results[index] = SD16MEM0; // Save CH2 results (clears IFG)
if (++index == Num_of_Results)
{
index = 0; // SET BREAKPOINT HERE dl
}
break;
case 6: // SD16MEM1 IFG
break;
case 8: // SD16MEM2 IFG
break;
}
//_BIC_SR_IRQ(LPM3_bits); // Exit LPM0
}
yz l:
回复 Xutong Han2:
尊敬的Xutong Han2老师:
您好!再次感谢您的赐教!按照您所赐的方法,我给芯片427A的 A0.0+加了1.1V电压,A0.0-接电压地,VREF和AVSS接了100uF电容。再次下载官方测试程序,调试结果任然读不出转换结果。单步运行到
1. SD16CCTL0 = SD16SNGL+SD16GRP; 时 (SD16CCTL0=0x0401)
2. SD16CCTL1 = SD16SNGL+SD16GRP; 时 SD16CCTL1 =0x0401
3. SD16CCTL2 = SD16SNGL+SD16IE; 时 SD16CCTL2=0x0408
运行到SD16CCTL2 |= SD16SC; 时SD16CCTL0、1、2全部等于0,程序跳到1….2…3…如此重复2次后有跳到main()前面
SD16MEM0、SD16MEM1、SD16MEM2始终等于0,也无结果。是何原因?敬请赐教! 甘肃省平凉市 柳玉柱
Xutong Han2:
回复 yz l:
你直接在 这条语句前增加断点_BIS_SR(LPM0_bits); 然后让单片机全速运行,查看ADC的数值 不要单步运行 试试这样可以得到数据不,
yz l:
回复 Xutong Han2:
Xutong Han2老师,您好!
按照您的吩咐,在低功耗模式命令前面设置断点,程序全速运行多次仍然读不出转换结果。使用万用表测量出内部参考电压=1.2V。从SD16的控制寄存器工作正常,各引脚输出电压也正常,显示和键盘可以正常工作,参考电压正常来看,单片机应该是好的,SD16模块好像是好的,但是为什么读不出转换结果?
Xutong Han2:
回复 yz l:
你如果有其他的板子可以在其他的板子上试试,或者试试其他官方的程序,首先排除硬件问题~
Xutong Han2:
回复 yz l:
程序附在附件中了~
yz l:
回复 Xutong Han2:
谢谢!