www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Programiranje atmega88
Pojdi na stran 1, 2  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja AVR-jev
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
bukovinsky
Član
Član



Pridružen-a: Sob 07 Okt 2006 14:21
Prispevkov: 58
Aktiv.: 0.25

PrispevekObjavljeno: Pet Apr 10, 2009 7:51 pm    Naslov sporočila:  Programiranje atmega88 Odgovori s citatom

Pozdravljeni!

Želel bi sprogramirati omenjeni čip , da ima 12 vhodov ter 4 izhode.

oziroma 16 vhodov ter 4 izhodi. Jaz jih bom uporabil samo 12.

Opravljati mora pa sledeče :

Obstaja kakšen zelo preprost stavek bascom

pravilnostna tabela



truth table.JPG
 Opis:
 Velikost datoteke:  19.43 KB
 Pogledana:  8805 krat

truth table.JPG


Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
dkone
Član
Član



Pridružen-a: Sre 07 Mar 2007 18:53
Prispevkov: 2116
Aktiv.: 9.51
Kraj: Krško

PrispevekObjavljeno: Pet Apr 10, 2009 8:26 pm    Naslov sporočila:  Re: Programiranje atmega88 Odgovori s citatom

bukovinsky je napisal/a:
Pozdravljeni!

Želel bi sprogramirati omenjeni čip , da ima 12 vhodov ter 4 izhode.

oziroma 16 vhodov ter 4 izhodi. Jaz jih bom uporabil samo 12.

Opravljati mora pa sledeče :

Obstaja kakšen zelo preprost stavek bascom

pravilnostna tabela


.... Kaj pa?

_________________
Denis
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
bukovinsky
Član
Član



Pridružen-a: Sob 07 Okt 2006 14:21
Prispevkov: 58
Aktiv.: 0.25

PrispevekObjavljeno: Pet Apr 10, 2009 9:07 pm    Naslov sporočila:   Odgovori s citatom

Kaj je cilj. -> zmanjšati število signalov iz 16 na 4 Wink
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.57

PrispevekObjavljeno: Pet Apr 10, 2009 9:37 pm    Naslov sporočila:   Odgovori s citatom

Ce postavljas tako vprasanje, potem verjetno nimas izkusenj s programirnjem, zato ne razumem zakaj rines v tako resitev. Seveda se da tudi tako narediti.

Alternativa z eno komponentno je 64 Kb EPROMcek, alternativa z dvema, a brez kakrsnegakoli programiranja, pa 2x 74*148, a ta ne omogoca zaznavanja nedovoljenega stanja (tvoje "zmanjsevanje" stevila linij tudi pomeni zamnjsevanje kolicine posredovanih informacij, kar je lahko problem - odvisno od aplikacije).

_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
dkone
Član
Član



Pridružen-a: Sre 07 Mar 2007 18:53
Prispevkov: 2116
Aktiv.: 9.51
Kraj: Krško

PrispevekObjavljeno: Sob Apr 11, 2009 9:13 am    Naslov sporočila:   Odgovori s citatom

bukovinsky je napisal/a:
Kaj je cilj. -> zmanjšati število signalov iz 16 na 4 Wink


Lahko bi naredil tudi z kakšno programeljivo logiko,naprimer GAL. Več poglej na netu. Sicer pa bi lahko uporabil kar navadne multipleksorje,kot ti je že Sokrat omenil.

_________________
Denis
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
jvolk
Član
Član



Pridružen-a: Ned 05 Mar 2006 1:14
Prispevkov: 737
Aktiv.: 3.14
Kraj: okolica Divače

PrispevekObjavljeno: Sob Apr 11, 2009 10:14 am    Naslov sporočila:   Odgovori s citatom

HC154 ali HC4515 bi tudi znal kaj takega naredili.. mogoče bi bilo še potrebno invertirati izhode
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
bukovinsky
Član
Član



Pridružen-a: Sob 07 Okt 2006 14:21
Prispevkov: 58
Aktiv.: 0.25

PrispevekObjavljeno: Pon Apr 13, 2009 10:41 am    Naslov sporočila:   Odgovori s citatom

Ja, sem pregledal nazadnje omenjeni 74hc154. To je 4 to 16 line decoder/demultiplexer. Žal ima 4 vhode in 16 izhodov, jaz potrebujem 16 vhodov in 4 izhode. Delovanje pa je takšno ,kot bi jaz potreboval. Ker imam vedno samo EDEN vhod HIGH ali LOW in to bi spremenil v binarno
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
bukovinsky
Član
Član



Pridružen-a: Sob 07 Okt 2006 14:21
Prispevkov: 58
Aktiv.: 0.25

PrispevekObjavljeno: Pet Apr 17, 2009 8:07 pm    Naslov sporočila:   Odgovori s citatom

Tole je programček napisan za atmega88.

$regfile = "m88def.dat"
$crystal = 24000000


Config Portb = Input 'port b - vhodi
Config Portc = Output 'port c - izhodi
Config Portd = Input 'port d - vhodi

Do

If Pind.0 = 1 Then 'orodje 1
Portc = &B00000000
End If

If Pind.1 = 1 Then 'orodje 2
Portc = &B00000001
End If

If Pind.2 = 1 Then 'orodje 3
Portc = &B00000010
End If

