| Author |
Message
|
Lokas Poziom 7

Joined: 09 Dec 2006 Posts: 21 Location: Rusiec
|
#31
10 Mar 2007 10:38 Re: Zegar binarny na Atmega8 |
|
|
|
Witam, byłby ktoś w stanie wrzucić tutaj gotowy listing programu pod Bascoma? Dokładnie pod ten schemat jaki przedstawił joboo...
Pozdrawiam.
PS: Da mi ktoś punkcik? :D
|
|
| Back to top |
|
 |
joboo Poziom 12

Joined: 24 Feb 2004 Posts: 88 Location: Little Hulton, Manchester
|
#32
12 Mar 2007 16:19 Re: Zegar binarny na Atmega8 |
|
|
|
Jak obiecałem wcześniej, zmontowałem ponownie zegar i działa bez zarzutu z rezonatorem kwarcowym jak i pod generatorem.
| Quote: |
| Jak ustawić w bascom atmege żeby działał z generatorem 16mhz ? |
Przestaw fusebit na zewnętrzny zegar (0000:external clock)
| Code: |
'zegar binarny joboo
$regfile = "m8def.DAT"
$crystal = 16000000
Dim Sekjed As Byte , Sekdzies As Byte , Minjed As Byte , Mindzies As Byte , Maxi As Byte
Dim Godzjed As Byte , Godzdzies As Byte , Wyswietl As Byte , Migaj As Bit , Uniwersalny As Byte
Config Portd = 255
Portd = &B255
Config Portc = &B0000000
Portc = &B0000000
Config Portb.2 = Output
Config Portb.3 = Output
Config Portb.4 = Output
Config Timer0 = Timer , Prescale = 64
Config Timer1 = Timer , Prescale = 256
Enable Interrupts
Enable Timer0
Enable Timer1
On Timer0 Co4ms
On Timer1 Co1s
Sekjed = 9 : Sekdzies = 5 : Minjed = 9 : Mindzies = 5 : Godzjed = 3 : Godzdzies = 2
Uniwersalny = 6 : Maxi = 100
Do
Loop
End
Co1s: ' przerwanie co 1 sek
Timer1 = 3036
Incr Sekjed
Toggle Migaj
Return
Co4ms: 'przerwanie co 4 mili sek
Decr Uniwersalny 'obsluga wyswietlaczy i przyciskow
If Pinb.3 = 0 And Pinb.2 = 1 Then 'przycisk s1 nacisniety
If Uniwersalny = 0 Then
Uniwersalny = Maxi : Incr Minjed : Sekjed = 0 : Sekdzies = 0
Maxi = Maxi - 8
If Maxi < 8 Then Maxi = 8 'coraz szybciej
End If
End If
If Pinb.2 = 0 And Pinb.3 = 1 Then 'przycisk s2nacisniety
If Uniwersalny = 0 Then
Uniwersalny = Maxi : Incr Godzjed
Maxi = Maxi - 8 'coraz szybciej
If Maxi < 12 Then Maxi = 12
End If
Else 'oba nacisniete lub zwolnione
If Uniwersalny = 0 Then
Uniwersalny = 6
Maxi = 100
End If
End If
'co 4ms korygujemy stany licznikow
If Sekjed = 10 Then
Sekjed = 0
Incr Sekdzies
End If
If Sekdzies = 6 Then
Sekdzies = 0
Incr Minjed
End If
If Minjed = 10 Then
Minjed = 0
Incr Mindzies
End If
If Mindzies = 6 Then
Mindzies = 0
Incr Godzjed
End If
If Godzjed = 10 Then
Godzjed = 0
Incr Godzdzies
End If
' co 4ms sprawdzamy czy nie jest polnoc jesli tak skracamy cykl
If Godzdzies = 2 And Godzjed = 4 Then
Godzdzies = 0
Godzjed = 0
End If
'wyswietlamy
Wyswietl = Uniwersalny And &B111
Portc = &B0000000
Select Case Wyswietl ' obsluga wyswietlacza
Case 1: ' wyswietl zawart. licznika jedn min
Portd = Lookup(sekjed , Tabela )
Portc.0 = 1
Case 2: ' zawart licz. dzies min
Portd = Lookup(sekdzies , Tabela)
Portc.1 = 1
Case 3: ' jedn godz
Portd = Lookup(minjed , Tabela)
Portc.2 = 1
'Portb.4 = Migaj
Case 4: ' dzies godz
Portd = Lookup(mindzies , Tabela)
Portc.3 = 1
Case 5:
Portd = Lookup(godzjed , Tabela)
Portc.4 = 1
Case 6:
Portd = Lookup(godzdzies , Tabela)
Portc.5 = 1
End Select
Return
Tabela:
'Data 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 'w negatywie
Data 255 , 254 , 253 , 252 , 251 , 250 , 249 , 248 , 247 , 246 ' w pozytywie
|
|
|
| Back to top |
|
 |
Lokas Poziom 7

