FAQ | Points | Add... | Recent posts | Search | Register | Log in


Zegar binarny na na mikroprocesorze Atmega8


Post new topic  Reply to topic      Main Page -> Forum Index -> Download, Articles -> Zegar binarny na na mikroprocesorze Atmega8
Author
Message
jokerrro
Poziom 9
Poziom 9


Joined: 30 Oct 2007
Posts: 37
Location: pabianice

Post#151 16 Feb 2009 17:29   

Re: Zegar binarny na Atmega8


Witam!! czy jeżeli bym chciał zrezygnować z wyświetlania jedności sekund to wystarczy ze usunę te 4 diody i tranzystor za nie odpowiedzialny?? czy coś jeszcze trzeba zmienić?? z góry dzięki za odpowiedz. pozdrawiam
Back to top
   
CzarleeSheen
Poziom 2
Poziom 2


Joined: 08 Dec 2008
Posts: 3
Location: Koszalin

Post#152 23 Feb 2009 09:04   

Re: Zegar binarny na Atmega8


Wykonałem takie cudo wg shematu.Płytka może nie wygląda najlepiej,ale ze względu na prostotę układu nie chciałem jej frezować więc użyłem jakiejś uniwersalnej. Miłej zabawy.

Link

Back to top
   
osvch
Poziom 11
Poziom 11


Joined: 30 Dec 2007
Posts: 60
Location: Ksawerów k.Łodzi

Post#153 04 Mar 2009 20:44   

Re: Zegar binarny na Atmega8


Witam, mógłbym prosić o szczegółowe opisanie jakie fuse bity ustawić w bascomie? I jeśli można prosze o podanie działającego programu do zegara napędzanego przez kwarc 16MHz :) Pzdr.
Back to top
   
halish
Poziom 3
Poziom 3


Joined: 28 Jul 2008
Posts: 5
Location: Gdynia

Post#154 18 Mar 2009 10:19   

Re: Zegar binarny na Atmega8


Witam,
zastanawiam się nad samodzielnym zaprojektowaniem takiego zegarka, także przy pomocy Atmega8. Będzie to jednak mój pierwszy projekt w procesorach (i w elektronice w ogóle), w związku z tym mam kilka pytań.

O ile dobrze zrozumiałem kod w Bascomie (piszę w C), to sterowanie odbywa się poprzez wyświetlanie wiersz po wierszu co 4ms, co daje przeciętnie 1ms na wiersz. Takie małe czasy sprawiają, że wydaje sie, że diody świecą światłem ciągłym. Bardzo proszę o ewentualne poprawienie mojego rozumowania.

Jeżeli sterujemy pinami, to w jakim celu podłączone są tranzystory BC557? Próbowałem podłączać pojedynczą diodę do dwóch pinów uC, z których jeden był ustawiony na 0, a drugi na 1, i dioda się świeciła. Bardzo proszę o wyjaśnienie tego.

Pozdrawiam,
Mateusz Haligowski
Back to top
   
Google

Google Adsense


Post# 18 Mar 2009 10:19   





Back to top
   
osvch
Poziom 11
Poziom 11


Joined: 30 Dec 2007
Posts: 60
Location: Ksawerów k.Łodzi

Post#155 20 Mar 2009 13:06   

Re: Zegar binarny na Atmega8


Tranzystory są po to aby nie spalić ATMEGI za dużym prądem pobieranym przez diody, tranzystory dużo nie kosztują a lepiej je mieć niż tracić pieniądze na zakup nowego procka.
Back to top
   
CzarleeSheen
Poziom 2
Poziom 2


Joined: 08 Dec 2008
Posts: 3
Location: Koszalin

Post#156 24 Mar 2009 20:52   

Re: Zegar binarny na Atmega8


wsad do programu jest na elektrodzie.drakerus na drugiej stronie forum zamieścił grzecznie cały wsad.Wystarczy wrzucić go do atmegi i ustawić jaki zegar sobie życzymy...czy zewnętrzny czy też wewnętrzny (chodzi tu oczywiście o 4MHz) . To jaki ma być zegar ustalamy za pomocą programu AVR8_Burn-O-Mat 2.0.1. Osobiście polecam zastosowanie zegaru zwenętrznego bo wewnętrzny późni się mocno! Przez to "mocno" rozumiem 1min na godz! Na filmiku powyżej jest też zegarek kwarcowy,tyle, że pod płytką.
Nie wiem jak założycielowi tematu udało się wystartować za pomocą jego programu, gdyż jest on wadliwy.
Back to top
   
