单片机求助!!!急!!stc12c2052ad AD转换编程
本人高中小白,想用stc12c2502ad编一个可以读电压,然后求导,然后再处理的程序,主程序(求导,处理)已经写好了,因为要求导嘛,所以我设计的采集电压是在中断里,但是...
本人高中小白,想用stc12c2502ad编一个可以读电压,然后求导,然后再处理的程序,主程序(求导,处理)已经写好了,因为要求导嘛,所以我设计的采集电压是在中断里,但是我关于AD采集的那一堆东西一点都不会写。。。求高手帮忙完成。
我这里能选的最多的就是悬赏100了,真诚求助。 展开
我这里能选的最多的就是悬赏100了,真诚求助。 展开
2个回答
展开全部
sfr ADC_LOW2 = 0xBE; //ADC low 2-bit result register
#define ADC_POWER 0x80 //ADC power control bit
#define ADC_FLAG 0x10 //ADC complete flag
#define ADC_START 0x08 //ADC start control bit
#define ADC_SPEEDLL 0x00 //420 clocks
#define ADC_SPEEDL 0x20 //280 clocks
#define ADC_SPEEDH 0x40 //140 clocks
#define ADC_SPEEDHH 0x60 //70 clocks
#define set1(p,pos) p |= 1<<pos
#define halt set1(PCON,0)
void Timer0Interrupt(void) interrupt 1
{
TR0 = 0; // stop timer 0
}
int adc() {
ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ADC_START | adcin;
halt;
return ((ADC_RES << 2) | ADC_RESL);
}
adcin 是 0-7 看你用哪个端口。
#define ADC_POWER 0x80 //ADC power control bit
#define ADC_FLAG 0x10 //ADC complete flag
#define ADC_START 0x08 //ADC start control bit
#define ADC_SPEEDLL 0x00 //420 clocks
#define ADC_SPEEDL 0x20 //280 clocks
#define ADC_SPEEDH 0x40 //140 clocks
#define ADC_SPEEDHH 0x60 //70 clocks
#define set1(p,pos) p |= 1<<pos
#define halt set1(PCON,0)
void Timer0Interrupt(void) interrupt 1
{
TR0 = 0; // stop timer 0
}
int adc() {
ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ADC_START | adcin;
halt;
return ((ADC_RES << 2) | ADC_RESL);
}
adcin 是 0-7 看你用哪个端口。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询