Joined: 09 Dec 2006 Posts: 21 Location: Rusiec
|
#33
12 Mar 2007 17:19 Re: Zegar binarny na Atmega8 |
|
|
|
Wszystko rozumiem poza tym na końcu...
| Quote: |
Tabela:
'Data 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 'w negatywie
Data 255 , 254 , 253 , 252 , 251 , 250 , 249 , 248 , 247 , 246 ' w pozytywie |
Do czego jest ta komenda?
W domu mam rezonator 4MHz, nada sie? Komenda bedzie wtedy wyglądać "$crystal = 4000000"?
|
|
| Back to top |
|
 |
joboo Poziom 12

Joined: 24 Feb 2004 Posts: 88 Location: Little Hulton, Manchester
|
#34
12 Mar 2007 17:51 Re: Zegar binarny na Atmega8 |
|
|
|
| Quote: |
| Do czego jest ta komenda? |
możesz sobie wybrać w jaki sposób będzie wyświetlana godzina
pozytyw - wszystkie diody wygaszone jedynki zapalone
negatyw - wszystkie diody zapalone jedynki wygaszone
możesz wykożystać 4Mhz kwarc tylko ze musisz jeszcze zmienić dzielnik w timer1 na prescale = 64
|
|
| Back to top |
|
 |
drakerus Poziom 5

Joined: 29 Nov 2006 Posts: 11 Location: warszawa
|
#35
12 Mar 2007 22:23 Re: Zegar binarny na Atmega8 |
|
|
|
Hi All,
Joboo mam pytanie odnosnie fusebitow - jak maja byc ustawione fuse w bascom-avr zeby poprawnie zaprogramowac atmege?? Ustawialem roznie i jednego procka juz zalatwilem bo go programator nie widzi :(. Najlepiej bylo by gdybys zamiescil print screena dla bascom-avr ver.1.11.8.3 DEMO.
Z gory dzieki,
Pozdro,
|
|
| Back to top |
|
 |
joboo Poziom 12

Joined: 24 Feb 2004 Posts: 88 Location: Little Hulton, Manchester
|
#36
13 Mar 2007 10:03 Re: Zegar binarny na Atmega8 |
|
|
|
drakerus - zobacz posty wyżej jeśli chodzi o ustawienie a tą atmege co się teraz nie odzywa podepnij pod zewnętrzny generator pin 9 i ruszy , zmienisz wtedy fusebit i będzie ok
|
|
| Back to top |
|
 |
dimarco81 Poziom 7

Joined: 18 Dec 2006 Posts: 21
|
#37
13 Mar 2007 10:56 Re: Zegar binarny na Atmega8 |
|
|
|
Witam :))
Bardzo fajny zegarek....
planuje coś takiego sobie zrobić
znalazłem kit nord-elektronik
http://www.nordelektronik.com/index.php?uklad=182
też fajny..zastanawiam sie czy kupno, czy wykonać samodzielnie
POZDRAWIAM
|
|
| Back to top |
|
 |
Google

|
#
13 Mar 2007 10:56 |
|
|
|
|
|
| Back to top |
|
 |
drakerus Poziom 5

Joined: 29 Nov 2006 Posts: 11 Location: warszawa
|
#38
13 Mar 2007 12:40 Re: Zegar binarny na Atmega8 |
|
|
|
joboo - oswiec mnie bo sie zgubilem - na forum znalazlem informacje ze aby atmega pracowala z generatorem kwarcowym 16 MHz to fuse bity trzeba ustawić na zewnętrzy zegar (0000:external clock). Ale ja, tak jak wczesniej pisalem, mam rezonator kwarcowy 16MHz a nie generator - i teraz pytanie czy ustawienia fuse bitow dla rezonatora i generatora kwarcowego sa takie same ??
pozdro
ps. jak juz uda mi sie uruchomic to cudo to mialbym propozycje aby wzbogacic je o budzik, podtrzymanie bateryjne i termometr DS1820 :)
|
|
| Back to top |
|
 |
joboo Poziom 12