FiNS
Poziom 2
Poziom 2


Joined: 22 Sep 2006
Posts: 2

Post#157 29 Mar 2009 14:09   

Re: Zegar binarny na Atmega8


halish wrote:

O ile dobrze zrozumiałem kod w Bascomie (piszę w C), to sterowanie odbywa się poprzez wyświetlanie wiersz po wierszu co 4ms, co daje przeciętnie 1ms na wiersz.


Ja ten kod rozumiem tak, ze wyswietlana jest co 4ms kolumna po kolumnie, a nie wiersz po wierszu. W danym momencie na porcie C mamy jedynki, tylko na jednym pinie z portu C jest 0. Wybieramy wiec kolejno kazda z kolumn (np jednosci minut). Natomiast na porcie D ustawiamy piny w taki sposob ze dajemy 0 na tym pinie ktory jest polaczony z dioda ktora w wybranej kolumnie ma sie w danym momencie zapalic. Jednak nie programuje w bascomie, wiec prosze aby ktos potwierdzil, czy jest tak jak napisalem.
Back to top
   
trzaska456
Poziom 15
Poziom 15


Joined: 15 Oct 2008
Posts: 252
Location: Złoczew

Post#158 30 Mar 2009 15:04   

Re: Zegar binarny na Atmega8


Witam...
zaczołem robić ten zegarek całkiem niedawno i cały czas niedziała niemaiałem tranzystorów BC557 to
wstawiłem BC556 (z notówynika że różnią się tylko napięciem) Czy to będzie działać to pierwsza sprawa ;-)
Stosuje Atmega8L-8PU i wrzucam *.hex za pomocą AVR Studio 4.14 wedug wstawki joboo i rezonator 16MHz (to z 2 nózkami) a jeśli chodzio generator to mam tylko 32 MHz i niekojarze oco chodzi z tymi fusebitamiSSS
Prosze o pomoc i zgóry dziękuje
pozdrowienia trzaska456
Back to top
   
FiNS
Poziom 2
Poziom 2


Joined: 22 Sep 2006
Posts: 2

Post#159 03 Apr 2009 12:52   

Re: Zegar binarny na Atmega8


Witam. Czy ktos moze powiedziec jakich dokladnie uzyl tranzystorow, na schemacie pisze tylko BC557 a do wyboru mam BC557A, BC557B i BC557C z roznym wzmocnieniem pradowym i nie wiem ktory wybrac. Jaki prad moze maksymalnie wplywac na pojedynczy pin AVR'a? Jezeli dobrze rozumiem to ten uklad dziala tak, ze jezeli w kolumnie swiecimy tylko jedna diode, to caly prad z tranzystora (dajmy na to 100mA) poplynie tylko przez nia do jednego pinu AVR'a, natomiast jesli swieci sie kilka diod w kolumnie to prad rozplynie sie do avr na kilka pinow (np przy czterech swiecacych diodach 4x 25mA). Jaki wiec prad maksymalnie moze tam poplynac na jeden pin przy swieceniu tylko jednej diody w kolumnie zeby AVR to wytrzymal?
Back to top
   
trzaska456
Poziom 15
Poziom 15


Joined: 15 Oct 2008
Posts: 252
Location: Złoczew

Post#160 03 Apr 2009 15:41   

Re: Zegar binarny na Atmega8


ja wlutowałem z jakiejś płyty BC557B nie wiem czy są ok ale myślę że typ B lub C starczy i tak to te same tranzystory tylko o innej wartości
Back to top
   
trzaska456
Poziom 15
Poziom 15


Joined: 15 Oct 2008
Posts: 252
Location: Złoczew

Post#161 18 Apr 2009 16:28   

Re: Zegar binarny na Atmega8


ok zegarek działa ale chcę się jeszcze pobawić no i nie wiem gdzie ustawia się te fusebit-y
Proszę o pomoc
Back to top
   
Google

Google Adsense


Post# 18 Apr 2009 16:28   





Back to top
   
wlw_wl
Poziom 23
Poziom 23


