智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 5330|回复: 11
打印 上一主题 下一主题

AD的转换呀~!

[复制链接]

10

主题

126

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2604
威望
567
贡献
1795
兑换币
130
注册时间
2009-6-6
在线时间
121 小时
跳转到指定楼层
1#
发表于 2010-3-24 17:52:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #include <hidef.h> /* common defines and macros */
  2. #include "derivative.h" /* derivative-specific definitions */
  3. #pragma LINK_INFO DERIVATIVE "mc9s12xs128"
  4. word *AD_wValue;

  5. /*时钟初始化*/
  6. void PLL_Init(void)
  7. {
  8. REFDV=1;
  9. SYNR=2;
  10. while(!(CRGFLG&0x08));
  11. CLKSEL=0x08;
  12. }
  13. /*AD初始化*/
  14. void AD_Init(void)
  15. {
  16. ATD0CTL1=0x00; //八位精度,无采样预充电,禁止外部触发
  17. ATD0CTL2=0x40; //快速清零,停止模式下AD转换停止,忽略外部触发,禁止中断,禁止比较中断
  18. ATD0CTL3=0xA4; //右对齐,4位长度(其实只用了一位),结果寄存器映射到转化序列,Freeze模式下继续转换
  19. ATD0CTL4=0x05; //四倍采样时钟,PRS=10,ATDclock=[busclock/2*(PRS+1)]=12/6=2MHZ
  20. ATD0CTL5=0x20; //禁止特殊转换模式,连续转换模式,单通道采样,通道0
  21. ATD0DIEN=0x00; //禁止数字输入
  22. }
  23. /*读取AD转换结果*/
  24. void AD_GetValue(word *AD_wValue)
  25. {
  26. *AD_wValue=ATD0DR0;
  27. }




  28. void main(void)
  29. {
  30. PLL_Init();
  31. AD_Init();
  32. DDRB=0xFF;
  33. PORTB=0x00;
  34. EnableInterrupts;
  35. for(;;)
  36. {
  37. while(!ATD0STAT2_CCF0);
  38. while(ATD0STAT2_CCF0==1)
  39. AD_GetValue(&AD_wValue);
  40. PORTB=(byte)AD_wValue;

  41. } /* loop forever */
  42. /* please make sure that you never leave main */
  43. }
复制代码

这个怎么在bdm模式下总是亮不了?我是给AD0口接了一个光电管,光电管的地和芯片地接在一起了,大家告诉我吧~谢谢~!哪儿错了?

10

主题

126

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2604
威望
567
贡献
1795
兑换币
130
注册时间
2009-6-6
在线时间
121 小时
2#
 楼主| 发表于 2010-3-24 17:57:29 | 只看该作者
我感觉还是参考电压的问题,郁闷,除了要共地还有什么要求?
回复 支持 反对

使用道具 举报

10

主题

126

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2604
威望
567
贡献
1795
兑换币
130
注册时间
2009-6-6
在线时间
121 小时
3#
 楼主| 发表于 2010-3-24 18:09:09 | 只看该作者
不管怎么接都是ffff,难道bdm模式下参考电压,AD电源什么的都没接?,看电路图在BDM模式下都应该也是有电的呀?怎么回事?谢谢哦!希望得到解决~
回复 支持 反对

使用道具 举报

21

主题

1019

帖子

0

精华

常驻嘉宾

我爱雯婕

Rank: 8Rank: 8

积分
4657
威望
2223
贡献
1682
兑换币
4
注册时间
2009-3-4
在线时间
376 小时
4#
发表于 2010-3-24 19:11:55 | 只看该作者
回复 3# laugh007smile
BDM模式下要接參考電壓以及ATD模塊的電壓。
回复 支持 反对

使用道具 举报

10

主题

126

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2604
威望
567
贡献
1795
兑换币
130
注册时间
2009-6-6
在线时间
121 小时
5#
 楼主| 发表于 2010-3-24 19:17:36 | 只看该作者
那我问一下楼上的,那不是我看原理图BKGD的5V电压不也是接着的么?,也就是说,BDM模式下,芯片也是有5V供电的,此时不是AD的参考电压以及电源也接在上面了么?
那按你的意识是说我还要在另外稳个5V的电压,接给AD的参考电压和AD电源么?我理解的对么?
回复 支持 反对

使用道具 举报

10

主题

126

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2604
威望
567
贡献
1795
兑换币
130
注册时间
2009-6-6
在线时间
121 小时
6#
 楼主| 发表于 2010-3-24 19:18:20 | 只看该作者
回复 4# chenrunshe_007


    那我问一下楼上的,那不是我看原理图BKGD的5V电压不也是接着的么?,也就是说,BDM模式下,芯片也是有5V供电的,此时不是AD的参考电压以及电源也接在上面了么?
那按你的意识是说我还要在另外稳个5V的电压,接给AD的参考电压和AD电源么?我理解的对么?
回复 支持 反对

使用道具 举报

10

主题

126

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2604
威望
567
贡献
1795
兑换币
130
注册时间
2009-6-6
在线时间
121 小时
7#
 楼主| 发表于 2010-3-24 20:03:38 | 只看该作者
回复 4# chenrunshe_007
我测了一下在BDM模式下,电源是5V,然后AD的参考电压也是与电源接在一起的,应该也是5V呀,寄存器里还是八个一?我郁闷~
回复 支持 反对

使用道具 举报

21

主题

1019

帖子

0

精华

常驻嘉宾

我爱雯婕

Rank: 8Rank: 8

积分
4657
威望
2223
贡献
1682
兑换币
4
注册时间
2009-3-4
在线时间
376 小时
8#
发表于 2010-3-24 23:28:52 | 只看该作者
回复 7# laugh007smile
我沒看過你的原理圖,所以不太敢妄下定論,不同的產家製作的核心板不一樣,有的連有的沒有連,你不妨試一下接上參考電壓以及ATD模塊的電壓看看。
回复 支持 反对

使用道具 举报

21

主题

1019

帖子

0

精华

常驻嘉宾

我爱雯婕

Rank: 8Rank: 8

积分
4657
威望
2223
贡献
1682
兑换币
4
注册时间
2009-3-4
在线时间
376 小时
9#
发表于 2010-3-24 23:29:43 | 只看该作者
回复 7# laugh007smile
“然后AD的参考电压也是与电源接在一起的,应该也是5V呀”,沒有應該的說法,什麽都要試過才知道。
回复 支持 反对

使用道具 举报

10

主题

126

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2604
威望
567
贡献
1795
兑换币
130
注册时间
2009-6-6
在线时间
121 小时
10#
 楼主| 发表于 2010-3-25 12:55:49 | 只看该作者
回复 9# chenrunshe_007
我算是解决了,嘿嘿,谢谢~跳线接触不良~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-20 01:16 , Processed in 0.050207 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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