Hi, Ferienzeit = Bastelzeit Anbei mal meine Version einer einfachen Uhr. Die Ausgabe erfolgt über Uart auf ein Nokia Miniterminal. Beitrag "Minniterminal mit Nokia 3310 LCD und 4x4 Tasten" Genutzt wird auch der 3,3V Regler für die Versorgung des mega8(L) und des Empfangsmoduls (Gesamtstrom 11mA) Ich habe festgestellt das bei 5V das Test-Empfangsmodul nach einer Zeit aussetzt. Pon wird 250ms auf Low gehalten. Die Softuhr zählt bei Empfangsstörungen weiter. Im Display blinken die Strings "--" bei richtiger Ausrichtung der Antenne. Der Controller ist mit 30% ausgelastet und kann mit Stunden-Beep usw. erweitert werden Alles in Allem ein Wochenendprojekt und mit einem Pollin-Display unter 10 Euro machbar. Wigbert
Hi, Pon wird natürlich beim Start auf H gesetzt und nach 250ms auf 0 (fallende Flanke) Wigbert
ich will deine uhr nachbauen kannst du mir den bas-cod in einen hex code kompilieren (für den PIC16F628A und atmega8l)
Olaf S. schrieb: > ich will deine uhr nachbauen > kannst du mir den bas-cod > in einen hex code kompilieren > (für den PIC16F628A und atmega8l) Achtung, es hat mich 5 zerschossene Pollinmodule gekostet als ich hier lesen durfte das die neueren nicht mehr 5V können obwohl das alte Datenblatt beigelegt war! Pollin schickte aber Ersatz mit richtigen Datenblätter!
die gehen aber auch bei 3.3V einfach kaputt und sind sehr empfindlich gegenüber Störungen. Das Reichelt Modul ist um einiges teurer aber deutlich besser.
:
Bearbeitet durch User
zerschossene Pollinmodule gekostet ich habe das modul nur mit 3 volt betrieben gibt das modul auch bei Ebay tut mir einer ein gefachlen und macht mir einer den cod fertig !! (für PIC16F628a und atmega8l)
Mensch Olaf, was brauchst du Gefachlen? Nimm Liddl-Wecker, geht mit 1,5 Wollt, mit ohne cod usw...
warum solte ich einen kaufen ? ich habe ja alles für die uhr hängt nur an der software bin echer der avr studio 4.18
Olaf S. schrieb: > tut mir einer ein gefachlen Hat anscheinend kein Bascomler Bock für einen echer der avr studio 4.18 einen gefachlen zu machen.
Ich betreibe ein DCF01 Modul von Reichelt seit drei Wochen mit 3,3V ohne Probleme.
'*********************************************************************** ******** '* ------------------------------------------------------------------------ --- * '* DCF-Uhr von Pollin * '* ------------------------------------------------------------------------ --- * '*********************************************************************** ******** 'Dies ist ein kleines Testprogramm zum Ausprobieren des DCF77-Empfängers 'von Pollin 'Das DCF-Modul wird mit 3,3V über dem Miniterminal versorgt, 'optimale Antennenausrichtung wenn Portd.5 blinkt bzw. die '"--" Zeichen im Display blinken 'Die $Include Zeichenausgabe_3310.bas 'im selben Verzeichnis kopieren 'Von Wigbert Picht 'Elektro-Picht@gmx.de 'Vers.19.07.09 'Ausgabe über:Nokia 3310-Minitermial über RS232 Schnittstelle 'mit Positionszeiger 'mit erstellen der Prüfsumme 'nach: Steffen Taubmann 'stta@gmx.de '!!!Diese Software ist nur für den privaten Gebrauch bestimmt!!! ' !!!Komerzielle Anwendungen bedürfen meiner Zustimmung!!! '----------------------------------------------------------------------- -------- $regfile = "m8def.dat" 'mein AVR, ein L Typ $crystal = 3686400 'Quarz wegen Softuhr Genauigkeit u. Baudratenfehler $baud = 9600 'Baudeinstellung für mein Miniterminal $hwstack = 128 $swstack = 128 $framesize = 128 '----------------------------------------------------------------------- -------- 'Miniterminal-Anzeige konfigurieren (6 Zeilen / 14 Zeichen ) '----------------------------------------------------------------------- -------- Config Com1 = Dummy , Synchrone = 0 , Parity = Even , Stopbits = 1 , Databits = 8 , Clockpol = 0 'nicht veränderbar Dim Text As String * 14 '14 Zeichen max in einer Zeile Declare Sub Position(byval X As Byte , Byval Y As Byte) 'Positionszeiger Declare Sub Nprint 'Ausgabe '----------------------------------------------------------------------- -------- 'DCF77 von Pollin konfigurieren '----------------------------------------------------------------------- -------- ' __________ ' I I ' I O I VCC ' I I ' I O I GND ' I I ' I O I Pinb.1(Dat) ' I I ' I O I Pinb.2(Pon) ' I____________I ' 'Config Dcf77 = Pind.2 , Debug = 1 , Inverted = 0 , Check = 2 , Update = 0 , Updatetime = 30 , Switchpower = 0 , Secondticks = 50 , Timer1sec = 1 , Powerlevel = 1 , Timer = 1 Config Dcf77 = Pinb.1 , Timer = 1 , Debug = 1 , Inverted = 0 , Timer1sec = 1 , Check = 1 Config Pind.5 = Output 'LED Config Pinb.2 = Output 'Pon '----------------------------------------------------------------------- -------- 'was so immer gebraucht wird '----------------------------------------------------------------------- -------- Portb.1 = 0 '**** Pullup abschalten Wichtig !!!!***** Portb.2 = 1 'Für Pon Aktiv Waitms 200 'Zeit für High von Pon(250ms) Printbin &H02 ; &H43 ; &H41 ; 'Display löschen Waitms 50 Portb.2 = 0 'Für Pon low Dim I As Integer Dim Sec_old As Byte , Dcfsec_old As Byte Dim Wochentag As String * 12 , Wochentag_old As String * 12 Dim Zeit As String * 10 Dim Datum As String * 10 , Datum_old As String * 10 Config Date = Dmy , Separator = . Enable Interrupts Sec_old = 99 : Dcfsec_old = 99 ': DCF_Debug_Timer = 0 '----------------------------------------------------------------------- -------- 'Start mit "Bla Bla Bla" '----------------------------------------------------------------------- -------- Text = "DCF-Uhr" Waitms 50 Position 4 , 0 'X Sind Die Zeichen(0 -13), Y Entsprechend Die Zeilen(0 -5) Call Nprint 'zur Sub und String mit Prüfsumme ausgeben 'Print "Test DCF-Uhr" 'Debugg Wait 1 '----------------------------------------------------------------------- -------- 'Hier geht es endlich los: '----------------------------------------------------------------------- -------- Do For I = 1 To 78 'vorher 78 Waitms 10 If Sec_old <> _sec Then Exit For End If If Dcfsec_old <> Dcf_sec Then Exit For End If Next Waitms 120 Sec_old = _sec If Dcf_sec <> Dcfsec_old Then Gosub Led Dcfsec_old = Dcf_sec Zeit = Time$ Text = Zeit 'Was die Stunde geschlagen hat Waitms 50 Position 3 , 2 'X Sind Die Zeichen(0 -13), Y Entsprechend Die Zeilen(0 -5) Call Nprint 'zur Sub und String mit Prüfsumme ausgeben Datum = Date$ 'Datum nur ausgeben wenn neues Datum empfangen wird If Datum <> Datum_old Then If _sec = 15 Then Text = Datum Waitms 50 Position 3 , 3 'X Sind Die Zeichen(0 -13), Y Entsprechend Die Zeilen(0 -5) Call Nprint 'zur Sub und String mit Prüfsumme ausgeben Datum_old = Datum End If End If Gosub Wochenauswahl If Wochentag <> Wochentag_old Then 'Wochentag nur neu ausgeben, wenn neuer Tag beginnt If _sec = 30 Then Text = Wochentag Waitms 50 Position 2 , 5 'X Sind Die Zeichen(0 -13), Y Entsprechend Die Zeilen(0 -5) Call Nprint 'zur Sub und String mit Prüfsumme ausgeben Wochentag_old = Wochentag 'welcher Tag ist denn heute End If End If 'Debugger: 'Print Time$ ; " " ; Date$ ; " " ; Time(dcf_sec) ; " " ; Date(dcf_day) ; " " ; Bin(dcf_status) ; " " ; Bin(dcf_bits) ; " " ; Bdcf_impuls ; " " ; Bdcf_pause Loop '----------------------------------------------------------------------- -------- ' Sub's '----------------------------------------------------------------------- -------- Led: Toggle Portd.5 'Ausgabe Sekundentakt für Ausrichtung der DCF-Antenne If Portd.5 = 1 Then Text = "--" 'Einfach 2 String's "-" mit toggeln lassen Else Text = " " End If Position 6 , 1 'X Sind Die Zeichen(0 -13), Y Entsprechend Die Zeilen(0 -5) Call Nprint 'zur Sub und String mit Prüfsumme ausgeben Return Wochenauswahl: Select Case Dayofweek() 'Wochentag Auswahl Case 0 : Wochentag = " Montag " Case 1 : Wochentag = " Dienstag " Case 2 : Wochentag = " Mittwoch " Case 3 : Wochentag = "Donnerstag" Case 4 : Wochentag = " Freitag " Case 5 : Wochentag = " Samstag " Case 6 : Wochentag = " Sonntag " End Select Return '----------------------------------------------------------------------- -------- $include Zeichenausgabe_3310.bas 'Berechnung der Zeichenkette fürs Miniterminal End '----------------------------------------------------------------------- -------- ist das richtig ??? (ist mein erster versuch mit bascom)
> ist das richtig ???
Soll das ein Scherz sein?
Was glaubst du, wie viele Leute imstande sind, das ganze Programm
anhand einer Sichtkontrolle zu prüfen?
Probiere es aus, dann weißt du, ob es in Ordnung ist.
kompilieren erfolgreich 0 errors Soll das ein Scherz sein? nein ich bin anfänger mit Bascom jetzt brauche ich nur noch die Fuse-Bits für den atmega8l
Olaf S. schrieb: > jetzt brauche ich nur noch > die Fuse-Bits für den atmega8l Da musst du aber warten bis Microchip/ATMEL diesen rausbringt.
Kann es sein, dass du vor einem extrem niedrig auflösenden Monitor sitzt, und es dir deshalb schwer fällt ein "kleines L" von einer "Eins" zu unterscheiden? Es gab hier irgendwo auch schon mal einen Thread, dass diese beiden Zeichen nicht gut zu unterscheiden sind. (Anhang: 1:1 Bildausschnitt von iPad Pro)
John schrieb: > Kann es sein, dass du vor einem extrem niedrig auflösenden Monitor > sitzt, und es dir deshalb schwer fällt ein "kleines L" von einer "Eins" > zu unterscheiden? Nein, momentan 25 inch auf 1920x1080. Aber MEGA8l gibt es immer noch nicht (vielleicht gerade deswegen). ATmega8L schon...
:
Bearbeitet durch User
Marc V. schrieb: > Aber MEGA8l gibt es immer noch nicht Stört dich jetzt das kleine "l" oder das fehlende "AT" oder beides?
Marc V. schrieb: > Aber MEGA8l gibt es immer noch nicht (vielleicht gerade deswegen). Steht da ja auch nicht, da steht atmega8l ... warum gibst Du nicht einfach mal einen Irrtum zu? Marc V. schrieb: > Olaf S. schrieb: >> jetzt brauche ich nur noch >> die Fuse-Bits für den atmega8l > > Da musst du aber warten bis Microchip/ATMEL diesen rausbringt.
John schrieb: > Stört dich jetzt das kleine "l" oder das fehlende "AT" oder beides? Das kleine l. 12l45l71 12L45L71
zweifelnd schrieb: > Steht da ja auch nicht, da steht atmega8l ... warum gibst Du nicht > einfach mal einen Irrtum zu? Muss das sein ? Ob mega oder atmega oder ATmega ist sch...egal. Es ist aber nicht egal ob mega8l oder mega8L.
L oder l ist genauso egal wie at oder AT bzw. MEGA oder mega ... jeder weiß, was gemeint ist, weil es keine Verwechslungsmöglichkeit gibt. Oder hab ich was verpasst?
> jetzt brauche ich nur noch > die Fuse-Bits für den atmega8l Die Fuse Bits befinden sich im Mikrocontroller, und du kannst sie mit dem ISP-Tool deiner Wahl einstellen. Wie lautet deine Frage dazu?
wie sind die richtigen einstellungen für den atmega8L ??? HIGH LOW der atmega8L ist ja auf externen quarz umgestellt ich bin mir nicht sicher wie die Fuse Bits richtig umgestelt wird
Das hängt gemeinerweise von deinem Programm ab. Manche stellen eine aktivierte Fuse als HIGH dar, andere wiederum als LOW. Am besten benutzt du einen "Online Fuse Calculator" und überträgst dann die davon erzeugten Hexadezimalzahlen in dein Flash Tool. Damit bist du auf der sicheren Seite. http://www.engbedded.com/fusecalc/ Benutze die Einstellung "Ext RC. OSC" mit dem passenden Frequenzbereich und der höchsten Startup Time. Alle anderen Settings lässt du an Besten auf den Vorgabewerten.
was für ein programm auf den atmega8 kommt ist ja jetzt geklärt aber was für ein programm kommt auf den PIC16F628A drauf ??
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.