AVR ATtiny2313 Uhr Sekundentakt

Gast #2162185
Lesenswert?
• ▲
▼
Moin Moin!

Bin gerade dabei eine Digitale Uhr mit einem Attiny2313 nachzubauen. Ich 
habe die Uhr nach dem Schaltplan von Blackstrom gebaut, jedoch mit einem 
Attiny2313 anstatt des vom Autor verwendeten AT90S2313. Es funktioniert 
auch soweit alles richtig. Aber nun hätte ich gern noch eine 
Sekundenanzeige. Ich hätte noch einen Atmega32 da, mit dem die Uhr auch 
läuft, falls die Sekundenanzeige Programmmäßig realisiert werden sollte. 
Oder aber, der Sekundentakt wird auch den freien Pin des 2313 (PD6) 
gelegt und ich arbeite danach mit Zähler IC's und BCD zu 7 Segment 
treibern.

Da ich leider nicht wirklich ahnung von dem programm habe, weiss ich 
nicht wie ich vorgehen soll! Das einfachste wäre wahrscheinlich den 
atmega32 zu verwenden und dann auf 6 pins die sekunden binär auszugeben, 
aber wie stellt man das an?

Den Code habe ich ma in der txt datei angehängt, vielleicht mag mir ja 
einer helfen :)

mfg

Christoph
Angehängte Dateien:
Gast #2162197
Lesenswert?
• ▲
▼
Ich nochmal...


Ich glaub ich bräuchte 8 pins am mega32 für 2x 4bit, die dann an 2 BCD 
-> 7 segment decoder gehen. Dann müsste es in Programm festgelegt werden 
das die einen 4 bit die sekunden 0-9 hochzählen und die anderen 4 bit 
dann alle 10s einen hochzählen.
Gast #2162213
Lesenswert?
• ▲
▼
Christoph schrieb:
> Ich glaub ich bräuchte 8 pins am mega32 für 2x 4bit, die dann an 2 BCD
> -> 7 segment decoder gehen. Dann müsste es in Programm festgelegt werden
> das die einen 4 bit die sekunden 0-9 hochzählen und die anderen 4 bit
> dann alle 10s einen hochzählen.Beitrag melden | Bearbeiten | Löschen |

Wieso das? Der Sekundenzähler läuft doch schon. Du mußt nur den 
Multiplexer erweitert und zwei Leitungen/Transistoren/Widerstände für 
die Ziffernaktivierung ergänzen. Für Sekundentakt ist PortD6 sogar schon 
deklariert.
Gast #2162234
Lesenswert?
• ▲
▼
Ich hab das nun um 2 Ziffern erweitert:
1
Select Case Temp_ziffer                                     'welche Ziffer soll angesteuert werden
2
   Case 1 : Ziffer_1 = 1                                    '1. Ziffer
3
            Ziffer_2 = 0
4
            Ziffer_3 = 0
5
            Ziffer_4 = 0
6
            Ziffer_5 = 0
7
            Ziffer_6 = 0
8
            Bcd_aus = Zh_stunde
9
   Case 2 : Ziffer_1 = 0                                    '2. Ziffer
10
            Ziffer_2 = 1
11
            Ziffer_3 = 0
12
            Ziffer_4 = 0
13
            Ziffer_5 = 0
14
            Ziffer_6 = 0
15
            Dezimalpunkt = Sek_blink                        'Dezimalpunkt
16
            Bcd_aus = Zl_stunde
17
   Case 3 : Ziffer_1 = 0                                    '3. Ziffer
18
            Ziffer_2 = 0
19
            Ziffer_3 = 1
20
            Ziffer_4 = 0
21
            Ziffer_5 = 0
22
            Ziffer_6 = 0
23
            Bcd_aus = Zh_minute
24
   Case 4 : Ziffer_1 = 0                                    '4. Ziffer
25
            Ziffer_2 = 0
26
            Ziffer_3 = 0
27
            Ziffer_4 = 1
28
            Ziffer_5 = 0
29
            Ziffer_6 = 0
30
            Bcd_aus = Zl_minute
31
   Case 5 : Ziffer_1 = 0                                    '5. Ziffer
32
            Ziffer_2 = 0
33
            Ziffer_3 = 0
34
            Ziffer_4 = 0
35
            Ziffer_5 = 1
36
            Ziffer_6 = 0
37
            Bcd_aus = Zh_sekunde
38
   Case 6 : Ziffer_1 = 0                                    '6. Ziffer
39
            Ziffer_2 = 0
40
            Ziffer_3 = 0
41
            Ziffer_4 = 0
42
            Ziffer_5 = 0
43
            Ziffer_6 = 1
44
            Bcd_aus = Zl_sekunde
45
End Select

reicht das? Und welche pins sind nun die "Enable" für die Transistoren 
der 2 neuen anzeigen?
Gast #2162287
Lesenswert?
• ▲
▼
So, hab das verstanden mit dem PD6 ;)

funktioniert auch soweit, er gibt da nun die 10er Sekunden aus! Welchen 
pin kann ich denn nun für die einer-sekunden nehmen? Geht da der Pin PA1 
oder PA2 ? wie deklariere ich da den port? Weil da is ja noch mein 
Oszillator mit dran!

mfg

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.