智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2169|回复: 2
打印 上一主题 下一主题

AD转换的问题求助

[复制链接]

7

主题

120

帖子

0

精华

高级会员

Rank: 4

积分
614
威望
438
贡献
142
兑换币
52
注册时间
2010-12-31
在线时间
17 小时
跳转到指定楼层
1#
发表于 2011-1-28 17:00:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟打算把AD采样的值用4位8段数码管显示出来,程序不知道哪里出错了,就是显示不正确,哪位高人能指点指点啊!

void main(void)
{  /* put your own code here */
   uint temp;
   uint getdata;
  
  ADCInit();   //AD初始化
  DDRA = 0xFF;   //端口定义为out
  DDRB = 0xFF;   //端口定义为OUT
  PORTA  = 0xFF;   //端口拉1, on  LED
  PORTB  = 0xFF;   //端口拉1,off LED
  
  /* put your own code here */
  EnableInterrupts;
  for(;;)
  {   
      ATD0CTL5=0xA0;
        
      while(!ATD0STAT0_SCF);  //等待转换结束
        
      getdata =ATD0DR0;  ****问题估计出在这里,AD结果寄存器的数据能这样用么?我仿照的是ADC0809的程序********
      
      temp=(getdata)/255*500;
   
      dispbuf[0]=temp%10; // 个位
      dispbuf[1]=temp/10%10;//十位
      dispbuf[2]=temp/100%10;//百位
      dispbuf[3]=temp/1000;//千位
      Display();
   
  } /* wait forever */
  /* please make sure that you never leave this function */
}

8

主题

56

帖子

0

精华

高级会员

Rank: 4

积分
644
威望
347
贡献
157
兑换币
221
注册时间
2013-4-3
在线时间
70 小时
毕业学校
黑龙江八一农垦大学
2#
发表于 2013-7-15 14:19:54 | 只看该作者
直接将(getdata)给IO端口就可以了啊,转换出来的是二进制数据了
回复 支持 反对

使用道具 举报

30

主题

333

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2063
威望
1008
贡献
633
兑换币
600
注册时间
2013-3-9
在线时间
211 小时
毕业学校
杭州电子科技大学
3#
发表于 2013-7-30 19:47:53 | 只看该作者
=ATD0R0L
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-26 15:00 , Processed in 0.149663 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表