Maticový LED displej



Konstrukce
Modul LED diod
Bipolární krokový motor
7.segmentový displej
LCD displej
Maticová klávesnice

Maticový LED displej má rozměr 5 sloupců a 7 řádek. Sloupce jsou připojeny na 10-bitový posuvný registr ( na sloupce jsou připojeny bity 1-5 ), který podle impulsů na Px.7 postupně přepíná jednotlivé sloupce. Pomocí bitů Px.0 - Px.6 rozsvěcujeme LED v aktivovaném sloupci.

Posuvný registr je nutné před použitím restartovat impulsem delším než 1ms na vývodu Px.7 a stejně dlouhou prodlevou. Tím aktivujeme 0-tý sloupec. Impulsem na Px.7 se posuneme na 1. sloupec, na kterém pomocí bitů Px.0 - Px.6 rozsvítíme LED, které odpovídají 1. sloupci zvoleného znaku. Dalšími impulsy postupně aktivujeme další sloupce. 6 - 9 sloupec přeskočíme 4 nebo 5 ( podle programu ) impulsy na Px.7. Tento algoritmus ( kromě restartu ) stále opakujeme co nejrychleji.



START:

ZACATEK:
SLOUPCE:







VOLNE:



NULOVANI:





ZPOZD:
SMYCKA:




POSUN:



TAB:








org
MOV
CALL
MOV
CALL
MOV
MOVC
MOV
INC
MOV
CJNE
MOV
CALL
DJNZ
JMP

SETB
CALL
CLR
CALL
RET

MOV
MOV
DJNZ
DJNZ
RET

SETB
CLR
RET

DB
DB
DB
DB
DB

END


00h
DPTR,#TAB
NULOVANI
R0,#0
POSUN
A,R0
A,@A+DPTR
P1,A
R0
P1,#7Fh
R0,#5,SLOUPCE
R1,#5
POSUN
R1,VOLNE
ZACATEK

P1.7
ZPOZD
P1.7
ZPOZD


R7,#5
R6,#250
R6,$
R7,SMYCKA


P1.7
P1.7


00011110b
00101110b
00110110b
00111010b
00111100b



; nastavení ukazatele na 1.cislo v tabulce
; RESET posuvného registru
; R0 určuje pozici v tabulce
; posun na další sloupec
; přečtení hodnoty z tabulky

; zobrazení hodnoty na P1
; posun v tabulce na dalsí pozici
; zhasnutí všech LED v aktivním sloupci
; pokud nejsme na konci tabulky, opakuj pro další
; sloupec
; přeskočení volných vývodů v posuvném registru



; RESET posuvného registru
; impuls

; prodleva


; zpožďovací smyčka t>1ms





; impuls pro posun na další sloupec



; tabulka pro znak
; 1. bit musí být log0, aby nevytvořil další posuvný
; impuls