嵌入式学习小组
直播中

马丹丹

8年用户 186经验值
私信 关注

为什么protues里无法仿真430的AD转换?

本人最近在用MSP430F249仿真AD转换,用1602显示转换的数据,我不知道为什么,试了很多办法,总是显示不出数据,我在想是不是protues里无法仿真430的AD转换呢?请大神指点。这是我的程序和仿真图,请大神们指教。

回帖(18)

黄辉

2019-9-5 10:54:39
我用单通道单次转换试了
  能读出来数据
  Proteus7.8版读的不准但有数据
  Proteus8.1版很准确
  

  

  

  
void main(void)
{

uchar i;
WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
P3DIR = 0XFF;P3OUT = 0XFF;            //端口配置
P4DIR = 0XFF;P4OUT = 0XFF;
ADC12CTL0 = SHT0_2 + ADC12ON;             // Set sampling time, turn on ADC12
ADC12CTL1 = SHP;                          // Use sampling timer
ADC12IE = 0x01;                           // Enable interrupt
ADC12CTL0 |= ENC;                         // Conversion enabled
P6SEL |= 0x01;                            // P6.0 ADC option select

Init_LCD();
for (;;)
{
ADC12CTL0 |= ADC12SC;                   // Sampling open
_BIS_SR(GIE);                           // LPM0, ADC12_ISR will force exit
for(i=0;i<4;i++)
{
LCD_Wdat(a1+0x30);
}

}
}

// ADC12 interrupt service routine
#pragma vector=ADC12_VECTOR
__interrupt void ADC12_ISR (void)
{
ADC_Result=ADC12MEM0;
a1[0]=(ADC_Result)/1000;
a1[1]=(ADC_Result)/100%10;
a1[2]=(ADC_Result)%100/10;
a1[3]=(ADC_Result)%10;
}
  
  这是我的单通道设置直接显示ADC_MEM的值没有处理
  后面注释不用管
举报

杨天舒

2019-9-5 11:11:51
受到警告
提示: 作者被禁止或删除 内容自动屏蔽
举报

王欣

2019-9-5 11:23:53
非常感谢你,看了你的程序,我大概知道自己问题出在哪儿了。真的谢谢你。
举报

刘兵

2019-9-5 11:34:46
我想问一下,你说的protues7.8版本仿真不准是什么情况?我把自己的程序改了,结果是这样的,这是什么情况?
举报

更多回帖

×
20
完善资料,
赚取积分