Joined: 24 Feb 2004 Posts: 88 Location: Little Hulton, Manchester
|
#39
14 Mar 2007 10:00 Re: Zegar binarny na Atmega8 |
|
|
|
Sorka, nie zwróciłem uwagi, pisałem na szybko.
Teraz opiszę jak ustawić Fusebity.
Przypominam, że każde ustawienie zatwierdzimy przyciskiem wirtualnym po prawej stronie o nazwie WriteFS. A więc szukamy linijki o nazwie (gdzie jest ta linijka szukaj w tekście powyżej) Fusebit A987, zaznaczamy ją kursorem i naciskamy przycisk wyboru, który pojawił się po prawej stronie tej linijki.
Fusebity.
1. 0000 = częstotliwość z zewnętrznego generatora,
2. 0001 = oscylator w wewnątrz procesora o częstotliwości 1MHz,
3. 0010 = wewnętrzny oscylator 2MHz,
4. 0011 = wewnętrzny oscylator 4MHz,
5. 0100 = wewnętrzny oscylator 8MHz,
6. 0101 = zewnętrzny oscylator RC 1MHz,
7. 0110 = zewnętrzny oscylator RC 2MHz,
8. 0111 = zewnętrzny oscylator RC 4MHz,
9. 1000 = zewnętrzny oscylator RC 8MHz,
10. 1001 = zewnętrzny kwarc z kondensatorami 2MHz,
11. 1010 = zewnętrzny kwarc z kondensatorami 2-4MHz,
12. 1011 = zewnętrzny kwarc z kondensatorami 4-6MHz,
13. 1100 = zewnętrzny kwarc z kondensatorami 6-8MHz,
14. 1101 = zewnętrzny kwarc z kondensatorami 8-10MHz,
15. 1110 = zewnętrzny kwarc z kondensatorami 10-16MHz.
Z ustawień Fusebitów wynika, że jeśli nie chcemy częstotliwości oscylatora powyżej 8MHz, to możemy nie stosować zewnętrznego kwarcu. Wystarczy ustawić oscylator wewnętrzny. Stosując kwarc zewnętrzy ustawiamy jedną z pozycji zawartej pomiędzy 10 a 15
|
|
| Back to top |
|
 |
dimarco81 Poziom 7

Joined: 18 Dec 2006 Posts: 21
|
#40
14 Mar 2007 22:14 Re: Zegar binarny na Atmega8 |
|
|
|
RE: joboo
Spodobał mi się twój projekt. Postanowiłem sobie zrobić całość w eagle..ale z możliwością zaprojektowania obwodów drukowanych płyty głównej z atmegą i płyty z led-ami. Mam pytanie do Ciebie...chodzi mi o ten generator kwarcowy..jaki zastosować na schemacie i jak go podłączyć...W eagle jest kilka takich, co wybrać w bibliotece. Po za tym proszę opisz mi jak go podłączyć on ma cztery wyprowadzenia. Z tego co wyczytałem muszę go zasilić. Wiem, że jest w obudowie DIP14 - tak napisane w notach ma piny 1,7,8,14
1 - N/C
7 - Ground
8 - Output
14 +5VDC
Z tego na logike wynika żę pod pin 14 podłączam zasilanie + 5V za stabilizatora a pod pin 7 GND. 1, 8 - nie wiem czy się nie mylę podłączam piny atmegi...Czy może, żle rozumuje ???. Czy ten generator 16MHZ ma już w środku kondensatorki..czy one są na zewnątrz.
Bardzo bym prosił o kontakt...e-mail marqe(malpa)poczta.onet.pl
Głownie chodzi mi, czy dobrze rozrysowałem schemat a zwłaszcza podłączenie generatora. Po za tym jak wszytko skoryguje za twoja zgoda chciałbym udostępnić przerobiony projektu twojego autorstwa. Osobiście przerobiłem go na dwa modułu aby można oddzielnie pinami spiąć płytę główną i wyświetlacze LED...również po dokładnej analizie udostępniłbym
bym płytki PCB szerokiemu gronu i fascynatą tej ciekawej konstrukcji
POZDRAWIAM
|
|
| Back to top |
|
 |
Lokas Poziom 7

Joined: 09 Dec 2006 Posts: 21 Location: Rusiec
|
#41
15 Mar 2007 16:49 Re: Zegar binarny na Atmega8 |
|
|
|
Nie prościej kupić rezonator za złotówke? Albo skożystać z wbudowanego? Atmega8 chyba nie potrzebuje taktowania zewnętrznym stuffem... ...chyba :D
|
|
| Back to top |
|
 |
joboo Poziom 12

Joined: 24 Feb 2004 Posts: 88 Location: Little Hulton, Manchester
|
#42
15 Mar 2007 18:55 Re: Zegar binarny na Atmega8 |
|
|
|
dimarco81 nie widze żadnego problemu abyś przerobił mój projekt.
Wyprowadzenia generatora masz poprawne, z wyjście generatora podpinasz tylko pod nogę nr 9 megi8 i oczywiście ustawiasz fusebit na zewnętrzny zegar, nogę nr 10 zostawiasz wolną. Nie montujesz już kondesatorków jak w przypadku rezonatora kwarcowego.
| Quote: |
| Nie prościej kupić rezonator za złotówke? Albo skorzystać z wbudowanego? Atmega8 chyba nie potrzebuje taktowania zewnętrznym stuffem... ...chyba |
oczywiście że prościej ale taki generator ma bardzo dużą stabilność pracy co przekłada sie na dokładniejsze odmierzanie czasu :D
|
|
| Back to top |
|
 |
dimarco81 Poziom 7

Joined: 18 Dec 2006 Posts: 21
|
|
| Back to top |
|
 |
Google

|
#
15 Mar 2007 23:25 |
|
|
|
|
|
| Back to top |
|
 |
Lokas Poziom 7