Joined: 01 Jun 2006
Posts: 3914
Location: Poznań

Post#162 21 Apr 2009 09:52   

Re: Zegar binarny na Atmega8


trzaska456:
Atmega8L obsługuje maksymalnie 8MHz taktowania zewnętrznego więc albo zmień rezonator albo Atmegę, najwięcej co możesz podać to 16MHz dla Atmega8 (bez L) 16PU (np.). Fusebity w tym przypadku ustawiasz po to, żeby "powiedzieć" prockowi z jakiego zegara ma korzystać, jak masz generator to 0000 (external clock), resztę masz objaśnioną na pierwszych stronach tematu. Ustawia się je w Bascomie po skompilowaniu programu w programatorze na zakładce Lock And Fuse Bits, było wytłumaczone dokładnie gdzie i co.

FiNS
Ja użyłem BC557C, ale wzmocnienie prądowe nie ma tutaj znaczenia bo tranzystory w tym układzie pracują jako klucze, tzn. wyłącznie w stanie zatkania lub nasycenia. Co do prądu to Atmega8 dzierży chyba do 200mA, na upartego ten układ mógłby działać bez tranzystorów z diodami bezpośrednio podpiętymi do procka, ale tak jest ładniej i ciekawiej (czyt. bezpieczniej). Poza tym raczej nie doczekasz godziny typu 39:79:79 więc ilość świecących naraz diód jest ograniczona.

Natomiast ja mam wspomniany wczesniej problem, niektóre diody się nie wygaszają - lekko żarzą. Układ zasilam 12V przez stabilizator 7805 więc 5V powinno tam być, a zjawisko niewygaszonych diód to podobno objaw zbyt niskiego napięcia na procku.
Jakaś inna możliwa przyczyna tego zjawiska?
Back to top
   
Andrzej_01
Poziom 4
Poziom 4


Joined: 05 Jul 2006
Posts: 10
Location: Czarny Dunajec

Post#163 19 Jul 2009 22:14   

Re: Zegar binarny na Atmega8


Witam!
Wykonałem ten zegarek lecz mam kilka problemów.
1) Wsad drakerus'a zmodyfikowałem tak jak polecił kolega berq na 16MHz:
$crystal = 16000000 i Config Timer1 = Timer , Prescale = 256, lecz zegarek 10 sekund zlicza w normalne 3 sekundy. Nie znam się na językach programowania ale zauważyłem że jak zmieniłem jeszcze w tym programie Timer1 = 3036 na Timer1 = 12144 to zegarek 10 sekund zlicza w normalne 8 sekund.
Co mam zmienić żeby 1 sekunda trwała 1 sekundę?
2) Fusebity ustawiłem w bascomie tak:
BODLEVEL = 0
BODEN = 1
WORDS BOOT SIZE = 1024
i bity 1110 sut 11
oraz CKOPT = 1 ( wyczytałem że wartość 0 włącza obsługę Atmegi8 do 16MHz. Tak też miałem, ale gdy zegarek przyspieszał to zmieniłem. Nic to jednak nie dało)


Proszę o szybką odpowiedź jak to mam ustawić, oraz co robię źle.
Pozdrawiam.
Back to top
   
hubertfab
Poziom 18
Poziom 18


Joined: 25 Jun 2008
Posts: 513
Location: Rzeszów/ Bratkowice

Post#164 11 Nov 2009 15:53   

Re: Zegar binarny na Atmega8


Prezentacja mojego zegarka binarnego !
Wykonałem samodzielnie bez pomocy z tego tematu. Postanowiłem go tu mieścić.






Link

Back to top
   
DJ MHz
Poziom 20
Poziom 20


Joined: 13 Jan 2005
Posts: 834
Location: Polkowice

Post#165 04 Dec 2009 17:32   

Re: Zegar binarny na Atmega8


Witam.
Też zmontowałem ten układzik. Koszt 10 zł (tyle atmega8) reszte miałem w domowym zaciszu. Po zmianie fusebitów oczywiście atmega padła :) dałem na generator, a mam wmontowany kwarc. Musiałem więc kupic za 1,5 zł 74HC14 żeby ją pobudzić.

Soft drakona oczywiście, ponieważ ten pierwszy wogóle nie działał.
Teraz zegarek ładnie śmiga na kwarcu 4 MHz zewnetrznym, pokazuje dokładnie.

