PIC 512-elemes tablazat help!
Kis Norbert
norbi at kzs.hu
Tue Oct 19 18:33:56 CEST 1999
Sziasztok.
Meg mindig a forgo kijelzom progijaval szivok, de mar vagy negyedik napja, s
belefaradtam.
A kovetkezo a gond:
Adott egy 512-elemes (64*8) karaktertabla. Szepen, RETW-vel, ugy ahogy
illik.
Azonban termeszetesen 256 elemnel tobbet nem tud az a dog cimezni, igy
szetszedtem eloszor ket, majd kinomban mar negy egyenlo reszre. (256, majd
128-bajtos hossz.)
Adott egy regiszter, nevezzuk CHR-nek. Ebben jon a cim (0...15). (Ezt 3-al
elrotaltam balra, hogy az oszlopcim 3-bitje ideferjen. Ezutan AND-al
kimaszkoltam a negy biten kivul mindent nullara. Ezutan a karaktertabla
rutint 8-szor meghivom, egyesevel novekvo CHR-ertekekkel.)
Adott egy masik regiszter (sv2), ebben pedig a negy negyed cime. (0...3)
A rutin elejen van egy kis resz, ami kivalasztja, hogy melyik 16*8-as
negyednek szolt a cim, es CALL-al meghivja azt a tablazatot. Papiron szepen
mukodik minden. A gyakorlatban meg szivok vele, mint a szoposmalac... :-(((
Az elso huszonpar elemet tokeletesen kijelzi, azutan a kovetkezo karaktert
roviditi, majd azt azt kovetot kijelezve kihal a program. (Tehat
egyertelmuen valami visszateresi lehet...)
Egyszoval valami veremhibara gyanakszom. Remlik is valami, hogy a PCLATH-is
belekavar a cimzesbe, igy
nem art ovatosnak lenni ezzel. Viszont megoldast egyetlen peldaban se
talaltam erre a problemara!
Talalkozott valamelyikotok mar ezzel? Ha igen, segitsetek, mit kell tennem.
A dolog annal inkabb erdekes lehet, mert ekkora tablazat nemcsak
karaktergeneralashoz kell, hanem sok egyeb dologra is jol johet. (Pl.
linearizalas, hullamformak, belepteto azonositok tarolasa, stb...)
Egyszoval mast is erdekelhet!
Koszi elore is!
Udvozlettel:
Norbi.
Ui:
Ime a tablazatot kezelo progi egy resze, ebbol lathato a gond: (A hivo progi
biztos jo, fix ertekekkel szimulalva is ugyanugy nem megy...)
;***************************************************************************
***
;* Karaktertablazat kezelo - 'chr'-b"l 'oszlop'-ba teszi a cimhez tartozot.
*
;***************************************************************************
***
C_TBL1 ; Kulonleges, nyujtott hozz feresu tablazat...
cjne sv2,#0,C_TBL2 ; Ha nem az elso negyed, akkor ugrik a
kovetkezore
mov w,chr
call CHAR_1
not w
mov oszlop,w
ret
C_TBL2 cjne sv2,#1,C_TBL3
mov w,chr
call CHAR_2
not w
mov oszlop,w
ret
C_TBL3 cjne sv2,#2,C_TBL4
mov w,chr
call CHAR_3
not w
mov oszlop,w
ret
C_TBL4 cjne sv2,#3,T_HIBA
mov w,chr
call CHAR_4
not w
mov oszlop,w
ret
T_HIBA
mov w,#0
ret
;*********************** Karakter t bl zatok...
******************************
CHAR_1 ADDWF PCL,1
RETW 0,0,0,0,0,0,0,0 ;00 Space
RETW 124,126,19,19,126,124,0,0 ;01 A
RETW 65,127,127,73,73,127,54,0 ;02 B
RETW 28,62,99,65,65,99,34,0 ;03 C
RETW 65,127,127,65,99,62,28,0 ;04 D
......
S igy tovabb CHAR_2,3,4-el is...
More information about the Elektro
mailing list