Kod: Zaznacz cały
Ja 12:39:50
LJMP START
ORG 100H
START:
MOV TMOD,#00010001B
MOV TH0,#76
MOV TL0,#0
SETB TR0
MOV TH1,#76
MOV TL1,#0
SETB TR1
MOV R0,80H
MOV R1,82H
LCALL LCD_CLR
CLR A
MOV A,#'9'
LCALL WRITE_DATA
MOV A,#':'
LCALL WRITE_DATA
MOV A,#'5'
LCALL WRITE_DATA
MOV A,#'9'
LCALL WRITE_DATA
MOV A,#9
SUBB A,#1
MOV R1,A
LCALL LCD_CLR
CLR A
MOV A,#'9'
LCALL WRITE_DATA
MOV A,#':'
LCALL WRITE_DATA
MOV A,#'5'
LCALL WRITE_DATA
INC R0
MOV DPTR,#TEXT
LOP:
LCALL LCD_CLR
CLR A
MOV A,#'9'
LCALL WRITE_DATA
MOV A,#':'
LCALL WRITE_DATA
MOV A,#'5'
LCALL WRITE_DATA
CLR A
MOVC A,@A+DPTR
LCALL WRITE_DATA
INC DPTR
MOV A,#20
TIME_N50:
JNB TF0,$
MOV TH0,#76
CLR TF0
DJNZ ACC,TIME_N50
MOV A,R1
JNZ LOP
STOP:
SJMP STOP
TEXT:
DB '8'
DB '7'
DB '6'
DB '5'
DB '4'
DB '3'
DB '2'
DB '1'
DB '0'
Napisałem program i nie wiem jak go dalej dokonczyc bo nic mi nie wychodzi
Program ma obliczać 10 minut ma zaczynać się od 9.59
Ma najpirw sie pojawic na wyswietlaczu LCD 9.59 nastepnie 9.58 9.57 9.56 9.55 9.54 9.53 9.52 9.51 9.50 9.49 .........9.39 .... 9.29 .....9.19 ...9.09 9.08 9.07 9.06 9.05 9.04 9.03 9.02 9.01 9.00 ...............8.00 ......7.00 ....6.00 .....5.00 .....4.00...... 3.00 ... 2.00 .....1.00 .... 0.00
Edit, dodano po jakimś czasie:
Mam program , który odlicza czas 10 minut tyle sekundy zmieniają się nie co sekunde tylko co dłuższy czas co zmienić w programie żeby sekundy zmieniały się co sekunde
Kod: Zaznacz cały
LJMP START
ORG 100H
START:
mov r4, #9
mov r3, #59
MOV TMOD,#00010001B
MOV TH0,#76
MOV TL0,#0
SETB TR0
MOV TH1,#76
MOV TL1,#0
SETB TR1
MOV R0,80H
MOV R1,82H
MOV A,#9
SUBB A,#1
MOV R1,A
INC R0
LOP:
LCALL LCD_CLR
MOV A, r4 ;wyswietlenie minut
LCALL BIN_BCD
LCALL WRITE_HEX
MOV A, #':' ;wyswietlenie dwukropka
LCALL WRITE_DATA
MOV A, r3 ;wyswietlenie sekund
LCALL BIN_BCD
LCALL WRITE_HEX
DEC r3 ;Dekrementacja
CJNE r3, #255, TIME_N50
mov r3, #59
DEC r4
CJNE r4, #255, TIME_N50
LJMP STOP
; LCALL WRITE_DATA
; INC DPTR
; MOV A,#20
TIME_N50:
JNB TF0,$
MOV TH0,#76
CLR TF0
DJNZ ACC,TIME_N50
MOV A,R1
JNZ LOP
STOP:
lcall wait_key
ljmp start
SJMP STOP
BIN_BCD: ;konwersja bin -> bcd
MOV B, #10
DIV AB
SWAP A
ADD A, B
RET