Pod linkiem filmik z działania zegara.

Link
Back to top
   
yaroray
Poziom 6
Poziom 6


Joined: 25 Jul 2008
Posts: 18

Post#166 30 Jan 2010 17:34   

Re: Zegar binarny na Atmega8


Zrobiłem swój układ oraz napisałem program i zegar się spóźnia ok 6,5s na dobę. Zarówno wyświetlanie na diodach, jak i odliczanie czasu jest zrobione na przerwaniach od liczników. Nie mogę doszukać się gdzie jest błąd. Czy mógłby ktoś znający się na rzeczy rzucić okiem na mój kod? Jest dosyć dobrze opisany, więc nie powinno być problemu ze zrozumieniem. Byłbym bardzo wdzięczny.

Code:

#define F_CPU 16000000UL
#include <avr/io.h>
#include <util/delay.h>   
#include <avr/interrupt.h>

void delay_ms(int ms)
{
   while (ms--)
   {
      _delay_ms(1);
   }
}

void delay_us(int us)
{
   while (us--)
   {
      _delay_us(1);
   }
}

char sek_jed = 0b00000000;
char sek_dzies = 0b00000000;
char min_jed = 0b00000000;
char min_dzies = 0b00000000;
char godz_jed = 0b00000000;
char godz_dzies = 0b00000000;

char linia = 0b00000001;

void konfiguracja (void)
{
//Wejscia
   DDRC &= ~_BV(5); //przycisk godz.
   DDRC &= ~_BV(4); //przycisk min.
   DDRC &= ~_BV(3); //przycisk sek.

//Pull-ups on inputs
   PORTC|=_BV(5);
   PORTC|=_BV(4);
   PORTC|=_BV(3);

//Outputs
   DDRD|=_BV(5); //dioda 8
   DDRD|=_BV(6); //dioda 4
   DDRD|=_BV(7); //dioda 2
   DDRB|=_BV(0); //dioda 1

   DDRB|=_BV(1); //tranzystor sek. jed.
   DDRB|=_BV(2); //tranzystor sek. dz.
   DDRB|=_BV(3); //tranzystor min. jed.
   DDRB|=_BV(4); //tranzystor min. dz.
   DDRB|=_BV(5); //tranzystor godz. jed.
   DDRC|=_BV(0); //tranzystor godz. dz.

   TCCR1B = 0b0000100; //preskaler licznika 1 - 256
   TCNT1 = 3036; //wartosc poczatkowa licznika (do zliczenia 62500 impulsow)
//   TIMSK = 0b00000100; //wlaczenie przerwania przepelnienia licznika 1

   TCCR0 = 0b00000101;
   TCNT0 = 224; ////wartosc poczatkowa licznika (do zliczenia 32 impulsow (512us))
   TIMSK = 0b00000101; //wlaczenie przerwania przepelnienia licznika 0 i 1
}

void czas (void)
{
   sek_jed++;

   if (sek_jed == 0b00001010)
   {
      sek_jed = 0b00000000;
      sek_dzies++;
   
      if (sek_dzies == 0b0000110)
      {
         sek_dzies = 0b00000000;
         min_jed++;
         
         if (min_jed == 0b00001010)
         {
            min_jed = 0b00000000;
            min_dzies++;
   
            if (min_dzies == 0b00000110)
            {
               min_dzies = 0b00000000;
               godz_jed++;
   
               if ((godz_dzies == 0b00000010)&&(godz_jed == 0b00000100))
               {
                  godz_dzies = 0b00000000;
                  godz_jed = 0b00000000;
               }
               else if (godz_jed == 0b00001010)
               {
                  godz_jed = 0b00000000;
                  godz_dzies++;
               }
            }
         }
      }
   }
}