Joined: 09 Dec 2006 Posts: 21 Location: Rusiec
|
#44
17 Mar 2007 20:15 Re: Zegar binarny na Atmega8 |
|
|
|
Joboo, mógłbyś mi podać parametry kondensatowrów C5 C4 C3
? :D
|
|
| Back to top |
|
 |
joboo Poziom 12

Joined: 24 Feb 2004 Posts: 88 Location: Little Hulton, Manchester
|
#45
17 Mar 2007 20:54 Re: Zegar binarny na Atmega8 |
|
|
|
mogą być 33pf (ceramiki)przy rezonatorze ale nie jest to wartość krytyczna, dwa razy po 100nF i jeden 1000uF
|
|
| Back to top |
|
 |
dimarco81 Poziom 7

Joined: 18 Dec 2006 Posts: 21
|
#46
18 Mar 2007 21:44 Re: Zegar binarny na Atmega8 |
|
|
|
Witam
joboo
proszę podpowiedz mi jak pozmieniać w kodzie żródłowym
mam generator kwarcowy 14.3Mhz - czy może być taki ???
Kawałek kodu:
$regfile = "m8def.DAT"
$crystal = 16000000 / w tym miejscu mam zmienić ?? /
Dim Sekjed As Byte , Sekdzies As Byte , Minjed As Byte , Mindzies As Byte , Maxi As Byte
Dim Godzjed As Byte , Godzdzies As Byte , Wyswietl As Byte , Migaj As Bit , Uniwersalny As Byte
Config Portd = 255
Portd = &B255
Config Portc = &B0000000
Portc = &B0000000
Config Portb.2 = Output
Config Portb.3 = Output
Config Portb.4 = Output
Config Timer0 = Timer , Prescale = 64 / tutaj też ?? /
Config Timer1 = Timer , Prescale = 256
Enable Interrupts
Enable Timer0
Enable Timer1
On Timer0 Co4ms
On Timer1 Co1s
Sekjed = 9 : Sekdzies = 5 : Minjed = 9 : Mindzies = 5 : Godzjed = 3 : Godzdzies = 2
Uniwersalny = 6 : Maxi = 100
Pozdrawiam...
Czy można zastosować wewnętrzy generator Atmegi8 - 8PU - na 8Mhz
i muszą coś zmieniać w kodzie ???
Tak na logike jeśl zastosuje kwarca wew/zew 8Mhz to w kodzie muszę zmienić w linijce:
- $crystal = 16000000 / na $crystal = 8000000
- Config Timer0 = Timer , Prescale = 64 / na Config Timer0 = Timer , Prescale = 2
o to chodzi ???
a jak będzie z generatorem 14.3 Mhz ??
POZDRAWIAM
|
|
| Back to top |
|
 |
drakerus Poziom 5

Joined: 29 Nov 2006 Posts: 11 Location: warszawa
|
#47
19 Mar 2007 14:11 Re: Zegar binarny na Atmega8 |
|
|
|
Hi All,
Ciagle mam problem z uruchominiem tego zegara. Na poczatku myslalem ze cos sknocilem jak polutowalem pajaka na plytce uniwersalnej, w zwiazku z tym zrobilem w protelu pcb (pdfy do termotransferu w zalaczniku), potem myslalem ze mam walniete elementy ( zakupilem drugi komplet - tak sobie wymysllilem ze niebieskie ledy beda ok - i to jest jedna z dwoch zmian jakich dokonalem w stosunku do orginalu, druga jest taka, ze zamiast generatora mam kwarc 16 MHz i dwa kondensatory 33pF - tak tez powino dzialac wg slow joboo). Poniewaz jak sie wydaje problem nie jest ani z pcb ani z elementami - to musi dotyczyc albo programu albo sposobu programowania atmegi. No i teraz z moich obserawcji wynika ze:
1. Nie ma znaczenia czy programuje atmege orginalnym wsadem za pomoca ponyprog2000, czy tez kompiluje zrodlo w bacom-avr i laduje do megi tak skompilowany program z poziomu bacom-avr, i tak urzadzenie nie dziala.
2. Podczas symulacji programu w bascom-avr w oknie hardware symulation, diody ktore ilustruja stany portrow migaja tak jak powinny tj, dla portu c zapalaja sie i gasna kolejno diody pc6 - pc0 (sterowanie kolumnami), natomiast dla portu d zapalaja sie diody zgodnie z tym co akurat mam byc wyswietalnie binarnie.
Zgodnie z zaleceniem joboo dla kwarcu 16 Mhz takiego jak posiadam fusebity dla zegara w bascom-avr wybieram 1110 (ostatnia pozycje z listy rozwijalnej) i laduje do atmegi za pomoca przycisku WRITE FS.
Teraz mam kilka pytan:
1. Pierwsze odnosnie ustawiien fusbitow czy poza zmiana ustawien dla zegara trzeba cos jeszcze zmienic??
2. Analizujac kod porogramu zauwazylem dwie rzeczy ktore wg mnie nie sa ok (poniewaz jestem poczatkujacy w programowaniu avrow moge sie mylic, a jesli tak to prosze mnie poprawic):
| Code: |
Config Portd = 255
Portd = &B255
Config Portc = &B0000000
Portc = &B0000000
Config Portb.2 = Output
Config Portb.3 = Output
Config Portb.4 = Output
|
Z tego co widac powyzej Portb, a w zasadzie linie 2, 3 i 4 tego portu zadeklarowane sa jako wyjsciowe, na schemacie ideowym linie 2 i 3 podpiete sa do przelacznikow ustawiajacych czas - z tego co mi wiadomo to, aby atmega mogla czytac stan przelacznikow to linie do ktorych ma je podpiete musza byc ustawione jako input. Czy w zwiazku z tym portb jest w programie dobrze zadeklarowany ??
Teraz aby mozna bylo sterowac jakims urzadzeniem zewnetrznym podpietym do atmegi to trzeba port/linie portu do ktorego jest podpiete takie urzadzenie nalezy ustawic jako output. I tu tez mam pytanie czy definicja portow c i d w programie sa wystarczajace ?? Czy nie powinno byc jeszcze takiej deklaracji:
| Code: |
Config Portc = Output
Config Portd = Output
|
Dla sysmulacji w bacom-avr nie ma znaczenia jak sa poustawiane porty za pomoca instrukcji config (testowalem rozne wartosci i ustawinia portow b i d i za kazdym razem sysmulacja ladnie dzialala) ale po wgraniu do atmegi nie chce dzialac.
Byc moze moje pytania sa trywialne ale podobno kto pyta nie bladzi wiec ... pytam.
Pozdrawiam
| Description: |
|
 Download |
