Witam
Zbudowałem sobie prosty układzik na AT89S52 i 4 (siedmiosegmentowe) wyświetlacze LED.
Na Timerze 0
Na Timerze 1
Prosiłbym o pomoc co jest w programie źle, że pokazuje mi się jakieś śmieci na wyświetlaczu LED znaczki które w tablicy znaków w ogóle nie są zdefiniowane ?
Dziękuje za odpowiedź.
Zbudowałem sobie prosty układzik na AT89S52 i 4 (siedmiosegmentowe) wyświetlacze LED.
Na Timerze 0
Cytat:
ORG 0
PODZ EQU 60931
ILZ EQU 4
ILW EQU 4
BUFOR EQU 30H
MOV TMOD,#00000001B
MOV TH0,#HIGH PODZ
MOV TL0,#LOW PODZ
CJNE R7,#ILZ,DALEJ
MOV R7,#0
SJMP DAL1
DALEJ:
INC R7
DAL1:
MOV A,R7
MOV DPTR,#LED
MOVC A,@A+DPTR
MOV P0,A
MOV A,R7
ADD A,#BUFOR
MOV R0,A
MOV P2,@R0
RETI
ZNAK:
;DB 01000000B
;DB 01000000B
;DB 01000000B
;DB 01000000B
DB 01110111B
DB 00110000B
DB 01110111B
DB 01100000B
LED:
DB 00001110B
DB 00001101B
DB 00001011B
DB 00000111B ; 4 ZNAK
END
Na Timerze 1
Cytat:
WEKTOR_T0 Equ 1BH
PODZ EQU 60931
ILZ EQU 4
ILW EQU 4
BUFOR EQU 30H
ORG 0
LJMP start
ORG WEKTOR_T0
LJMP PRZERWANIE
start:
mov TMOD,#00010010B
mov TH1,#HIGH PODZ
mov TL1,#LOW PODZ
SETB TR1
SETB ET1
SETB EA
Petla:
MOV R7, #0
MOV BUFOR,#01110111B
MOV BUFOR+1,#00010000B
MOV BUFOR+2,#01010000B
MOV BUFOR+3,#01001111B
SJMP $
;*****************************************************
PRZERWANIE:
MOV TH1,#HIGH PODZ
MOV TL1,#LOW PODZ
CJNE R7,#ILZ,DALEJ
MOV R7,#0
SJMP DAL1
DALEJ:
INC R7
DAL1:
MOV A,R7
MOV DPTR,#LED
MOVC A,@A+DPTR
MOV P0,A
MOV A,R7
ADD A,#BUFOR
MOV R0,A
MOV P2,@R0
RETI
;*****************************************************
ZNAK:
DB 01110111B
DB 01110000B
DB 01110111B
DB 01100100B
LED:
DB 00001110B
DB 00001101B
DB 00001011B
DB 00000111B ; 4 ZNAK
END
Prosiłbym o pomoc co jest w programie źle, że pokazuje mi się jakieś śmieci na wyświetlaczu LED znaczki które w tablicy znaków w ogóle nie są zdefiniowane ?
Dziękuje za odpowiedź.