AVR ADC otázka, prosím pomôžte

M

MohammadElwakeel

Guest
Ahoj všetkým, som v súčasnej dobe pomocou ATmega16 a mám otázku týkajúcu sa ADC. Môžem používať niektoré piny PORTA pre ADC a zároveň používajú iné piny, ktoré portu pre digitálny vstup výstup. tj môže byť použitá ako PORTA zmiešané portov pre analógové a digitálne vstupy? Prosím pomôžte ASAP!
 
Dobrý deň! Z coures môžete to urobiť. Pre tento účel použite ADMUX registra. Môžete si vybrať kanál, ktorý je pripojený k ADC. Iba vybraný kanál bude analógový vstup a zvyšok kolíkov zostanú digitálnych I / O s ich funkcie riadi zodpovedajúce údaje smer registra. Ide.
 
Môžete naprogramovať každý port, ako chcete. Hľadať Viac informácií vnútornej štruktúry ADC
 
Tento kód pracovných include # asm EQU __lcd_port = 0x15;. PORTC endasm # # include # include # include # include # include # include current_temp plaváku, plavák napätie, char lcdbuffer [16] / / ADC prerušenie prevádzky rutinné prerušenia [ADC_INT] neplatné adc_isr (void) {unsigned int ADC_DATA, ADC_DATA = ADCW, / / získanie dát z ADC napätie = ((float) 4680 * (float) ADC_DATA) / (float) 1023, ADCSRA = ADCSRA | 0x40;} void temp () {current_temp = 0,1 * napätie 2,0; ftoa (current_temp, 2, lcdbuffer) lcd_gotoxy (8,0), lcd_puts (lcdbuffer);} void main (void) {lcd_init (16), / / inicializácia LCD. ADMUX = 0x01; ADCSRA = 0xAC, SFIOR & = 0x0F; lcd_gotoxy (0,0), lcd_putsf ("Temp"); while (1) {# asm ("SEI"), temp ();}}
 
Nie, ja dont think tak. je mi známe, kedy u config ADC je u nie je možné používať rovnaký port ako I / O pin. (Reference:. Atmel COP Technické listy)
 
Áno, môžete používať ostatné PIN alebo digitálne I / O. V 7. SEM som sa na AVR regulátor teploty pomocou ATmega8535 a LM35 (teplotné čidlo). Kód pre config ADC. je pod. neplatné adcfg (void) {ADCSRA = 0xAD, / / ADC spustí pri každom TIM 0 pretekať prerušenie povolené SFIOR & = 0x0F; SFIOR | = 0x80;}
 

Welcome to EDABoard.com

Sponsor

Back
Top