| Filename: |
binary_clock_protel.zip |
| Contents: |
binary_clock_protel
, Protel S...tic.pdf
, Multilay...int.pdf
, BottomLayer.pdf
, Top Silk...lay.pdf
See all... |
| Filesize: |
125.91 KB |
| Punkty: |
0.00 |
|
|
| Back to top |
|
 |
curek Poziom 14

Joined: 10 Mar 2005 Posts: 167 Location: Gdynia
|
#48
22 Mar 2007 00:41 Re: Zegar binarny na Atmega8 |
|
|
|
A moglbym prosic o hexa dla wersji ze zwyklym kwarcem (16mhz i te ceramiki). Bo kurde nie moge dac sobie rady z tym :|
|
|
| Back to top |
|
 |
Thor1987 Poziom 11

Joined: 09 Jan 2006 Posts: 65 Location: Rybnik
|
#49
23 Mar 2007 20:08 Re: Zegar binarny na Atmega8 |
|
|
|
Ja mam taki sam problem zrobilem wszystko dobrze wgralem programik i nic nie dziala nie chce ATmega8 Dzialac z Tym programikiem ;/;/;/
Pozdrawiam Bartek
|
|
| Back to top |
|
 |
Lokas Poziom 7

Joined: 09 Dec 2006 Posts: 21 Location: Rusiec
|
#50
28 Mar 2007 17:06 Re: Zegar binarny na Atmega8 |
|
|
|
A teraz moje głupie pytanie: czym zasilać układ? Można bateryjnie? Jakich baterii użyć? Ile na tych bateriach zegarek pochodzi?
|
|
| Back to top |
|
 |
drakerus Poziom 5

