shiftout programmieren-wie bcd-code erzeugen?->gelöst
hallo,möchte mit dem befehl shiftout mein schieberegister laden,es soll
ein bcd code ausgegeben werden der die uhrzeit enthält.die zeit sollte ohne rtc ,also nur per software gemacht werden.okay,das problem ist jetzt die softuhr kann ich ja mit ein paar schleifen proggen,aber wie bekomme ich die zahlen die ich habe, in bcd-code gewandelt um diese dann in mein schieberegister zu laden.
die anzeige besteht (schon vorhanden) aus 3x mc14015 und 6x mc14511.
also die uhr läuft schon mit einem lcd, nun soll sie auf die 7segmentanzeige.
edit: ich brauche immer nur 4 bits und keine 8 wie mir der
befehl bin( ) liefert.
Liste der Anhänge anzeigen (Anzahl: 1)
hallo sigint:
habe ich in der hilfe auch gefunden,kann damit nichts anfangen.
jetzt habe ich mal eine prog geschrieben,das soll mir den binärcode
in den shiftout schreiben.im sim erhalte ich die zahlen für die sekunden
und den bin für die sekunden,nur schreibt er mir nichts in den shiftout
Liste der Anhänge anzeigen (Anzahl: 1)
shiftout die zweite
so habe ein paar fehler im vorherigen programm gefunden,jetzt läuft es zwar,aber der bcd-code der geschickt wird ist seitenverkehrt.
sprich bei einer eins die gesendet wird ,wird "1000" geschickt und das wäre für meinen mc14015 eine acht,genau anders herum wäre richtig "0001".
wie kann ich den bcd-code reversieren
Liste der Anhänge anzeigen (Anzahl: 1)
hallo kollision
ja die option habe ich jetzt schon erkannt,habe jetzt eine "null",verwendet.
also shiftet er jetzt seitenverkehrt,"00001000" .so gesehen von rechts nach links,schon mal gut.nur benötige ich die letzten vier bits."1000",
wie kann ich die ersten vier bits abschneiden.da ich jede zahl der uhr bearbeite,sind jetzt 6 shiftfout befehle im programm.der mc14015 ist ein doppelter 4 bit schieberegister,also für 2 zahlen zuständig.bei einer zahl geht die sache ja noch,habe mal eine -4 in den befehl geschrieben.
Liste der Anhänge anzeigen (Anzahl: 1)
habe ich gemacht, eine 3 schreibt mir die bits von links nach rechts.
eine null von rechts nach links. problem ist die bits sind seiten verkehrt.
von links nach rechts schreiben kommt die folge eine 1 eine 0 eine 0 eine 0 ,ergibt im mc 14015 eine 8 ,brauche aber eine 0 0 0 1 für die eins.
die hilfe habe ich benutz und dies da auch gefunden.okay prog erst seit dez 06 mit bascom,muss also noch lernen wie was funzt.
danke für dein hilfe.
wie kann ich den bcd code mit swap drehen .
zum veranschauung soll aus 12345678 eine 87654321 werden
[/code]