Hy,
also heut abend hab ich kein kopf mehr dafür noch alles zu machen.
muss mir den rest erst mal in ruhe anschauen aber sieht eigentlich schonmal ganz gut aus
aber so weit schonmal:
-dein einzeiler "haupt" ist eine endlos schleife,du solltest keine marke:rolleyes:
benutzen, du solltest "sjmp $" benutzen um auf den
interrupt zu warten (ist besser so)
-hast du vielleicht eine includedatei mit unterprogrammen für den LCD?
so müsstest du den wert nur in das vom unterprogramm verwendete register schreiben und das unterprogramm aufrufen
-für was brauchst du denn eine tastatur für eine uhr?:confused:
aber hier der code dafür (als u-prog), musst eben nur noch den port umstellen bei mir ist das p0 wie du ja siehst
start:
MOV P0,#1110$1111b
JB P0.0,m2
MOV p1,#0000$0110b
m2:
MOV P0,#1110$1111b
JB P0.1,m3
MOV p1,#0101$1011b
m3:
MOV P0,#1110$1111b
JB P0.2,m4
MOV p1,#0100$1111b
m4:
CALL sek
MOV P0,#1101$1111b
JB P0.0,m5
MOV p1,#0110$0110b
m5:
MOV P0,#1101$1111b
JB P0.1,m6
MOV p1,#0110$1101b
m6:
MOV P0,#1101$1111b
JB P0.2,m7
MOV p1,#0111$1101b
m7:
CALL sek
MOV P0,#1011$1111b
CALL sek
JB P0.0,m8
MOV p1,#1000$0111b
m8:
MOV P0,#1011$1111b
JB P0.1,m9
MOV p1,#1111$1111b
m9:
MOV P0,#1011$1111b
JB P0.2,mstern
MOV p1,#1110$1111b
mstern:
CALL sek
MOV P0,#0111$1111b
CALL sek
JB P0.0,m0
MOV p1,#1011$1111b
m0:
MOV P0,#0111$1111b
JB P0.1,mraute
MOV p1,#33h
mraute:
MOV P0,#0111$1111b
JB P0.2,m1
MOV p1,#37h
m1:
; CALL sek
JMP start
sek: MOV 79H,#1
zsek1: MOV 78H,#2
zsek2: MOV 77H,#4
DJNZ 77H,$
DJNZ 78H,zsek2
DJNZ 79H,zsek1
RET
bis dann