Joined: 29 Nov 2006 Posts: 11 Location: warszawa
|
#51
03 Apr 2007 14:13 Re: Zegar binarny na Atmega8 |
|
|
|
Hi All,
Posiedzialem troche nad tym ukladem poszukalem troche w necie i moge powiedziec ze udalo mi sie w koncu uruchomic ten zegar, ale jest jedna rzecz ktora psuje caly efekt - a mianowice kolumna wyswietlajaca jednostki minut nie wygasza calkowicie diod, efekt jest taki, ze nawet gdy koluma jednostek minut powinna pokazywac 0 (czyli wszystkie diody wygaszowne) to diody w tej kolumnie delikatenie swieca w rytm zmian kolumn jednostek sekund :( - probowalem juz roznych rzeczy (zmienialem rezystory, zmienialem program) i nic nie pomaga. Ma ktos jakis pomysl o co chodzi ?? I jeszcze jedno pytanie w jaki sposob mozna zmienic intensywnosc swiecenia LED-ow w tym ukladzie (moje diody strasznie jasno swieca (wiem wiem mozna zamiast niebieskich zastosowac jakies inne ktore swieca slabiej ale nie o to chodzi) - zmienialem rezystory sterujace baza tranzystrow i to nic nie dalo ??
A teraz kilka inforamcji ktore moga sie przydac do uruchomienia w/w układu:
Ponizej kod programu oraz wsad ktory dziala u mnie w zegarku (zgodny ze schematem ideowym od joboo - pcb w moim poprzednim poscie). Program ten to modyfiakcja programu z ksiazki "Mikroprocesory dla poczatkujacych" dostosowujaca go procesora Atmega8 w orginale byl ATTiny2313.
| Code: |
'S1 - godziny
'S2 - minuty
$regfile = "m8def.DAT"
$crystal = 4000000
Dim Sekjed As Byte , Sekdzies As Byte , Minjed As Byte , Mindzies As Byte , Maxi As Byte
Dim , Godzjed As Byte , Godzdzies As Byte , Mux As Byte , Uniwers As Byte
Config Portd = 255 : Portd = &B255 : Config Portc = &B11111111 : Portc = &B11111111
Config Portb.2 = Input
Portb.2 = 1
Config Portb.3 = Input
Portb.3 = 1
Config Timer0 = Timer , Prescale = 64
Config Timer1 = Timer , Prescale = 64
Enable Interrupts : Enable Timer0 : Enable Timer1
On Timer0 Co4ms : On Timer1 Co1s
Sekjed = 5 : Sekdzies = 5 : Minjed = 1 : Mindzies = 0 : Godzjed = 1 : Godzdzies = 1
Uniwers = 6
Maxi = 100
Do
Loop
End
Co1s:
Timer1 = 3036
Incr Sekjed
Return
Co4ms:
Decr Uniwers
If Pinb.3 = 0 And Pinb.2 = 1 Then
If Uniwers = 0 Then
Uniwers = Maxi : Incr Minjed : Sekjed = 0 : Sekdzies = 0
Maxi = Maxi - 8 : If Maxi < 8 Then Maxi = 8
End If : End If
If Pinb.2 = 0 And Pinb.3 = 1 Then
If Uniwers = 0 Then
Uniwers = Maxi : Incr Godzjed
Maxi = Maxi - 8 : If Maxi < 12 Then Maxi = 12
End If : Else
If Uniwers = 0 Then
Uniwers = 6 : Maxi = 100
End If : End If
If Sekjed = 10 Then
Sekjed = 0 : Incr Sekdzies
End If
If Sekdzies = 6 Then
Sekdzies = 0 : Incr Minjed
End If
If Minjed = 10 Then
Minjed = 0 : Incr Mindzies
End If
If Mindzies = 6 Then
Mindzies = 0 : Incr Godzjed
End If
If Godzjed = 10 Then
Godzjed = 0 : Incr Godzdzies
End If
If Godzdzies = 2 And Godzjed = 4 Then
Godzdzies = 0 : Godzjed = 0
End If
Mux = Uniwers And &B111 : Portc = &B111111
Select Case Mux
Case 1:
Portd = Lookup(sekjed , Tabela) : Portc.0 = 0
Case 2:
Portd = Lookup(sekdzies , Tabela) : Portc.1 = 0
Case 3:
Portd = Lookup(minjed , Tabela) : Portc.2 = 0
Case 4:
Portd = Lookup(mindzies , Tabela) : Portc.3 = 0
Case 5:
Portd = Lookup(godzjed , Tabela) : Portc.4 = 0
Case 6:
Portd = Lookup(godzdzies , Tabela) : Portc.5 = 0
End Select : Return
Tabela:
Data 255 , 254 , 253 , 252 , 251 , 250 , 249 , 248 , 247 , 246 'pozytyw
'Data 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 'negatyw
|
Z moich obserawcji wynika ze stosowanie innego kwarcu niz 4MHz spowoduje ze program nie bedzie dzialal. Przy kwarcu 16MHz fuse bity ustawionych na 1110 oraz odpowiednim przekonfigurowaniu preskalera timerow wyswietalna jest caly czas wstepnie zdefiniowana w programie godzina. Jest tez pozytywna informacja - nie trzeba stosowac kwarcu mozna odpalic na wewnetrznym ukladzie RC o czestotliowsci 4MHz oczywiscie stabilnosc takiego zegara bedzie gorsza niz z kwarcem.
To narazie tyle.
Pozdro.
| Description: |
|
 Download |
| Filename: |
wsad_drakerus.rar |
| Contents: |
ZEGAR_BI..._OK.HEX
, zegar_bi..._ok.bas
, ZEGAR_BI..._OK.BIN
, wsad_drakerus
See all... |
| Filesize: |
2.65 KB |
| Punkty: |
0.00 |
|
|
| Back to top |
|
 |
Lokas Poziom 7

Joined: 09 Dec 2006 Posts: 21 Location: Rusiec
|
#52
08 Apr 2007 10:34 Re: Zegar binarny na Atmega8 |
|
|
|
Mi tradycyjnie nie działa :) Co mam zrobić żeby BascomAVR widział moją atmege?
PS: U mnie bascom wykrywa 2 nieprawidłowości. (totalnie nie wiem dlaczego):
Po wciśnięciu F4 wyskakują mi na ekran takie komunikaty:
następnie:
(to chyba objawy nie-widzenia przez program mikrokontrolera...)
Weryfikacja kończy sie tak:
Na zajęciach w szkole wyglądało to prościej :/ Instalowaliśmy byle jaką drukarke, i z komunikają nie było już problemów :/
Pomocy :D
|
|
| Back to top |
|
 |
Google

|
#
08 Apr 2007 10:34 |
|
|
|
|
|
| Back to top |
|
 |
endrius85 Poziom 9

Joined: 04 Feb 2007 Posts: 34 Location: Wrocław/Ostrów Wlkp.
|
#53
08 Apr 2007 18:06 Re: Zegar binarny na Atmega8 |
|
|
|
witam
mam takie pytanko,
tez chce sie zabrac za taki zegar, ale jestem poczatkujacy :( wiec ciezko mi to wszystko zrozumiec. Myslalem zeby taki zegar zrobic ale dzialajacy na ogniwo sloneczne (oczywiscie kilka polaczonych ze soba), jak myslicie bedzie to dzialac??? Czy mozna zbudowac troche prosciej caly uklad ???
z gory dzieki :)
|
|
| Back to top |
|
 |
drakerus Poziom 5

Joined: 29 Nov 2006 Posts: 11 Location: warszawa
|
#54
14 Apr 2007 15:11 Re: Zegar binarny na Atmega8 |
|
|
|
Hi All,
Poniewaz udalo mi sie uruchomic w koncu to urzadzenie ( a przy okazji troche sie z nim pomeczylem ) byc moze moje infromacje beda pomocne:
1) Lokas - komunikaty bledu ktore sie tobie pojawily swiadcza o tym ze, nie masz w kodzie programu na poczatku takiego wpisu
| Code: |
$regfile = "m8def.DAT"
|
i jednoczesnie ustawienia twojego kompilatora wskazuja inny typ procka niz atmega8. Jesli jednak masza ta definicje w kodzie programu lub odpowiedni procek jest ustawiony w konfiguracji bascoma to byc moze twoja wersja bascoma nie jest najnowasza. Postaraj sie sciagnac i zainstalowac nowa wersje bascoma.
Jesli chodzi o problemy z komunikacja to nie bardzo rozumiem co ma drukarka ( a wlasciwie instalowanie byle jakiej drukarki ) do programowania?? To co jest Tobie potrzebne do programowania tego procka to jakis programator (ja uzywam STK200/300) i odpowiednia konfigracja bascoma-avr ( w ustawieniach programu trzeba wybrac posiadany programator), no i oczywiscie musisz poprawnie podlaczyc wszystkie sygnaly z programatora do procka ( plus zasilania, minus, SCK, RESET, MISO, MOSI) a jak to juz bedziesz mial to musi smigac. Czasem zadarza sie ze jest problem z kwarcem ale i z tym tez mozna dac sobie rade - napewno jesli masz nowa atmege8 to pracuje ona na wewnetrznym 1MHz zegarze.
2) Endrius85 - to ze jestes poczatkujacy w niczym nie przeszkadza ( tez jestem poczatkujacy - pytanie tylko czy wystarczy ci checi i cierpliwosci zeby ewentualne problemy rozwiazac). Zegarek ten wbrew pozorom nie jest specjalnie skomplikowany ( czytaj bardziej prosto byc nie moze - przynajmniej jesli chodzi o hardware). Zasilanie z ogniw slonecznych moze byc pytanie tylko czy bedzie Ci sie chcialo zawsze o wschodzie slonca ustawiac to cudo?? Bez podtrzymania bateryjnego nie ma to sensu. I tu do rozwazenia dwie mozliwosci:
1. Ktos na tym forum pisal ze jedna z firm robi kity z zegarem binarnym ( i z tego co wiem to posiada on funkcje podtrzymania bateryjnego - no i oczywiscie nie bedziesz sie musial stresowac programowaniem, a nawet jak nie zadziala to wyslesz im niedzialajacy kit a oni odesla ci sprawny ).
W tym wypaku kosz urzadzenia bedzie wynosil ok 70 PLN + ogniwa sloneczne.
2. Mozesz zrobic zegar z tego forum odpowiednio przerabiajac uklad i program tak aby podtrzymanie bateryjne dzialalo. Koszt elementow ok 30 PLN + ogniwa slonecze no i oczywiscie ogromna satysfakcja ze zrobiles cos sam. Jesli jestes zainteresowany zmodyfikowana wersja programu i ukladu o podtrzymanie bateryjne to daj znac - uklad i program juz zrobilem i nawet dziala :) )
No to bylo by na tyle.
Pozdro.
|
|
| Back to top |
|
 |