If Pind.3 = 1 Then 'orodje 4
Portc = &B00000011
End If

If Pind.4 = 1 Then 'orodje 5
Portc = &B00000100
End If

itn ........ do orodja 12

Programček mi deluje vendar prihaja do spremembe stanja na izhodu z zakasnitvijo
Confused ???????

V čem je problem ,.., zakaj zakasnitev ????

Kako lahko rešim problem?

Lep pozdrav
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
MAAG
Član
Član



Pridružen-a: Čet 26 Jun 2008 14:18
Prispevkov: 178
Aktiv.: 0.86
Kraj: SG-MB

PrispevekObjavljeno: Pet Apr 17, 2009 10:07 pm    Naslov sporočila:   Odgovori s citatom

Kaksnega reda je ta zakasnitev?

bukovinsky je napisal/a:
...
$crystal = 24000000
...


Imas pravi kristal? 24Mhz mi je malce veliko, glede na to, da na Atmelovi strani pise, da je max 20Mhz.

_________________
Samo da se kadi Smile
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
bukovinsky
Član
Član



Pridružen-a: Sob 07 Okt 2006 14:21
Prispevkov: 58
Aktiv.: 0.25

PrispevekObjavljeno: Pet Apr 17, 2009 10:49 pm    Naslov sporočila:   Odgovori s citatom

Hmm, delovanje sem preizkusil brez kristala. Bi to lahko bil razlog za takšno obnašanje Neutral ?

zakasnitev traja tudi nekaj sekund ... mislim da tja do 5 kar je zares veliko .
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
MAAG
Član
Član



Pridružen-a: Čet 26 Jun 2008 14:18
Prispevkov: 178
Aktiv.: 0.86
Kraj: SG-MB

PrispevekObjavljeno: Sob Apr 18, 2009 12:29 am    Naslov sporočila:   Odgovori s citatom

Mogoce, glede na to, da pricakuje hitrost 24Mhz, dobi pa tistih 1Mhz( glede tocne frekvence nisem preprican, je se nisem uporabljal Smile ), kolikor ima pac interno.
_________________
Samo da se kadi Smile
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
logist
Član
Član



Pridružen-a: Pon 25 Jan 2010 1:12
Prispevkov: 126
Aktiv.: 0.67
Kraj: dom(o)vina

PrispevekObjavljeno: Pon Jan 09, 2012 12:49 am    Naslov sporočila:   Odgovori s citatom

Mene pa zanima, zakaj se mi to dogaja, če v programu v glavni zanki uporabim _delay_us(1) se program lepo izvaja, če pa jo ven vržem pa je tema ni nič Very Happy
Še koda glavnega programa :
Koda:
int main(void)
{
   PORTC=0x0F;
   DDRC=0x00;
   PORTD=0x10;
   DDRD=0x10;
   // iniclizacija twi-slave moda
   TWI_Slave_init(TWI_HW_Address());
   // inicilizacija prekinitve za PS/2 Clock (INT1 @ ATmega88)
   ps2_init();
   sei();
   while(1){
      PORTD|=(1<<PD4);
      if(ps2_stop){
         TWI_Check_Address(TWI_HW_Address());
         twi_tx_data=DecodeScan(ps2_data);
         ps2_stop=0;
         PORTD&=~(1<<PD4);
      }      
      _delay_us(1);
   }
   return 0;
}
Frekvenco imam 8MHz zunaji kristal.
Sem pa mi tudi dogaja to, ko izklopim napajanje na vezju se program ne požene dokler ne stisnem tipke reset, potem pa dela.

Hvala.

EDIT : napajan pa preko starega računalniškega napajalnika.

_________________
Mihael
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.79
Kraj: Mengeš

PrispevekObjavljeno: Pon Jan 09, 2012 9:51 am    Naslov sporočila:   Odgovori s citatom

sicer nisem v C-ju ampak ker vidim da imaš serijsko komunikacijo: ponavadi zunanja naprava rabi nekaj časa da se stabilizira, potem šele odgovarja. Zato z zakasnitvijo dela. Podobne probleme sem imel sam z UZ merilnikom, ki ima serijsko komunikacijo - te pavze so morale biti zelo natančno določene.
DS1820 npr. rabi dobre pol sekunde da konvertira temperaturo in jo lahko prebereš...
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
logist
Član
Član



Pridružen-a: Pon 25 Jan 2010 1:12
Prispevkov: 126
Aktiv.: 0.67
Kraj: dom(o)vina

PrispevekObjavljeno: Pon Jan 09, 2012 12:37 pm    Naslov sporočila:   Odgovori s citatom

Program sploh ne uporablja serijske komunikacije. Uporablja samo I2C vodilo v slave načinu. Ter kratko rutina na prekinitev INT0, ki pa se sproži samo ko stisnem tipko na tipkovnici (PS/2 tipkovnica) in prebrani byte pošlje naprej po i2c masterju. To pa je vse kar program počne Smile
_________________
Mihael
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.79
Kraj: Mengeš

PrispevekObjavljeno: Pon Jan 09, 2012 2:16 pm    Naslov sporočila:   Odgovori s citatom

saj I2C je ena sorta serijske komunikacije... s kom pa komunicira preko tega vodila?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja AVR-jev Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 494 dni


Powered by phpBB © 2001, 2005 phpBB Group