void wyswietl (void)
{

   if (linia == 0b00000001)
   {
      PORTB &= ~_BV(0); //1
      PORTD |= ~_BV(7); //2
      PORTD |= ~_BV(6);   //4   
      PORTD |= ~_BV(5);   //8

      if (bit_is_set(sek_jed, 0))
      {
         PORTB &= ~_BV(1);
      }
      else
      {
         PORTB |= _BV(1);
      }

      if (bit_is_set(sek_dzies, 0))
      {
         PORTB &= ~_BV(2);
      }
      else
      {
         PORTB |= _BV(2);
      }

      if (bit_is_set(min_jed, 0))
      {
         PORTB &= ~_BV(3);
      }
      else
      {
         PORTB |= _BV(3);
      }

      if (bit_is_set(min_dzies, 0))
      {
         PORTB &= ~_BV(4);
      }
      else
      {
         PORTB |= _BV(4);
      }

      if (bit_is_set(godz_jed, 0))
      {
         PORTB &= ~_BV(5);
      }
      else
      {
         PORTB |= _BV(5);
      }

      if (bit_is_set(godz_dzies, 0))
      {
         PORTC &= ~_BV(0);
      }
      else
      {
         PORTC |= _BV(0);
      }
   }

   else if (linia == 0b00000010)
   {
      PORTB |= _BV(0); //1
      PORTD &= ~_BV(7); //2
      PORTD |= _BV(6);   //4   
      PORTD |= _BV(5);   //8

      if (bit_is_set(sek_jed, 1))
      {
         PORTB &= ~_BV(1);
      }
      else
      {
         PORTB |= _BV(1);
      }

      if (bit_is_set(sek_dzies, 1))
      {
         PORTB &= ~_BV(2);
      }
      else
      {
         PORTB |= _BV(2);
      }

      if (bit_is_set(min_jed, 1))
      {
         PORTB &= ~_BV(3);
      }
      else
      {
         PORTB |= _BV(3);
      }

      if (bit_is_set(min_dzies, 1))
      {
         PORTB &= ~_BV(4);
      }
      else
      {
         PORTB |= _BV(4);
      }

      if (bit_is_set(godz_jed, 1))
      {
         PORTB &= ~_BV(5);
      }
      else
      {
         PORTB |= _BV(5);
      }

      if (bit_is_set(godz_dzies, 1))
      {
         PORTC &= ~_BV(0);
      }
      else
      {
         PORTC |= _BV(0);
      }
   }

   else if (linia == 0b00000100)
   {
      PORTB |= _BV(0); //1
      PORTD |= _BV(7); //2
      PORTD &= ~_BV(6);   //4   
      PORTD |= _BV(5);   //8

      if (bit_is_set(sek_jed, 2))
      {
         PORTB &= ~_BV(1);
      }
      else
      {
         PORTB |= _BV(1);
      }

      if (bit_is_set(sek_dzies, 2))
      {
         PORTB &= ~_BV(2);
      }
      else
      {
         PORTB |= _BV(2);
      }

      if (bit_is_set(min_jed, 2))
      {
         PORTB &= ~_BV(3);
      }
      else
      {
         PORTB |= _BV(3);
      }

      if (bit_is_set(min_dzies, 2))
      {
         PORTB &= ~_BV(4);
      }
      else
      {
         PORTB |= _BV(4);
      }

      if (bit_is_set(godz_jed, 2))
      {
         PORTB &= ~_BV(5);
      }
      else
      {
         PORTB |= _BV(5);
      }

      if (bit_is_set(godz_dzies, 2))
      {
         PORTC &= ~_BV(0);
      }
      else
      {
         PORTC |= _BV(0);
      }
   }

   else if (linia == 0b00001000)
   {
      PORTB |= _BV(0); //1
      PORTD |= _BV(7); //2
      PORTD |= _BV(6);   //4   
      PORTD &= ~_BV(5);   //8

      if (bit_is_set(sek_jed, 3))
      {
         PORTB &= ~_BV(1);
      }
      else
      {
         PORTB |= _BV(1);
      }

      if (bit_is_set(sek_dzies, 3))
      {
         PORTB &= ~_BV(2);
      }
      else
      {
         PORTB |= _BV(2);
      }

      if (bit_is_set(min_jed, 3))
      {
         PORTB &= ~_BV(3);
      }
      else
      {
         PORTB |= _BV(3);
      }

      if (bit_is_set(min_dzies, 3))
      {
         PORTB &= ~_BV(4);
      }
      else
      {
         PORTB |= _BV(4);
      }

      if (bit_is_set(godz_jed, 3))
      {
         PORTB &= ~_BV(5);
      }
      else
      {
         PORTB |= _BV(5);
      }

      if (bit_is_set(godz_dzies, 3))
      {
         PORTC &= ~_BV(0);
      }
      else
      {
         PORTC |= _BV(0);
      }
   }
   
   if (linia == 0b00000001)
   {
      linia = 0b00000010;
   }
   else if (linia == 0b00000010)
   {
      linia = 0b00000100;
   }
   else if (linia == 0b00000100)
   {
      linia = 0b00001000;
   }
   else if (linia == 0b00001000)
   {
      linia = 0b00000001;
   }

}