endrius85 Poziom 9

Joined: 04 Feb 2007 Posts: 34 Location: Wrocław/Ostrów Wlkp.
|
#55
14 Apr 2007 15:55 Re: Zegar binarny na Atmega8 |
|
|
|
witam
nizej podalem link do firmy o ktorej pisales odnosnie tego zestawu
http://www.nordelektronik.com/index.php?uklad=182
a odnosnie zasilania slonecznego to oczywiscie trzeba dac podtrzymanie bo kto bedzie codziennie rano wstawal, moj pomyls jest taki zeby w dzien bylo zasilanie sloneczne a w nocy z baterii ale paluszkow. Dlatego trzeba by troszke "odchudzic" uklad, moze diody od telefonu beda dobre ??? Zegarek z ogniw na paluszki moglby przechodzic albo godzinowo (zmiana programu) lub przez wlacznik zmierzchowy (ja preferuje to 2) wtedy nawet przy malym naslonecznieniu nie utracimy godziny. Przeszukalem google i znalalem ciekawe schematy, nie jestem do konca pewien ale ten 1(binary.jpg) chyba nie potrzebuje programu, jak zle pisze to mnie poprawcie
| Description: |
|
| Filesize: |
113.95 KB |

|
| Description: |
|
| Filesize: |
81.55 KB |

