mega8 belso oszcilator

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
DOGMAN
Chipgyilok
Hozzászólások: 293
Csatlakozott: 2006. augusztus 27. vasárnap, 6:00

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

fut ahogy csak bír de nem növeli az értékeket.
Kicsit módosítottam a programon, a fene se gondolta hogy pla soros porton átküldött idő (másodpercenként) annyi időt elvesz hogy a LED mátrix multiplexelésében észrevehető kimaradást okoz.
Mire rájöttem mitől elszik el egy pillanatra ...
A pontosságról: van kidöglött márkás pc alaplapom, arról is kipróbálom majd a bios órájának a kvarcát...
Lassan kész a leendő kapcsolási/nyák rajz is, nem lesz verseny ahova beküldhetem majd? :D

Párhuzamosan van kötve egy gombelemes egységgel a dugasztáp, ha elmegy az 5V akkor szépen halványan megy tovább egy 3V-os gombelemről. Persze most mivel nem akku van benne R11 ki van szedve.

Kép

Mivel lehet észlelni szoftverből hogy ez megtörténik és ilyenkor a ledeket nem kacsolni be?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

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

Ezt elegánsan külső óraICvel szokás megoldani. Az M8 a gombelemről fog járni és megeszi....
Amúgy az ADCvel figyelheted, hogy a tápfesz lecsökken....

És a tápfeszt egy 100nF kondival kösd az INT lábra. Így ha az 5V eltűnik, egy lefutó élet kapsz az INTen. A Power Managementtel tudod a fogyasztást visszaszorítani (Power, Sleep stb.).

Én külső órachippel oldottam meg. (PCF8563)
Ebben elemmonitor is van, és I2Cre csatlakozik. Most teszteltem, 1 hét alatt az elmászás <2 mp. 1900.01.01-2099.12.31-ig szépen mér. óra-perc-másodperc-hét napja is van benne, pluszt alarm funkció, azaz időre kelt(het)i a Mega chipet, INT lábon át :)...
A gombelemről ~2-4 évet jár magába....

Dióda helyett schottky-t raknék be. Azon 0,2V esik...

Ha akimeneti soros jelfolyamot a config serialouttal megfogod, az nem segít a villogás kivédésén?


Más: Versenykiírás szeptember elején újra lesz (most fogalmazom) :P
Avatar
DOGMAN
Chipgyilok
Hozzászólások: 293
Csatlakozott: 2006. augusztus 27. vasárnap, 6:00

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

Üdv!

No kicseréltem a kínai vekker kvarcot egy döglött P4-es alaplap órakvarcára.
Most 24 óra alatt nagyjából 3 sec-et siet, ez már itthon disznek el fog menni :)

A versenykiírásra ekkora pontossággal már asszem be merek majd nevezni ezzel a "low budget" bináris órával :D
...remélem nem égek be majd nagyon a profik előtt
Avatar
ReFi
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2008. november 19. szerda, 7:00

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

Az elozo oldalon levo kodot atirtam a itteni parameterekhez.
Nalam Mega16 van a Led a portb0an. a 32,768kHz-es kvarcot az XTAL1 XTAL2-re tettem (12-13-as láb), de nem akar müködni.
Nem villog a LED.
Jah a proci belső 8MHz-re van allitva.

Mit ronthattam el?

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

$regfile = "M16def.dat"
$crystal = 8000000

$hwstack = 32
$swstack = 10
$framesize = 40


Config Timer2 = Timer , Async = On , Prescale = 128
On Timer2 Myisr
Enable Interrupts
Enable Timer2

Config Portb.0 = Output

Do

Loop

Myisr:
Toggle Portb.0

Return
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

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

Start timerx hiányzik!
Avatar
ReFi
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2008. november 19. szerda, 7:00

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

Robert írta:Start timerx hiányzik!
Valóban, beirtam a "Start Timer2"-t az "Enable Timer2" utan, de igy sem villog.
Probaltam egy 8MHz-s kvarcalis, sikertelenul.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

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

Xtal2 felesleges....

Az ASYNC mit keress ott?

a Do-Loop közé egy NOP javasolt

Portb.0=0 nekem hiényzik, bár elhagyható a config után.


Minta, ami nalam volt. A belső/külső Q az tökmindegy...
Ez egy csipogó/villogó.

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

'********************************************************************
'* Program nev: Mega16-06.bas                                       *
'* Fordito    : BASCOM AVR, (V.1.11.8.1)                            *
'* Datum      : 2006-04-15                                          *
'* Honlap     : http://avr.tavir.hu                                 *
'*                                                                  *
'* Irta       : Cseh Róbert                                         *
'* E-mail     : csehrobert@tavir.hu                                 *
'********************************************************************
'ATMEGA16 mintapanel kiegeszito program Mega Board v3-hez:
'Speaker teszt
'Fuse: External Xtal: 1111:1111
'      JTAG         : Disable



'--- Alapadatok ---
$crystal = 14745600                                         'Sebesseg
$regfile = "M16def.dat"                                     'Chip
$baud = 9600


Config Pind.6 = Output                                      'LED
Config Pind.5 = Output                                      'hangszoro
Config Timer0 = Timer , Prescale = 256
Const Fixtimer = 192

Dim Wtime As Byte

On Timer0 Pulse:

Wtime = 100

Enable Interrupts
Enable Timer0

Do
  Set Portd.6
  Waitms Wtime
  Reset Portd.6
  Waitms Wtime
Loop

Pulse:
Timer0 = Fixtimer
  Toggle Portd.5
Return

End
Avatar
herc1234
Bitfaragó
Hozzászólások: 459
Csatlakozott: 2007. február 9. péntek, 7:00

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

na és a "reset circuit" az is megvan?
meg do -loop közé egy nop-ot tegyél be(megelőztek)

simulátorba próbáld ki hogy úgy megy -e ha nem
ujratelepít...(nekem már volt ilyen)
Avatar
ReFi
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2008. november 19. szerda, 7:00

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

Kicsit atirtam a kodot a portok miatt, meg mivel a a portb0-an a led folyamatosan vilagitott, pulseban novelek 1 szamot amit LCD-re iratok.
A szám pörög rendesen, tehat a LED nagyon gyorsan villog.
Mi ertesz azalatt hogy XTAL2 felesleges?
Az orakvarc egyik labat XTAL1-re masikat XTAL2-re kötöttem.

Erdekes hogyha kiveszem az órakvarcot es ugy inditom akkor is ugyanez van. :?

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

$crystal = 8000000                                          'Sebesseg
$regfile = "M16def.dat"                                     'Chip
$baud = 9600


Config Pinb.0 = Output                                      'LED
Config Pinb.1 = Output                                      'LED2
Config Timer0 = Timer , Prescale = 256
Const Fixtimer = 192

Dim Wtime As Byte
Dim Count As Integer

On Timer0 Pulse:

Wtime = 100

Enable Interrupts
Enable Timer0
Start Timer0

Do
  Set Portb.1
  Waitms Wtime
  Reset Portb.1
  Waitms Wtime
Loop

Pulse:
Timer0 = Fixtimer
  Toggle Portb.0
  Locate 1 , 1
  Lcd Count
  Count = Count + 1


Return

End
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

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

Itt a Timer2 nem az órakvarcról, hanem a fő órajelről ketyeg...
Xtal2-nek a komplett órakvarcot akartam írni :P .
Ez a belső óra hazsnálatához jó, de ekkor a Timer2 ugrik. Azt használja a belső óra.
Válasz küldése