PIC 512-es tablazat mukodik, koszi!
Kis Norbert
norbi at kzs.hu
Mon Oct 25 09:24:11 CEST 1999
Sziasztok!
Eloszor halas koszonetem Miko Imrenek a hasznos tanacsaiert. Mostmar szepen
mukodik a hosszu tablazat kezelese a PIC-nel.
Gondoltam tartozom annyival, hogy leirjam, hogyan oldottam meg a problemat.
Parallax utasitaskeszletet hasznaltam, igy a most kovetkezo sorok is
ugy olvasandok. Szerintem ez a megoldas egyszerubb, mint az Imre altal
ismertetett reszlet, s az eredeti utasitaskeszletre is egyszeruen
adaptalhato.
Raadasul nem kell ket rutin, illetve tablazatcimke a kezeleshez, a kovetkezo
pelda a teljes tablat egyben latja:
Ez a resz barhol lehet az also 512-es memoriaban:
kar_c mov PCLATH,#2 ; Ha chr B5-bitje 0.
snb chr.5 ; Kovetkezo sort atugorja, ha '0'
mov PCLATH,#3 ; Ha chr B5-bitje 1.
mov w,ofszet ; Meghijva a rutint.
call CHAR_1 ; 64*8-elemu tablazat beolvasva.
.....
;chr'-regiszterben termeszetesen a tablazat elemenek cime van. (0...63)
'ofszet'-ben pedig chr-harom bittel felfele rotalva. Ez azert jo, mert
igy egy kulso ciklusban inkrementalva ofszet-et egyszeruen megkapjuk mind a
8-elemet a tablazatban. Ez a resz ertelemszeruen valtaztathato igeny
szerint.
Lathato, hogy a PCLATH-ot fix ertekkel toltottem elo. Szerintem ez a legegy-
szerubb. A felso 512 szo also/felso 256 bitje kozott a 'chr' regiszter 5-os
bitje hivatott valtani. '0' eseten PCLATH-ba #2, egyebkent #3 fog kerulni.
Mas dolgunk nincs, a visszateres korrekt. Megneztem minden elemre
szimulatorral,
de vagy 4-napja stabilan fut a forgo kijelzomben is. ;-))
A program legvegere kell includolni (vagy direktbe beiirni.) a tablazatot.
Termeszetesen en is programmal generaltam a PC karakterkeszlete alapjan.
Ennek elonye, hogy a karakterek csereje utan ujabb karakterek tehetok a
PIC-be.
(Van pl. mar rovasirasom is hozza...)
Tehat a tablazat:
org 1FFh
CHAR_1 jmp pc+w ;512-elemu tablazat
RETW 0,0,0,0,0,0,0,0 ;SPACE
RETW 124,126,19,19,126,124,0,0 ;A
RETW 65,127,127,73,73,127,54,0 ;B
RETW 28,62,99,65,65,99,34,0 ;C
.... S igy tovabb mind az 512-elem.
Az eredeti program ezenkivul meg tartalmaz egy 256-elemu tablat is. Ebben a
megjeleno DEMO-szoveg van letarolva. Ezenkivul az EEPROM-bol is olvas a
progi,
igy a program valtoztatasa nelkul is modosithato a felhasznalo altal defini-
alt szoveg. Ez is mukodik szepen. A szovegtabla termeszetesen 0FFh-nel
kezdodik.
A karakterkodok felso ket bitjet inverz, illetve alahuzott megjelenitesre
hasz-
nalom, igy osszesen 256-fele karaktert tudok kiiratni. Ez mar eleg... :-))
Koszi megegyszer a segitseget, remelem en is tudtam segiteni valamit
azoknak,
akik ezek utan talalkoznak ezzel a problemaval.
Udvozlettel:
Norbi.
More information about the Elektro
mailing list