|
|
|
| Back to top |
|
 |
Lokas Poziom 7

Joined: 09 Dec 2006 Posts: 21 Location: Rusiec
|
#56
14 Apr 2007 16:00 Re: Zegar binarny na Atmega8 |
|
|
|
Dzięki za odpowiedź :D
Mógłbyś mi przesłać schemat takiego programatora? Ja niby wykonałem najbardziej prymitywny jaki może być, zasilany z czerwonego i czarnego kabelka zasilacza komputerowego :P
Instalowanie drukarki, chyba "urdażnia" port LPT, tak musieliśmy robić na zajęciach w szkole, inaczej komputer nie komunikował sie z prockiem (Pracowaliśmy na ATTINY, ale na Atmadze raczej winno być podobnie)
Dzięki z góry, czekam na schemat programatora :)
|
|
| Back to top |
|
 |
drakerus Poziom 5

Joined: 29 Nov 2006 Posts: 11 Location: warszawa
|
#57
16 Apr 2007 14:14 Re: Zegar binarny na Atmega8 |
|
|
|
Hi ALL,
Dwie sprawy pierwsza odnoscnie zasilania z ogniw slonecznych, druga odnosnie programatora:
1. Andrius85 w pierwszym poscie pisales ze chcialbys zrobic taki zegar i pytales czy nie dalo by sie uproscic ukladu - tak jak pisalem wczesniej prosciej chyba nie mozna. Uklad z tego forum trzeba bylo by zmodyfikowac o dodatkowy tranzystor, dwa rezystory i dwie diody aby dodac podtrzymanie bateryjne, ale i tak uklad bylby prostszy niz ten ktorego schemat zamiesciles. Masz racje ze uklad z tego schematu nie potrzebuje programu ( podobny uklad byl opisany w EDW jako zegar predatora). Wracajac do sprawy zasilania nie ma potrzeby stosowania ukladu zmierzchowego - wystarczy zeby napiecie z ogniw slonecznych bylo wieksze niz to z podtrzymania bateryjnego, cala reszte zalatwi program. Co masz na mysli mowiac o odchudzaniu ukladu ?? Chodzi o zmniejszenie gabartytow czy obnizenie poboru pradu??
2. Lokas ja swoj programator kupilem na allegro (bylo taniej niz robic samemu). Tak czy inaczej ponizej link do strony ze schematem programatora (najpostszego i zaawansowanego) dodatkowo jeszcze jakis software:
http://www.amwaw.edu.pl/~adybkows/elka/ispprog.html
W avt mozna zamowic albo pcb albo zmontowany programator. Jesli masz zamiar pobawic sie dluzej programowaniem avr-ow to kup albo poskladaj jakis porzadny programator - jesli masz zamiar zaprogramowac jeden lub dwa avry to wystarczy ci schemat kabelka z linka powyzej.
Pozdro.
|
|
| Back to top |
|
 |
endrius85 Poziom 9

Joined: 04 Feb 2007 Posts: 34 Location: Wrocław/Ostrów Wlkp.
|
#58
16 Apr 2007 17:50 Re: Zegar binarny na Atmega8 |
|
|
|
drakerus, mowiac o odchudzeniu mialem na mysli zmniejszenie poboru pradu, tak zeby ogniwa daly rade (wiadomo sprawnosc itp) i zeby co miesiac nie kupowac nowych baterii :)
pozdrawiam
|
|
| Back to top |
|
 |
curek Poziom 14

Joined: 10 Mar 2005 Posts: 167 Location: Gdynia
|
#59
16 Apr 2007 21:20 Re: Zegar binarny na Atmega8 |
|
|
|
ja dalem trafko 6V 220mA Zaplacilem za nie cale 5 zeta :P Mierzylem prad i uklad pobiera w porywach do 30mA tak wiec moim zdaniem ogniwa uciagna to ;)
|
|
| Back to top |
|
 |
endrius85 Poziom 9

Joined: 04 Feb 2007 Posts: 34 Location: Wrocław/Ostrów Wlkp.
|
#60
16 Apr 2007 22:50 Re: Zegar binarny na Atmega8 |
|
|
|
o to juz milo, a teraz tak mysle, ze mozna by ten zegarek tak zrobic aby w ogole nie byl zasilany z 220V :), tylko ogniwa i baterie (paluszki i podtrzymanie) to by bylo cosik :P
|
|
| Back to top |
|
 |