void przycisk_godz (void)
{
   static int licz_godz = 0;
   static char licz_godz_flag = 0;

   if (bit_is_clear(PINC,5))
   {
      licz_godz++;
      if (licz_godz_flag == 0)
      {
         licz_godz_flag = 1;

         godz_jed++;
         if ((godz_jed == 0b00000100)&&(godz_dzies == 0b00000010))
         {
            godz_jed = 0b00000000;
            godz_dzies = 0b00000000;
         }
         else if (godz_jed == 0b00001010)
         {
            godz_jed = 0b00000000;
            godz_dzies++;
         }
      }
      else if ((licz_godz == 300)&&(licz_godz_flag == 1))
      {
         licz_godz = 0;
         licz_godz_flag = 2;

         godz_jed++;
         if ((godz_jed == 0b00000100)&&(godz_dzies == 0b00000010))
         {
            godz_jed = 0b00000000;
            godz_dzies = 0b00000000;
         }
         else if (godz_jed == 0b00001010)
         {
            godz_jed = 0b00000000;
            godz_dzies++;
         }
      }
      else if ((licz_godz == 30)&&(licz_godz_flag == 2))
      {
         licz_godz = 0;

         godz_jed++;
         if ((godz_jed == 0b00000100)&&(godz_dzies == 0b00000010))
         {
            godz_jed = 0b00000000;
            godz_dzies = 0b00000000;
         }
         else if (godz_jed == 0b00001010)
         {
            godz_jed = 0b00000000;
            godz_dzies++;
         }
      }         
   }
   else
   {
      licz_godz = 0;
      licz_godz_flag = 0;
   }
}

void przycisk_min (void)
{
   static int licz_min = 0;
   static char licz_min_flag = 0;

   if (bit_is_clear(PINC,4))
   {
      licz_min++;
      if (licz_min_flag == 0)
      {
         min_jed++;
         licz_min_flag = 1;
         if (min_jed == 0b00001010)
         {
            min_jed = 0b00000000;
            min_dzies++;
            if (min_dzies == 0b00000110)
            {
               min_dzies = 0b00000000;
            }
         }
      }
      else if ((licz_min == 300)&&(licz_min_flag == 1))
      {
         licz_min = 0;
         min_jed++;
         licz_min_flag = 2;
         if (min_jed == 0b00001010)
         {
            min_jed = 0b00000000;
            min_dzies++;
            if (min_dzies == 0b00000110)
            {
               min_dzies = 0b00000000;
            }
         }
      }
      else if ((licz_min == 30)&&(licz_min_flag == 2))
      {
         licz_min = 0;
         min_jed++;
         if (min_jed == 0b00001010)
         {
            min_jed = 0b00000000;
            min_dzies++;
            if (min_dzies == 0b00000110)
            {
               min_dzies = 0b00000000;
            }
         }
      }
   }
   else
   {
      licz_min = 0;
      licz_min_flag = 0;
   }
}

void przycisk_sek (void)
{
   if (bit_is_clear(PINC,3))
   {
      sek_jed = 0b00000000;
      sek_dzies = 0b00000000;
      TCNT1 = 3036; //wartosc poczatkowa licznika (do zliczenia 62500 impulsow)
   }   
}

SIGNAL (SIG_OVERFLOW0)
{
   TCNT0 = 224; //wartosc poczatkowa licznika (do zliczenia 32 impulsow (512us))
   wyswietl(); // wyswietlenie czasu na diodach
   przycisk_godz(); //przycisk ustawiajacy godziny
   przycisk_min(); //przycisk ustawiajacy minuty
   przycisk_sek(); //przycisk ustawiajacy (zerujacy) sekundy
}

SIGNAL (SIG_OVERFLOW1)
{
   TCNT1 = 3036; //wartosc poczatkowa licznika (do zliczenia 62500 impulsow)
   czas(); //odswiezenie czasu (dodanie sekundy)
}

