智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 6978|回复: 19
打印 上一主题 下一主题

[采集类] 为什么我的AD转换只有0和255两个结果?

  [复制链接]

0

主题

37

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
445
QQ
威望
280
贡献
55
兑换币
0
注册时间
2009-4-3
在线时间
55 小时
跳转到指定楼层
#
发表于 2009-8-7 09:48:56 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
2贡献
芯片为dg128,BusClock=8MHz
AN8和AN9输入模拟信号,在1-3.5V左右,参考电压5V,但是只有0和255两个转换结果,另外电平触发是进行连续转换还是一次转换,在使用ATD模块应注意什么,好心人帮我看看,谢谢了。


#ifndef _AD_LightDetection_H_
#define _AD_LightDetection_H_
#define  AD_signal5  PORTK_BIT4
#define  AD_signal2  PORTK_BIT5
#define  AD_DDR5     DDRK_BIT4
#define  AD_DDR2     DDRK_BIT5
#define  AD_switch   PORTK_BIT0
#define  AD_sw_DIR   DDRK_BIT0
#define  on          0
#define  off         1
#define  in         0
#define  out          1
void AD_Init(void);
void Get_AD_Value5(unsigned char *A);
void Get_AD_Value2(unsigned char *A);
void AD_Transfer(char *Dis,unsigned char *A);
#endif

unsigned char AD_Result[5]={0x00,0x00,0x00,0x00,0x00};    //AD转换结果
char Display_AD[]="000,000,000,000";

/*******************main()*************************/
void main(void)
{
   LcdInit();
   AD_Init();

   for(;;)  
    {
        Get_AD_Value2(AD_Result);
        AD_Transfer(Display_AD,AD_Result); //将结果转换成字符在显示器上显示
        LcdWriteStr(1,0,Display_AD);
    }   
}


/******************使用两个AD转换模块分别控制,均采用高电平触发*******************/
void AD_Init(void)
{  
  AD_sw_DIR=out;
  AD_switch=on;
  _asm (nop);
  _asm (nop);
  _asm (nop);

  ATD1CTL2=0xCC;   //AD模块上电, 快速清零, 无等待模式,外部上升沿触发, 中断禁止   
  ATD1CTL3=0x10;   //每次转换2个序列, No FIFO, Freeze模式下继续转   
  ATD1CTL4=0xC7&0x7f;   //8位精度, 采样时间为4个AD时钟周期,ATDClock=[BusClock*0.5]/[PRS+1]=2MHz
  ATD1CTL5=0xB0;   //右对齐无符号,连续转换 ,从8通道开始,轮流通道采样
  ATD1DIEN=0x00;   //禁止数字输入  

  AD_DDR5=1;       //I/O口输出
  AD_DDR2=1;
  AD_signal5=0;       //初始信号为低电平
  AD_signal2=0;
  
   
}




void Get_AD_Value2(unsigned char *A)
{
    AD_signal2=1;
    while(!ATD1STAT1_CCF1);
    A[0]=ATD1DR0L;
    A[1]=ATD1DR1L;
    AD_signal2=0;
    _asm (nop);
}


void AD_Transfer(char *Dis,unsigned char *A)
{
    Dis[0]=A[0]/100+0x30;
    Dis[1]=A[0]%100/10+0x30;
    Dis[2]=A[0]%100%10+0x30;
   
    Dis[4]=A[1]/100+0x30;
    Dis[5]=A[1]%100/10+0x30;
    Dis[6]=A[1]%100%10+0x30;
}

8

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
368
威望
207
贡献
111
兑换币
124
注册时间
2013-4-13
在线时间
25 小时
毕业学校
辽宁工程技术大学
19#
发表于 2013-8-11 16:57:52 | 只看该作者
8位 右对齐  得到的高八位 和低八位  需要整体向右移2位  
回复

使用道具 举报

8

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
368
威望
207
贡献
111
兑换币
124
注册时间
2013-4-13
在线时间
25 小时
毕业学校
辽宁工程技术大学
18#
发表于 2013-8-11 16:55:58 | 只看该作者
8位 右对齐  结果需要整体 右移两位
回复

使用道具 举报

8

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
368
威望
207
贡献
111
兑换币
124
注册时间
2013-4-13
在线时间
25 小时
毕业学校
辽宁工程技术大学
17#
发表于 2013-8-11 16:55:23 | 只看该作者
8位 右对齐  结果需要整体 右移两位
回复

使用道具 举报

30

主题

333

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2063
威望
1008
贡献
633
兑换币
600
注册时间
2013-3-9
在线时间
211 小时
毕业学校
杭州电子科技大学
16#
发表于 2013-8-1 09:52:39 | 只看该作者
我的一直在192左右波动,给它高低电平也不变
回复

使用道具 举报

0

主题

3

帖子

0

精华

注册会员

Rank: 2

积分
92
威望
58
贡献
22
兑换币
26
注册时间
2013-7-23
在线时间
7 小时
毕业学校
吉林大学
15#
发表于 2013-7-31 22:28:34 | 只看该作者
leaf19881122 发表于 2010-6-9 23:34
回复 10# zzyuchaozz

楼主 你好~~你说“就是A/D转换的参考电压没接上,一般接5V的电压。当时是用的最小系统版,忘了接参考电压。 ”的意思是最小系统版VDD引脚没有接5V吗?BDM供电就可以吗?是不是?
回复

使用道具 举报

12

主题

110

帖子

0

精华

高级会员

Rank: 4

积分
661
威望
354
贡献
95
兑换币
4
注册时间
2010-9-29
在线时间
106 小时
14#
发表于 2011-2-23 20:59:04 | 只看该作者
学习
回复

使用道具 举报

3

主题

40

帖子

0

精华

高级会员

Rank: 4

积分
659
威望
436
贡献
199
兑换币
18
注册时间
2010-4-9
在线时间
12 小时
13#
发表于 2011-2-20 19:28:50 | 只看该作者
这个参考不是片内的么....
回复

使用道具 举报

5

主题

68

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2668

活跃会员奖章优秀会员奖章

威望
397
贡献
1991
兑换币
21
注册时间
2011-1-5
在线时间
140 小时
12#
发表于 2011-2-19 20:59:59 | 只看该作者
hao
回复

使用道具 举报

4

主题

35

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3200
威望
355
贡献
2707
兑换币
2
注册时间
2010-5-16
在线时间
69 小时
11#
发表于 2010-8-3 13:29:12 | 只看该作者
阈值电压没设好吧
回复

使用道具 举报

0

主题

37

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
445
QQ
威望
280
贡献
55
兑换币
0
注册时间
2009-4-3
在线时间
55 小时
10#
 楼主| 发表于 2010-6-9 23:34:24 | 只看该作者
回复 10# zzyuchaozz


    就是A/D转换的参考电压没接上,一般接5V的电压。当时是用的最小系统版,忘了接参考电压。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 09:29 , Processed in 0.059764 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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