本帖最后由 woshimowww 于 2009-12-28 15:05 编辑
请教论坛的各位大侠,本人在调试STC12C5404AD AD采集过程中,遇到了以下问题:我想通过读取ADC转换出来的10位数,通过P2和P3.1 P3.0用LED显示出来,刚好10位,以下是我的程序,电路附图,我是通过电阻分压5V(10K+50K可调电阻)来测量电压,想通过可调电阻把电压采集回来通过LED显示出来,但是通过LED指示采集回来的数据基本上没变,一直为1011 10xx xxxx 打x的意思为LED有亮灭,但是高6位没变过,我已经把P1.2引脚的电压从4V~2V之间调整,高6为基本上没变,所以我觉得读回来的数据并不正确,谁能帮帮我看下问题出在哪?
#include<STC12C5410AD.H>
typedef unsigned int uint;
typedef unsigned char uchar;
uchar aa;
void delay()
{
uint i;
for(i=0;i<50000;i++);
}
void init()
{
P1M0=0xFF;
P1M1=0x00;
}
void main()
{
uchar j=0;
init();
delay();
while(1)
{
ADC_DATA=0;
ADC_LOW2=0;
ADC_CONTR|=0X88;
delay();
while(!(ADC_CONTR&0x10));
ADC_CONTR&=0XEF;
aa=ADC_DATA;
P2=aa;
P3=ADC_LOW2;
}
}
以前我用过PIC AVR的,我都调过都没问题,怎么STC的这么难用... |