  | 
		 
			
			
			
			
			
	
		
			
  
 | 
	 		
	  			
	  				| 
						  Elektronika.lt portalo forumas 
						
						Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
						Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose. 
						 
						Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
						kurie nesilaiko forumo taisyklių.
						Pastebėjus nusižengimus, prašome pranešti. 
						 Dabar yra 2025 11 04, 06:24. Visos datos yra GMT + 2 valandos.
						
					 | 
				 
			 
 | 
		 | 
	 
 
	
		
	  | 
	
		
			 Forumas » Mikrovaldikliai » atmega16 adc problemos
		
	 | 
 
	
		
		
			
				Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume 
			 | 
			
				
			 | 
			 
		 
		
	 | 
 
 
	  |  
 
	  | 
	 atmega16 adc problemos | 
 
  
	
	
		 Parašytas: 2007 01 15, 17:52 | 
		        | 
	   | 
 
	
	
	
		| 
		
		 | 
		
			
			
				pajungta atmega16, avcc ir aref per 100om i + ir per 100nF i -. 
 
ant ADC0 keiciu itampa nuo 0 iki 5V bet ADC matau tik tokia reiksme kui pamatuota pirma karta. ta prasme viena karta pamatuoja o paskui nebematuoja. adc interruptas ivyksta bet kazkodel registruose ADCL ir ADCH niekas nesikeicia. kame saknys?
 
 
kompileris codevisionavr
 
 
kodas:
 
 
#include <mega16.h>
 
 
#asm
 
   .equ __lcd_port=0x12
 
#endasm
 
#include <lcd.h>
 
#include <delay.h>
 
#include <stdio.h>
 
 
char lcd_buffer[17];
 
 
interrupt [ADC_INT] void adc_isr(void)
 
{
 
unsigned int i;
 
i=ADCL;
 
sprintf(lcd_buffer,"u=%iV",i);
 
lcd_clear();
 
lcd_puts(lcd_buffer);
 
delay_ms(500);
 
ADCSRA|=0x40;
 
}
 
 
void main(void)
 
{         
 
ADCSRA|=0x8E; 
 
SFIOR&=0x0F;
 
lcd_init(16);
 
#asm("sei")  
 
ADMUX=0x00;
 
lcd_putsf("Sveiki");
 
delay_ms(1000);
 
lcd_clear();         
 
lcd_putsf("u=0V");
 
ADCSRA|=0x40;
 
while (1)
 
      {       
 
      };
 
} | 
			 
		  | 
	 
	
		| 
		 | 
	 
	  | 
 
 
 | 
 
 
	  |  
 
	  | 
	 atmega16 adc problemos | 
 
  
	
	
		 Parašytas: 2007 01 16, 03:29 | 
		        | 
	   | 
 
	
	
	
		| 
		
		 | 
		
			
			
				| ko gero viskas yra gerai, tik adc iejimas blogai nustatytas, arna iejime per didele itampa | 
			 
		  | 
	 
	
		| 
		 | 
	 
	  | 
 
 
 | 
 
 
	  | 
	 atmega16 adc problemos | 
 
  
	
	
		 Parašytas: 2007 01 16, 08:15 | 
		        | 
	   | 
 
	
	
	
		| 
		
		 | 
		
			
			
				| Kiek atsimenu reikia perskaityti ir ADCH registrą, ne vien tik ADCL. | 
			 
		  | 
	 
	
		| 
		 | 
	 
	  | 
 
 
 | 
 
 
	  | 
	 atmega16 adc problemos | 
 
  
	
	
		 Parašytas: 2007 01 16, 09:28 | 
		        | 
	   | 
 
	
	
	
		| 
		
		 | 
		
			
			
				| adc iejimas geras. max itampa ant adc yra lygi aref ir vcc itampai. nuskaityma dariau visoki ir adch ir adcl ir abu. visvien tas pats ijungi mc pirma karta pamatuoja reiksme ir vsio, daugiau reiksme registruose nesikeicia | 
			 
		  | 
	 
	
		| 
		 | 
	 
	  | 
 
 
 | 
 
 
	  | 
	 atmega16 adc problemos | 
 
  
	
	
		 Parašytas: 2007 01 16, 09:44 | 
		        | 
	   | 
 
	
	
	
		| 
		
		 | 
		
			
			
				Žiūrėk kurį pirma nuskaitai.
 
Aš su tuo irgi kažkada problemų turėjau, pasirodo vietom sukeisti reikėjo.
 
 
When ADCL is read, the ADC Data Register is not updated until ADCH is read. Consequently,
 
if the result is left adjusted and no more than 8-bit precision is required, it is
 
sufficient to read ADCH. Otherwise, ADCL must be read first, then ADCH. | 
			 
		  | 
	 
	
		| 
		 | 
	 
	  | 
 
 
 | 
 
 
	  | 
	 atmega16 adc problemos | 
 
  
	
	
		 Parašytas: 2007 01 16, 10:46 | 
		        | 
	   | 
 
	
	
	
		| 
		
		 | 
		
			
			
				
 
	  | Jolantas rašo: | 
	 
	
	  Žiūrėk kurį pirma nuskaitai.
 
Aš su tuo irgi kažkada problemų turėjau, pasirodo vietom sukeisti reikėjo.
 
 
When ADCL is read, the ADC Data Register is not updated until ADCH is read. Consequently,
 
if the result is left adjusted and no more than 8-bit precision is required, it is
 
sufficient to read ADCH. Otherwise, ADCL must be read first, then ADCH. | 
	 
 
 
 
Vat butent tame ir buvo problema    labai aciu   | 
			 
		  | 
	 
	
		| 
		 | 
	 
	  | 
 
 
 | 
 
 
		 | 
		
			
				
					  | 
					 Google paieška forume | 
				 
				
					| 
 | 
				 
			 
			
				
					  | 
					 Naujos temos forume | 
				 
				
					 | 
				 
			  
	
		  | 
	    
	    	FS25 Tractors 
	    	Farming Simulator 25 Mods,
	    	FS25 Maps,
			FS25 Trucks | 
	 
	
		  | 
	    
	    	ETS2 Mods 
	    	ETS2 Trucks,
			ETS2 Bus,
			Euro Truck Simulator 2 Mods
			 | 
	 
	
		  | 
	        
	    	FS22 Tractors 
	    	Farming Simulator 22 Mods,
	    	FS22 Maps,
		FS25 Mods | 
	 
	
	  | 
	    
	    	VAT calculator 
	    	VAT number check,
	    	What is VAT,
	    	How much is VAT | 
	 
	
	  | 
	    
	    	Dantų protezavimas 
	    	All on 4 implantai, 
		Endodontija mikroskopu, 
		Dantų implantacija | 
	 
	
	  | 
	    
	    	FS25 Mods 
	    	FS25 Maps,
		FS25 Cheats,
		FS25 Install Mods | 
	 
	
	  | 
	    
	    	FS25 Mods 
	    	Farming Simulator 25 Mods, 
	    	FS25 Maps | 
	 
	
	  | 
	    
	    	ATS Trailers 
	    	American Truck Simulator Mods,
		ATS Trucks,
		ATS Maps | 
	 
 
 
		 | 
	 
 
			
			 
 
 
  | 
		  |