Scope cso vezerlese (prog,elmelet)
Pal Lukacs
ekegep at yahoo.com
Wed May 30 10:22:42 CEST 2007
Sziasztok!
Egy virtualis orat szeretnek szkopcsovel epiteni.
Egyetlen olyan projektet kaptam neten aminek a forraskodja szabad.
http://www.jogis-roehrenbude.de/Leserbriefe/Scope-Clock/Scope-Clock.htm
8051 kompatibilis AVR-t hasznal.Az AVR forraskod asm-ben van irva.Az ora kijelzeshez szukseges koordinatak,szamok generalasahoz van egy PC -re irt szoft .Igy ezt tudnam hasznalni.
Ez alapjan kellene epitsek egy sajatot.(RTC,nyomogombok,ebresztes stb..)
Ez idaig ok,csak nem nagyon ertem az asm kodot igy 'portolni' nem tudok.
Az alabbi resz mukodese erdekelne,vagyis a kepmegjelenites folyamata.
Ha tudtok legyszives segitsetek.
; **********************************************
; *** Display-Adressen für Zeiger aktualisieren
; **********************************************
DispAdrPtr: mov DPTR,#SecPtrData ; Daten für Sekundenzeiger
mov A,R1 ; Aktuellen Wert holen
mov B,#5 ; Sekundenzeiger sind 5 Byte lang
mul AB
add A,DPL
mov DISP_TAB_SECPL,A
mov A,B
addc A,DPH
mov DISP_TAB_SECPH,A
mov DPTR,#MinPtrData ; Daten für Minutenzeiger
mov A,R2 ; Aktuellen Wert holen
mov B,#9 ; Minutenzeiger sind 9 Byte lang
mul AB
add A,DPL
mov DISP_TAB_MINPL,A
mov A,B
addc A,DPH
mov DISP_TAB_MINPH,A
mov DPTR,#HrPtrData ; Daten für Stundenzeiger
mov A,R2 ; Aktuellen Wert holen
mov B,#12 ; Etwas aufwendiger, da Zwischenschritte
div AB ; erforderlich (5 Schritte pro Stunde)
mov R4,A ; dazu Minuten durch 12 Teilen um
mov A,R3 ; auf die Zuwischenschritte zu kommen
mov B,#12 ; und Stundenwert mit 5 multiplizieren
div AB
mov A,#5
mul AB
add A,R4
mov B,#9 ; Stundenzeiger sind 9 Byte lang
mul AB
add A,DPL
mov DISP_TAB_HRPL,A
mov A,B
addc A,DPH
mov DISP_TAB_HRPH,A
ret
; **********************************************
; *** Display-Adressen für Nummern aktualisieren
; **********************************************
DispAdrNum: mov A,R1 ; Daten für Sekundenziffern
mov B,#10
div AB ; Zehner
rl A
mov R4,A
mov DPTR,#NumSecTens
movc A, at A+DPTR
mov DISP_TAB_SECNTH,A
mov A,R4
inc A
movc A, at A+DPTR
mov DISP_TAB_SECNTL,A
mov A,B ; Einer
rl A
mov R4,A
mov DPTR,#NumSecOnes
movc A, at A+DPTR
mov DISP_TAB_SECNOH,A
mov A,R4
inc A
movc A, at A+DPTR
mov DISP_TAB_SECNOL,A
mov A,R2 ; Daten für Minutenziffern
mov B,#10
div AB ; Zehner
rl A
mov R4,A
mov DPTR,#NumMinTens
movc A, at A+DPTR
mov DISP_TAB_MINNTH,A
mov A,R4
inc A
movc A, at A+DPTR
mov DISP_TAB_MINNTL,A
mov A,B ; Einer
rl A
mov R4,A
mov DPTR,#NumMinOnes
movc A, at A+DPTR
mov DISP_TAB_MINNOH,A
mov A,R4
inc A
movc A, at A+DPTR
mov DISP_TAB_MINNOL,A
mov A,R3 ; Daten für Stundenziffern
mov B,#10
div AB ; Zehner
rl A
mov R4,A
mov DPTR,#NumHrTens
movc A, at A+DPTR
mov DISP_TAB_HRNTH,A
mov A,R4
inc A
movc A, at A+DPTR
mov DISP_TAB_HRNTL,A
mov A,B ; Einer
rl A
mov R4,A
mov DPTR,#NumHrOnes
movc A, at A+DPTR
mov DISP_TAB_HRNOH,A
mov A,R4
inc A
movc A, at A+DPTR
mov DISP_TAB_HRNOL,A
mov A,DCF_R4 ; Daten für DCF-Status
rl A
mov R4,A
mov DPTR,#DCFStats
movc A, at A+DPTR
mov DISP_TAB_DCFSH,A
mov A,R4
inc A
movc A, at A+DPTR
mov DISP_TAB_DCFSL,A
ret
Koszonom.
---------------------------------
Be a better Globetrotter. Get better travel answers from someone who knows.
Yahoo! Answers - Check it out.
More information about the Elektro
mailing list