Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

Digitální hodiny v Bascomu na ATTINY 2313

 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Robert



Založen: Jan 25, 2005
Příspěvky: 17
Bydliště: Zlín

PříspěvekZaslal: pá červenec 04 2008, 20:30    Předmět: Digitální hodiny v Bascomu na ATTINY 2313 Citovat

Zdravím,
potřeboval bych pomoc. Programuji hodiny v Bascomu a nejdemi to rozjet. Už nad tím sedím spoustu dní a pořád mi to nejdene. Nemněl by někdo funkční program nebo návod jak na ten program.
Díky Zatím
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
rkozeluh



Založen: Feb 17, 2007
Příspěvky: 262
Bydliště: Liberec

PříspěvekZaslal: so červenec 05 2008, 9:24    Předmět: Citovat

'--------------------------------------------------------------
' Hodiny.bas
'
' Po zapnutí začne zobrazovat hodiny : minuty : vteřiny (od 0:00:00)
' K PD5 a PD6 připojte tlačítka pro nastavení
'--------------------------------------------------------------
'$sim
$regfile = "Attiny2313.DAT"
$crystal = 10000000

'Deska ZD1:
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2

'Timer1 = časovač, bez předděliče, odpojený od pinu OC1A, při shodě vynuluj čítač
Config Timer1 = Timer , Prescale = 1 , Compare A = Disconnect , Clear Timer = 1
Compare1a = 50000 'porovnávací hodnota (5 ms)

Enable Interrupts 'povol přerušení
Enable Compare1a 'povol přerušení COMPARE1A
On Compare1a Tim 'při přerušení jdi na Tim

Declare Sub Zobraz 'deklarace procedury

Dim Pocet_preruseni As Word 'počet přerušení
Dim Vterin As Byte , Minut As Byte , Hodin As Byte

Tlac_hod Alias Pind.5 'tlačítko nastavení hodin
Tlac_min Alias Pind.6 'tlačítko nastavení minut
Config Portd = Input 'celý portD vstupní
Portd = 255 'pull-up

Cursor Off 'vypni kurzor
''''''''''''''''''''''''''' HLAVNI PROGRAM '''''''''''''''''''''''''''''''''''

Pocet_preruseni = 0 'vynuluj proměnné
Vterin = 0
Minut = 0
Hodin = 0

Do

'Test tlačítek:
If Tlac_hod = 0 Then
Cls
Incr Hodin 'přičti 1
Call Zobraz
Waitms 200 'rychlost přičítání
End If

If Tlac_min = 0 Then
Cls
Incr Minut
Call Zobraz
Waitms 200
End If

'Zobrazení na displeji:
Call Zobraz
Waitms 100
Loop

''''''''''''''''''''''''''' KONEC HLAVNIHO PROGRAMU ''''''''''''''''''''''''''
End

Sub Zobraz
Cls
Lcd Hodin ; ":"

If Minut < 10 Then 'pokud minut je 0 - 9
Lcd "0" ; Minut ; ":" 'přidáme úvodní nulu, aby výsledek byl vždy dvojmístný
Else
Lcd Minut ; ":"
End If

If Vterin < 10 Then
Lcd "0" ; Vterin
Else
Lcd Vterin
End If
End Sub


Tim: 'obsluha přerušení
Incr Pocet_preruseni 'každých 5 milisec vznikne přerušení (při 10 MHz)

If Pocet_preruseni > 199 Then '200 x 5 ms = 1 sec
Incr Vterin 'zvětši o 1
Pocet_preruseni = 0 'vynuluj počítadlo
End If

If Vterin > 59 Then
Vterin = 0
Incr Minut 'každou minutu
End If

If Minut > 59 Then
Minut = 0
Incr Hodin 'každou hodinu
End If

If Hodin > 23 Then 'každý den
Hodin = 0
End If
Return

----------------------------------
toto není moje tvorba, ale našel jsem to někde na netu, tak snad by to mohlo pomoci.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nekmil



Založen: Mar 06, 2005
Příspěvky: 787
Bydliště: Havířov

PříspěvekZaslal: so červenec 05 2008, 15:16    Předmět: Citovat

to Robert: prozraď nám schéma a výpis programu Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Robert



Založen: Jan 25, 2005
Příspěvky: 17
Bydliště: Zlín

PříspěvekZaslal: ne červenec 06 2008, 17:49    Předmět: Citovat

Paráda. Díky moc.
Už mi to jede. Ještě bych se zeptal, co a jak mám upravit pro krystal 12 MHz. Jinak pro ,,Nekmil,, konkrétněji co máš na mysly. Schéma programu nebo fyzické desky na kterou to dám?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
nekmil



Založen: Mar 06, 2005
Příspěvky: 787
Bydliště: Havířov

PříspěvekZaslal: po červenec 07 2008, 17:12    Předmět: Citovat

Myslel jsem schéma zapojení těch hodin a výpis programu.

Při použití krystalu 12MHz změň $crystal = 12000000
a v obsluze přerušení musíš přepočítat počty přerušení

Tim: 'obsluha přerušení
Incr Pocet_preruseni 'každých 5 milisec vznikne přerušení (při 10 MHz)

If Pocet_preruseni > 199 Then '200 x 5 ms = 1 sec
Incr Vterin 'zvětši o 1
Pocet_preruseni = 0 'vynuluj počítadlo
End If
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Robert



Založen: Jan 25, 2005
Příspěvky: 17
Bydliště: Zlín

PříspěvekZaslal: po červenec 07 2008, 17:30    Předmět: Citovat

Přímo schéma ti můžu zaslat. Jinak to bude vosekaná testující deska, pouze ATTINY 2313, LCD monitor, asi čtyři tlačítka a podpůrné obvody pro chod (,,napájení,, , krystal, piezo).
Spíš to budou stopky než hodiny Laughing
Kdyžtak mi naište na ICQ
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
anonym






PříspěvekZaslal: út červenec 08 2008, 8:17    Předmět: Citovat

citace:
jak mám upravit pro krystal 12 MHz

Stačí změnit řádek
Compare1a = 50000
na
Compare1a = 41666
Návrat nahoru
nekmil



Založen: Mar 06, 2005
Příspěvky: 787
Bydliště: Havířov

PříspěvekZaslal: st červenec 09 2008, 17:57    Předmět: Citovat

to anonym: teoreticky ano, ale stejně je třeba nastavit
$crystal = 12000000 protože jsou v programu použity instrukce WAITMS , jinak by ty časy neseděly Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Jakut
Neregistrovaný





PříspěvekZaslal: st červenec 09 2008, 18:29    Předmět: Citovat

citace:
třeba nastavit
$crystal = 12000000

To jsem předpokládal, ale i kdyby se na to zapomnělo, bude to fungovat. O něco častěji bude zobrazovat a přičítat při nastavování.
(Ten program jsem psal já).
Návrat nahoru
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.19 sekund