智能车制作
标题:
AD转换问题
[打印本页]
作者:
静影澄碧bluesky
时间:
2011-2-19 16:14
标题:
AD转换问题
#include <hidef.h> /* common defines and macros */
#include "derivative.h" /* derivative-specific definitions */
word AD_wValue;
void PLL_Init(void)
{
REFDV=1;
SYNR=2;
while(!(CRGFLG&0x08));
CLKSEL=0x80;
}
void AD_Init(void)
{
ATD0CTL1=0x00;
ATD0CTL2=0x40;
ATD0CTL3=0xa0;
ATD0CTL4=0x01;
ATD0CTL5=0x30;
ATD0DIEN=0x00;
}
void AD_GetValue(word *AD_wValue)
{
*AD_wValue=ATD0DR0;
}
void main(void)
{
/* put your own code here */
PLL_Init();
AD_Init();
DDRB=0xFF;
PORTB=0x00;
EnableInterrupts;
for(;;)
{
while(!ATD0STAT2_CCF0);
AD_GetValue(&AD_wValue);
PORTB=(byte)AD_wValue;
}
}
复制代码
这是一个将ad转换值在B口显示的程序。
请问在B口显示时候怎么看它的变化啊?变化在哪个地方?寄存器?
作者:
doramin
时间:
2011-2-19 16:49
在B口接LED灯也行,cw的debug界面也有显示寄存器值的窗口
作者:
mashaokang1111
时间:
2011-2-20 19:32
你用BDM下载的话就在点了那个绿色的东西以后出来个界面里面就可以看到各个寄存器和全局变量的值..如果是用监控下载.那你就在B口接灯..最简单的就是用串口啊..把B口的值发到电脑上来..
作者:
静影澄碧bluesky
时间:
2011-2-24 15:25
如果我只要用一个ad端口呢,比如AN0端口,使得AN0端口到达一定的电压值后,在PB0口显示高电平???
怎么做啊?
作者:
QIULANZHU
时间:
2011-4-15 10:30
我也正苦恼,不知道你解决没有?分享一下你的心得。
作者:
静影澄碧bluesky
时间:
2011-4-17 20:02
}*/
void ADC_Init(void)
{
ATD0CTL1=0x00; //7:1-外部触发,65:00-8位精度,4:放电,3210:ch
ATD0CTL2=0x40; //禁止外部触发, 中断禁止
ATD0CTL3=0xa0; //右对齐无符号,每次转换4个序列, No FIFO, Freeze模式下继续转
ATD0CTL4=0x01; //765:采样时间为4个AD时钟周期,ATDClock=[BusClock*0.5]/[PRS+1]
ATD0CTL5=0x30; //6:0特殊通道禁止,5:1连续转换 ,4:1多通道轮流采样
ATD0DIEN=0x00; //禁止数字输入
}
unsigned int AD_Sample()
{
//int ad0;
ad0=ATD0DR0;
//ad1=ATD0DR1;
//ad2=ATD0DR2;
// ad3=ATD0DR3;
// ad4=ATD0DR4;
return ad0;
}
复制代码
这个就能用,放进去以后可以看到ad0的变化,就在data里面
作者:
g598618971
时间:
2011-4-18 09:13
手机回帖,在电脑上看应该会好一点、
作者:
诗雨依然
时间:
2011-4-23 17:06
作者:
香蒲草
时间:
2011-7-7 15:54
接led灯显示
作者:
wxstar1
时间:
2012-2-13 15:29
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2