S
slutt
Guest
Hei ...
i simulere ADC ATMEGA8535 hjelp Proteus og kompilere C-kode med
Kode Vision AVR.
her er det skjematisk.
<img src="http://images.elektroda.net/56_1169724096.gif" border="0" alt="Help...Problem on ATmega8535" title="Hjelp ... Problem på ATMEGA8535"/>
Jeg prøver å lese analog inngang fra PORTA.0 benytter ledig kjører modus
og vise verdien til LCD-skjermen.
her er det c-koden ..
# include "mega8535.h"
# include "stdio.h"
# include "delay.h"
# include "lcd.h"
# asm / / Alfanumerisk LCD Module funksjoner
. EQU __lcd_port = 0x15
# endasm
unsigned int ADC_VALUE;
unsigned int read_adc (unsigned char adc_input)
(
ADMUX = adc_input;
ADCSRA | = 0x40;
while ((ADCSRA & 0x10) == 0); / / Vent til AD konvertering for å fullføre
ADCSRA | = 0x10;
return ADCW;
)
void main (void)
(
unsigned char sbuf [16];
unsigned int TEMP;
DDRA = 0x00;
DDRC = 0xFF;
lcd_init (16); / LCD-modul initialization
ADCSRA = 0x85;
SFIOR & = 0xEF;
mens 1 ()
(
ADC_VALUE = read_adc (0);
lcd_gotoxy (0,0);
sprintf (sbuf, "VALUE:% 4d", ADC_VALUE);
lcd_puts (sbuf);
delay_ms (10);
)
)kilden kompilert med CVAVR og simulere ved hjelp Proteus basert på skjemaet ovenfor.
simuleringen fungerer .. men verdien vises i LCD-skjerm (LCD dispay "1023" persistent) ikke endres når jeg endrer potensiometer verdi ..
hva er galt med koden min?Takk for hjelpen ....
i simulere ADC ATMEGA8535 hjelp Proteus og kompilere C-kode med
Kode Vision AVR.
her er det skjematisk.
<img src="http://images.elektroda.net/56_1169724096.gif" border="0" alt="Help...Problem on ATmega8535" title="Hjelp ... Problem på ATMEGA8535"/>
Jeg prøver å lese analog inngang fra PORTA.0 benytter ledig kjører modus
og vise verdien til LCD-skjermen.
her er det c-koden ..
# include "mega8535.h"
# include "stdio.h"
# include "delay.h"
# include "lcd.h"
# asm / / Alfanumerisk LCD Module funksjoner
. EQU __lcd_port = 0x15
# endasm
unsigned int ADC_VALUE;
unsigned int read_adc (unsigned char adc_input)
(
ADMUX = adc_input;
ADCSRA | = 0x40;
while ((ADCSRA & 0x10) == 0); / / Vent til AD konvertering for å fullføre
ADCSRA | = 0x10;
return ADCW;
)
void main (void)
(
unsigned char sbuf [16];
unsigned int TEMP;
DDRA = 0x00;
DDRC = 0xFF;
lcd_init (16); / LCD-modul initialization
ADCSRA = 0x85;
SFIOR & = 0xEF;
mens 1 ()
(
ADC_VALUE = read_adc (0);
lcd_gotoxy (0,0);
sprintf (sbuf, "VALUE:% 4d", ADC_VALUE);
lcd_puts (sbuf);
delay_ms (10);
)
)kilden kompilert med CVAVR og simulere ved hjelp Proteus basert på skjemaet ovenfor.
simuleringen fungerer .. men verdien vises i LCD-skjerm (LCD dispay "1023" persistent) ikke endres når jeg endrer potensiometer verdi ..
hva er galt med koden min?Takk for hjelpen ....