智能车制作
标题:
为什么我的AD转换只有0和255两个结果?
[打印本页]
作者:
leaf19881122
时间:
2009-8-7 09:48
标题:
为什么我的AD转换只有0和255两个结果?
芯片为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;
}
作者:
星空下的学生
时间:
2009-8-7 15:36
AD口坏了,我们也遇到过这种情况,换块控制板吧
作者:
leaf19881122
时间:
2009-8-7 20:55
不是这样```今天早上仔细看了下原来参考电压接错了```
2#
星空下的学生
作者:
烙铁头
时间:
2009-8-8 13:54
参考电压,典型错误,也遇到过
作者:
xbsf-写轮眼
时间:
2009-8-9 13:20
参考电压的问题!
作者:
zgyo888
时间:
2009-9-2 20:33
参考电压怎么接啊 接哪啊
作者:
huachou
时间:
2010-4-20 19:12
找pdf 官方的
作者:
zzyuchaozz
时间:
2010-6-9 14:41
回复
7#
huachou
能把这个PDF给我发一个么,我的邮箱
zzyuchaozz@163.com
谢谢
作者:
zzyuchaozz
时间:
2010-6-9 14:43
回复
4#
烙铁头
能具体的说一下怎么接的么?是哪一块出的问题?谢谢?
作者:
zzyuchaozz
时间:
2010-6-9 14:43
回复
3#
leaf19881122
我也遇到了相同的问题。能具体的说一下怎么接的么?是哪一块出的问题?谢谢?
作者:
leaf19881122
时间:
2010-6-9 23:34
回复
10#
zzyuchaozz
就是A/D转换的参考电压没接上,一般接5V的电压。当时是用的最小系统版,忘了接参考电压。
作者:
liqingyuan2008
时间:
2010-8-3 13:29
阈值电压没设好吧
作者:
529096768
时间:
2011-2-19 20:59
hao
作者:
mashaokang1111
时间:
2011-2-20 19:28
这个参考不是片内的么....
作者:
fanfankaka123
时间:
2011-2-23 20:59
学习
作者:
hhsaber1221
时间:
2013-7-31 22:28
leaf19881122 发表于 2010-6-9 23:34
回复 10# zzyuchaozz
楼主 你好~~你说“就是A/D转换的参考电压没接上,一般接5V的电压。当时是用的最小系统版,忘了接参考电压。 ”的意思是最小系统版VDD引脚没有接5V吗?BDM供电就可以吗?是不是?
作者:
空相救心
时间:
2013-8-1 09:52
我的一直在192左右波动,给它高低电平也不变
作者:
guozy205
时间:
2013-8-11 16:55
8位 右对齐 结果需要整体 右移两位
作者:
guozy205
时间:
2013-8-11 16:55
8位 右对齐 结果需要整体 右移两位
作者:
guozy205
时间:
2013-8-11 16:57
8位 右对齐 得到的高八位 和低八位 需要整体向右移2位
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2