˜Ë(bi¨¡o)î}: avr†ÎƬ™C(j¨©)mega32Ö®ADC³ÌÐò [´òÓ¡±¾í“(y¨¨)]
×÷Õß: aabbcc •r(sh¨ª)ég: 2014-11-11 22:50
˜Ë(bi¨¡o)î}: avr†ÎƬ™C(j¨©)mega32Ö®ADC³ÌÐò
²éÊÖƒÔ(c¨¨)£¬Œ‘³ÌÐò£¬ÓІ–(w¨¨n)î}ÔÙÓ‘Õ“
*****************************************************************
//CPU:mega32
//¾Ž×gÆ÷£ºiar
#include <ioavr.h>
#include "adc.h"
int main(void)
{
int m;
adc_init();
m = adc_get(0);
m=m;
while(1);
}
void adc_init(void)
{
ADMUX = 1<<REFS0 | 0<<ADLAR ;//…¢¿¼ëŠÔ´£ºAVcc ÓÒŒ¦(du¨¬)ýR
ADCSRA = 1<<ADEN | 7;//adcʹÄÜ 128·Öîl
SFIOR = SFIOR & 0X1F | 0<<5;//ßBÀm(x¨´)×ÔÓÉÞD(zhu¨£n)“Q
}
int adc_get(char channel)
{
int n;
if (channel > 7 && (ADMUX & 0x1f) <= 7 )
{
ADMUX = ADMUX & 0xE0 | channel;//ßx“ñͨµÀ
for(i=300;i>0;i--);//ÞD(zhu¨£n)“Qžé²î·ÖͨµÀ ÐèÒª125usÑÓ•r(sh¨ª)£¡£¡
}
else
ADMUX = ADMUX & 0xE0 | channel;//ßx“ñͨµÀ
ADCSRA |= 1<<ADSC; //é_ʼÞD(zhu¨£n)“Q
while( ADCSRA & (1<<ADSC) );//µÈ´ýÍê®…
n = ADCL;
n = n & 0x00ff | ADCH<<8 ;
return n;
}
×÷Õß: qq411343864 •r(sh¨ª)ég: 2016-3-1 16:12
Õˆ(q¨«ng)†–(w¨¨n)˜ÇÖ÷Œ‘mega32³ÌÐòÓÃʲôܛ¼þ
šgÓ¹âÅR (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |