Atmega8 egyszerű óra

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
szepnorbee
Bitmanipulátor
Hozzászólások: 122
Csatlakozott: 2009. augusztus 31. hétfő, 6:00

Atmega8 egyszerű óra

Hozzászólás Szerző: szepnorbee »

Üdv mindenki! Egy olyan kérdéssel fordulok hozzátok, hogy egy egyszeű órát szeretnék összehozni egy ATMEGA8 + 16x2 LCD -ből. Kezdő révén természetesen nem sikerült, mert valószínű valamit kihagytam.
Adott ez az egyszerű program:

Kód: Egész kijelölése


    Enable Interrupts
    Config Clock = Soft                                     'This command inits the clock

    $baud = 9600

    Config Date = Ymd , Separator = -                       ' ANSI-Format


    Input "Enter the time (hh:mm:ss):" , Time$
    Input "Enter the date (mm/dd/yy):" , Date$

    Cls
    Cursor Off

    Locate 1 , 1
    Lcd "Real Time Clock"

    Do
       Locate 1, 1
       Lcd Time$
       Locate 2 , 1
       Lcd Date$
       Waitms 10
    Loop
Namármost a program fut, bekéri az időt, de valamiért se a bascom szimulátorban se a megépített próba változat nem működik, vagyis nem jár az óra. A beállított időt írja mindíg. A procit a belső 1 Mhz-ről járatom egyenlőre. Talán kellene egy külső kvarc és elindulna?
A hozzászólást 1 alkalommal szerkesztették, utoljára szepnorbee 2009. december 28. hétfő, 13:16-kor.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

külső órakvarc fenn van a chipen?
Avatar
szepnorbee
Bitmanipulátor
Hozzászólások: 122
Csatlakozott: 2009. augusztus 31. hétfő, 6:00

kvarc

Hozzászólás Szerző: szepnorbee »

Üdv! Az nincs hanem egy 4 Mhz-es kvarc 2db 22p kondi társaságában és a fuse bitek külső osc-ra állítva. De így sem jár. Azt hittem ez hiányzik. Milyen kvarcra gondolsz? pl. ébresztőórából kiszedett kis hengeralakúra? Vagy lehet a mega8-ban nincs óra?
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Mondjuk 2 soros: 16 * 2 LCD-n nincsen 3. sor!

Kód: Egész kijelölése

       Locate 3 , 1 
       Lcd Date$
:lol:
Avatar
szepnorbee
Bitmanipulátor
Hozzászólások: 122
Csatlakozott: 2009. augusztus 31. hétfő, 6:00

Hozzászólás Szerző: szepnorbee »

kapu48 írta:Mondjuk 2 soros: 16 * 2 LCD-n nincsen 3. sor!

Kód: Egész kijelölése

       Locate 3 , 1 
       Lcd Date$
:lol:
Bocsi azt elírtam, de nem az a baj mert próbáltam már lowerline-al is, meg mindenféle pozicióba íratni. Az óra megjelenik, de nem jár.
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Avatar
szepnorbee
Bitmanipulátor
Hozzászólások: 122
Csatlakozott: 2009. augusztus 31. hétfő, 6:00

Hozzászólás Szerző: szepnorbee »

kapu48 írta:Benne van a 32KHz Qvarc ?:
http://avrprojects.net/images/Real%20Ti ... 16_sch.gif
Igen benne. De a 2. GND és az AVCC nincs bekötve. Az lehet gond?

Szerk: Bekötöttem és akkor sem. Ugy olvasom h. a Mega8-nál azt OSC bemenet és az XTAL ugyan ott van nem úgy mint a M16-nál. De nem akar járni az óra. Nem lehet a fuse biteknél vmi?
Avatar
nobody_hun
Bitfaragó
Hozzászólások: 425
Csatlakozott: 2005. november 14. hétfő, 7:00

Hozzászólás Szerző: nobody_hun »

Az adatlapból (28. oldal):

Kód: Egész kijelölése

To use a 32.768 kHz watch crystal as the clock source for the device, the Low-frequency Crystal
Oscillator must be selected by setting the CKSEL Fuses to “1001”. The crystal should be connected
as shown in Figure 11. By programming the CKOPT Fuse, the user can enable internal
capacitors on XTAL1 and XTAL2, thereby removing the need for external capacitors. The internal
capacitors have a nominal value of 36 pF.
When this Oscillator is selected, start-up times are determined by the SUT Fuses as shown in
Table 6.
A 32768 Hz-s kvarcot kondi nélkül tedd a TOSC1 és TOSC2 lábakra.

A CKOPT és a CKSEL biztiket a fentiek szerint programozd be.

AVCC és AGND nem játszik.

Nekem ezzel a kóddal működik:

Kód: Egész kijelölése

$regfile = "m8def.dat"                                      
$crystal = 1000000                                          
Config Date = Ymd , Separator = - 
Config Clock = Soft 
Enable Interrupts

Time$ = "00:00:00"
Date$ = "00.00.00"

Do 
   Locate 1 , 1 
   Lcd Time$                                           
   Locate 2 , 1 
   Lcd _year ; "." ; _month ; "." ; _day
   Waitms 200 
Loop 
End 

"Az IC-k füsttel működnek. Ha kijön belőlük a füst, nem működnek tovább." - ismeretlen szerző
"Az ID:FFFFFF egyenlő az Atmel még nem kiadott processzorával."
Avatar
szepnorbee
Bitmanipulátor
Hozzászólások: 122
Csatlakozott: 2009. augusztus 31. hétfő, 6:00

Hozzászólás Szerző: szepnorbee »

nobody_hun írta:Az adatlapból (28. oldal):

Kód: Egész kijelölése

To use a 32.768 kHz watch crystal as the clock source for the device, the Low-frequency Crystal...
Rátettem a kvarcot, belőttem a CKSEL-t 1001-re (a SUT-ot utánna akartam) és azóta nem érem el a prozit :S Meggyilkoltam? Vagy az 1001 mire jó? Külső 4 mhz kvarcal lehet elindul?

Szerk: Kipróbáltam nem indul sehogy sem :S Piszkálgatás után a belső osc-ról ment és a Sut1=0 Sut0=1 volt. PonyProg-al állítottam mert csak az kezeli a programozómat. (tudom h. a pipa 0-t, az üres pedig 1-et jelent)

Tehát elvileg most így van: Ext.Low-Freq. Crystal, Start Up Time 1K CK + 64ms ; CKSEL=1001 SUT=01

Mond ez nektek valamit? Mi lehet a gond? Már annak is örülnék ha újra írható lenne a proci. :cry:
Avatar
nobody_hun
Bitfaragó
Hozzászólások: 425
Csatlakozott: 2005. november 14. hétfő, 7:00

Hozzászólás Szerző: nobody_hun »

A CKOPT engedélyezi a belső kondikat, ami 36pF, valószínűleg ez hiányzik nálad. Tegyél két kondit a kvarcra, akkor el fog indulni a proc.
"Az IC-k füsttel működnek. Ha kijön belőlük a füst, nem működnek tovább." - ismeretlen szerző
"Az ID:FFFFFF egyenlő az Atmel még nem kiadott processzorával."
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

M8ra belső órajelet engedelyezni, es a orakvarcot a tosc1/tosc2 labra rakni.

A config .... sor allitja be, hogy a kulso 32 khz-t hasznald.
Avatar
szepnorbee
Bitmanipulátor
Hozzászólások: 122
Csatlakozott: 2009. augusztus 31. hétfő, 6:00

Hozzászólás Szerző: szepnorbee »

Robert írta:M8ra belső órajelet engedelyezni, es a orakvarcot a tosc1/tosc2 labra rakni.

A config .... sor allitja be, hogy a kulso 32 khz-t hasznald.
Tehát ha minden fuse bitet alapon hagyok a mega8-on és ezt a progit futtatom a 32k külső órakvarcal a tosc1/xtal1 ; tosc2/xtal2 lábakon akkor járni kellett volna az órának? Mert ezzel kezdtem és nem tette :S a két 22p kondit természetesen nem felejtettem el, azok is rajta voltak amikor a 4mhz kvarcal próbáltam. Az előbb próbálta msegéd órajellel is de nem tudom elérni. Ezt a programozót használom: http://electronics-diy.com/avr_programmer.php Eddig kifogástalanul tette a dolgát, nem hiszem, hogy ez lenne a baj.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

A 32khz Q-hoz nem kell külső kvarc....
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

A soros programozot felejtsd el.....
Az RS232 port csak ajánlás, és az új alaplapokon nem működik ez a programozó stabilan!
Avatar
szepnorbee
Bitmanipulátor
Hozzászólások: 122
Csatlakozott: 2009. augusztus 31. hétfő, 6:00

Hozzászólás Szerző: szepnorbee »

Robert írta:A soros programozot felejtsd el.....
Az RS232 port csak ajánlás, és az új alaplapokon nem működik ez a programozó stabilan!
Miért? A 32K kvarc beépített? Vagy kondit akartál írni? Ez a soros programozó tökéletes volt eddig a célra a P2 400Mhz gépemben, szerintem nem ettől vált programozhatatlanná a chipem.

PonyProg-ban nincs valami chip mentő okosság? Vagíy rendelhetem az újat?:D
Válasz küldése