Anonymní profil colin – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil colin – Programujte.comAnonymní profil colin – Programujte.com

 

Příspěvky odeslané z IP adresy 89.177.134.–

colin
Mikrokontroléry › jak nastavit konfigurační bity
21. 8. 2013   #180639

Dobrý den

jsem ještě vcelku začátečník s programováním avr a chtěl jsem se zeptat co to jsou a jak se používají konfigurační bity u mikroprocesorů (momentálně pracuji s atmega 8).

Předem děkuji všem za odpověď.

kohut
Mikrokontroléry › atmega tachometr
15. 8. 2013   #180429

zdravím

Vím že už jsem tu dlouho nebyl ale chvíli jsem byl pryč a teď jsem se vrátil a mám stále problém se zobrazení dvouciferného čísla to dvou znacích sedmisegmentového led displeje udělal jsem zkušební program pouze na to zobrazení. 

Tady je :

#include <avr/io.h> 
#include <avr/pgmspace.h> 

   unsigned int zobrazit; 
uint8_t PROGMEM znaky[] = {0xC0, 0x79, 0xA4, 0x30, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0x40}; 

int main(){ 
   DDRD=0b11111111; 
   DDRC=0b11111111;  

   while(1){    
         zobrazit = 71;       
         for (zobrazit=0 ; zobrazit<100 ; zobrazit++) 
         { 
            PORTD=znaky[(int)(zobrazit/10)]; 
            PORTC=znaky[(int)(zobrazit%10)]; 
	    _delay_ms(1000)
         } 
   } 
return 0; 
} 

ten cyklus jsem kdesi našel ale nevím jestli je správně zapsán

Chtěl bych vás poprosit jestli by jste mi nepomohli s tím jak zobrazovat i dvouciferná čísla.

Všem předem děkuji za odpověď.

kohut
Mikrokontroléry › atmega tachometr
21. 6. 2013   #178327

děkuji a mohu se ještě zeptat jak na ten druhý znak na portu c ?

kohut
Mikrokontroléry › atmega tachometr
21. 6. 2013   #178323

takže jestli jsem správně pochopil tak by to mělo být takhle:

#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>

volatile unsigned int namerane;
volatile unsigned int stred;
volatile unsigned int vysledek;

ISR (TIMER1_CAPT_vect){
	namerane = TCNT1;
	TCNT1 = 0;
}

int main(){

	
	DDRB &= ~(1 << PB0); 
	PORTB |= (1 << PB0); 
        DDRD = 0x00000000;
        DDRC = 0x00000000;
	TCCR1B |= (1 << CS12) | (1 << CS10); 
	TIMSK |= (1 << TICIE1); 
	OSCCAL = 0xA5;   		
	sei(); 

	while(1){
		if(namerane) {	
			stred = namerane/976;
			vysledek = 30/stred;
                  uint8_t vysledek;                    uint8_t znaky[] = {0x79, 0x23, 0x67, 0x19, 0                                     x12, 0x02, 0x78,0x00, 0x1                                     0, 0x40}; 
                  PORTD = znaky[vysledek];
		namerane = 0;
		}

	}

return 0;
}

ale jestli jsem to tedy pochopil správně tak tímto máme vyřešen pouze PORTD , jak tedy ještě dostat ty čísla i na ten druhý znak?? 

kohut
Mikrokontroléry › atmega tachometr
20. 6. 2013   #178282

Zdravím potřeboval bych poradit ještě se zobrazením na tom led display zatím mám tohle:

#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>

volatile unsigned int namerane;
volatile unsigned int stred;
volatile unsigned int vysledek;

ISR (TIMER1_CAPT_vect){
	namerane = TCNT1;
	TCNT1 = 0;
}

int main(){

	unsigned char blik;

	
	DDRB &= ~(1 << PB0); 
	PORTB |= (1 << PB0); 

	TCCR1B |= (1 << CS12) | (1 << CS10); 
	TIMSK |= (1 << TICIE1); 
	OSCCAL = 0xA5;   		
	sei(); 

	while(1){
		if(namerane) {	
			stred = namerane/976;
			vysledek = 30/stred;
                  tento vysledek bych potřeboval zobrazit
		namerane = 0;
		}

	}

return 0;
}

s tím že zapojení jsem si "navrhnul" takhle:

doufám že z toho něco vyčtete

a číslice odpovídají těmto log. hodnotám pinů :

0b01111001; //1
0b00100100; //2
0b01100111; //3
0b00011001; //4
0b00010010; //5
0b00000010; //6
0b01111000; //7
0b00000000; //8
0b00010000; //9
0b01000000; //0

Jsem ješte začátečník takže budu moc vděčný za jakoukoli pomoc s kódem. 

kohut
Mikrokontroléry › atmega tachometr
14. 6. 2013   #178034

Všem děkuju za odpovědi, tak ja se ještě kouknu na ten aplication notes a zkusím se do toho pustit.

Zasláno z mobilního telefonu.

kohut
Mikrokontroléry › atmega tachometr
13. 6. 2013   #177989

Dobrý den 

Chtěl jsem se zeptat jestli někdo nemáte zkušenosti s nějakým jednoduchým tachometrem založeném na atmega se vstupem magnetického senzoru (hallova) a zobrazeným na 7segmentovém led display.

Za jakoukoli radu se zapojením i kódem všem děkuji.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý