智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 5803|回复: 10
打印 上一主题 下一主题

ATD

[复制链接]

0

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
413
威望
257
贡献
102
兑换币
0
注册时间
2009-2-22
在线时间
27 小时
跳转到指定楼层
1#
发表于 2009-4-29 21:10:18 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
#include <hidef.h>      /* common defines and macros */
#include <MC9S12XS128.h>     /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12xs128"
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void wait() {
  int i,j;
  for(i=0;i<2000;i++)
    for(j=0;j<1335;j++) ;
}
void ADCInit(void)
{ ATD0CTL1=0x00;   //7:1-外部触发,65:00-8位精度,4:放电,3210:ch
  ATD0CTL2=0x42;   //禁止外部触发, 中断允许   
  ATD0CTL3=0xa0;   //右对齐无符号,每次转换4个序列, No FIFO, Freeze模式下继续转   
  ATD0CTL4=0x01;   //765:采样时间为4个AD时钟周期,ATDClock=[BusClock*0.5]/[PRS+1]
  ATD0CTL5=0x20;   //6:0特殊通道禁止,5:1连续转换 ,4:0单  通道轮流采样
  ATD0DIEN=0x00;   //禁止数字输入
}
word AD_wData = 0;
void main(void) {
  DisableInterrupts;
  ADCInit();   
  DDRB = 0xFF;    //数据方向寄存器为输出
  PORTB  = 0x00;
  EnableInterrupts;
  for(;;) { }
}
void interrupt 22 Int_AD0(void)
{
   DisableInterrupts;
   AD_wData = ATD0DR0;  //Read out the Result Register
   PORTB = (byte)AD_wData;
      wait();
   EnableInterrupts;
}
这段程序调试通过了,把一模拟量输入到AN00,把电源的负极接到GND,给已下好程序的单片机通电。这样能采集吗  ???是否接线有问题啊   我采集时,PORTB口灯一直亮。没什么现象

5

主题

92

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1145
威望
694
贡献
117
兑换币
10
注册时间
2011-5-20
在线时间
167 小时
11#
发表于 2011-9-17 22:04:53 | 只看该作者
这个PRS是和什么怎么对应的啊?
回复 支持 反对

使用道具 举报

9

主题

78

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
457
威望
328
贡献
43
兑换币
0
注册时间
2009-11-25
在线时间
43 小时
10#
发表于 2010-3-16 16:00:02 | 只看该作者
回复 1# fangweidong


    我的AD也有这种问题怎么解决的啊
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
261
威望
207
贡献
46
兑换币
24
注册时间
2009-3-31
在线时间
4 小时
9#
发表于 2009-7-4 15:43:02 | 只看该作者
我也有这种问题,如何解决啊????
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
228
威望
176
贡献
22
兑换币
0
注册时间
2009-3-6
在线时间
15 小时
8#
发表于 2009-5-30 09:55:29 | 只看该作者
LZ用中断方式调出来了吗??时间是否比查询方式用时更少啊??
回复 支持 反对

使用道具 举报

0

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
413
威望
257
贡献
102
兑换币
0
注册时间
2009-2-22
在线时间
27 小时
7#
 楼主| 发表于 2009-5-24 21:49:06 | 只看该作者
6# chiusir 我想每行采集48点,怎么设定BusClock,ATD时钟分频因子,摄像头是380线的。XS128    ATD时间为3微妙,怎么算来的啊
回复 支持 反对

使用道具 举报

80

主题

1045

帖子

0

精华

跨届大侠

北京龙邱智能科技有限公司

Rank: 10Rank: 10Rank: 10

积分
10332

论坛元老奖章

QQ
威望
2905
贡献
6151
兑换币
4515
注册时间
2008-6-7
在线时间
638 小时
6#
发表于 2009-5-24 15:23:29 | 只看该作者
没用过AD中断,有机会试试看。
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

注册会员

Rank: 2

积分
123
威望
173
贡献
20
兑换币
0
注册时间
2009-5-9
在线时间
3 小时
5#
发表于 2009-5-24 14:55:12 | 只看该作者
我感觉也是时钟问题,好像并没有给出BusClock;试一下.
回复 支持 反对

使用道具 举报

1

主题

128

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1033
QQ
威望
339
贡献
622
兑换币
3
注册时间
2008-12-11
在线时间
36 小时
毕业学校
河北大学
4#
发表于 2009-5-20 12:38:21 | 只看该作者
ATD0CTL4=0x01;   //765:采样时间为4个AD时钟周期,ATDClock=[BusClock*0.5]/[PRS+1]
  

AD的周期不大于2MHZ,是不是时钟问题???
回复 支持 反对

使用道具 举报

0

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
413
威望
257
贡献
102
兑换币
0
注册时间
2009-2-22
在线时间
27 小时
3#
 楼主| 发表于 2009-5-10 08:39:38 | 只看该作者
上面哪位答非所问啊     ,哪位高手指教一下啊
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-8 23:41 , Processed in 0.292540 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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