int main(void)
{
   konfiguracja(); //konfiguracja portow i licznika 1
   sei(); //wlaczenie globalne przerwan

   while(1)
   {
      //asm ("nop");
   }
}

Back to top
   
sirnative
Poziom 5
Poziom 5


Joined: 31 Jan 2010
Posts: 13
Location: Rzeszów

Post#167 17 Mar 2010 17:50   

Re: Zegar binarny na Atmega8


witam.
Wiem, że temat już trochę odleżał ale mam nadzieje, że ktoś to jeszcze czyta,
a mianowicie chodzi mi oto, że zrobiłem układ jak na pierwszej stronie zaprogramowałem atmege, tylko, że w sklepie była tylko ATMega8-l czyli może pracować z zewnętrznym kwarcem 8 Mhz, wiec zmieniłem w programie $fegcrystal 8000000.
Trzeba zmieniać coś jeszcze? Po wgraniu programu nic sie nie dzieje na diodach wie ktoś może o co chodzi?
Back to top
   
wlw_wl
Poziom 23
Poziom 23


Joined: 01 Jun 2006
Posts: 3914
Location: Poznań

Post#168 18 Mar 2010 18:11   

Re: Zegar binarny na Atmega8


$fegcrystal? :wink:
Musisz zmienić prescalery timerów, było o tym pisane już ze czterdzieści razy w tym temacie, racz poczytać.
Back to top
   
sirnative
Poziom 5
Poziom 5


Joined: 31 Jan 2010
Posts: 13
Location: Rzeszów

Post#169 19 Mar 2010 20:36   

Re: Zegar binarny na Atmega8


Już zrobiłem i działa poprawnie ten zegar.
$fegcrystal błąd podczas pisania chodziło o $crystal
Back to top
   
art_es
Poziom 2
Poziom 2


Joined: 04 Mar 2010
Posts: 2

Post#170 05 Oct 2010 08:05   

Re: Zegar binarny na Atmega8


witam. temat juz moze nie jest nowy ale dopiero o znalazlem. bardzo mi sie spodobal. i stad moje pytanie. czy zaprogramował by mi ktos taki procek. ja kompletnie sie na tym nie znam. bym był bardzo wdzieczny za pomoc.
Back to top
   
victorantonio
Poziom 4
Poziom 4


Joined: 29 Oct 2008
Posts: 9
Location: aaa

Post#171 24 Nov 2010 15:31   

Re: Zegar binarny na Atmega8


o co chodzi z tym wyświetlaniem multipleksowanym? dana dioda zaświeci jak dam "1" na baze i "1" na kolektor tego tranzystora tak?
Back to top
   
Robster
Poziom 4
Poziom 4


Joined: 08 Jan 2012
Posts: 10

Post#172 10 Jan 2012 13:11   

Re: Zegar binarny na na mikroprocesorze Atmega8


Witam

Czy tranzystory:
BC337-40 NPN 0.A - TO92
BC327-40 PNP 0.A - TO92
BD140-16 PNP 1.5A - TO162
BD139-16 NPN 1.5A - TO162

znajdą w tym schemacie zastosowanie? Tych pierwszych 2 posiadam po 5 sztuk, kolejnych po 3 sztuki (w schemacie trzeba skorzystać z 6). I zastanawia mnie czy mogę je wykorzystać, czy będę musiał kupić nowe.

Praktycznie są to całkiem inne tranzystory niż te w schemacie, ale skoro mają pełnić tylko funkcję klucza, to może się nadają.

Będę wdzięczny za odpowiedź.

Pozdrawiam
Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Download, Articles -> Zegar binarny na na mikroprocesorze Atmega8
Statement for Wykop Statement for Facebook Statement for Delicious Statement for Digg Statement for Google Statement for Twitter Statement for Blip
Page 6 of 6 Go to page Previous  1, 2, 3, 4, 5, 6
Similar topics
Zegar Binarny v2 by HubertFab (36)
Zegar binarny Gigantora (53)
zegar binarny na ledach (1)
Zegar binarny (22)
Zegar binarny (35)
Zegar binarny (20)
zegar binarny (8)
Zegar/kalendarz/termometr binarny (17)
Zegar binarny na AtTiny 2313 (21)

Page generation time: 0.173 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed