pic basic data table 14 bit x 768 eleman lookupdan daha guzel

Başlatan Tarik konca, 16 Aralık 2017, 21:56:28

Tarik konca

pic basic de constant data table kulanmak istedigimizde lookup komutuna mahkum oluyoruz

sinirlari elaman buyutu 8 bit ve max 255 eleman olarak datashette 18f ler icin durum farkli diyor fakat denedim olmadi

bendeki compiler pic basic 2.60  kotu bir durum lcd ekrana resim

basma da kullandim 128x64 ks0108 1024 byte gerektiriyor tek lookup komutuna sigmiyor

bolmek gerekiyor  font tanimlarkende ayni sorunu yasamistim internette arastirirlen

soyle bir yontem buldum bu sekilde 768 eleman tanimlanabiliyor ve bir eleman 14 bit boyutunda oluyor

bir elemana bir byte yazarsaniz lcd ekrana resim icin yine yetersis fakat bir elemana bir bucuk byte

yazarsaniz fazla bile  bir elemani 14 bit kullanirsaniz cok cok fazla  tabi bunun icin resim converter programini

modifiye etmek ve pic basic programini degistirmek gerekiyor biraz isler karisiyor fakat oluyor en azindan

lookup table nin sinirlarindan kurtuluyorsunuz test kodu altta ben sitede paylastigim pic basic icin

samsung ks0108 cip setli ekranlar icin yazdigim kutuphane de kullandim pc programini modifiye ettim

pic programini degistirdim oldu gibi sorunsuz calistigini dusunursem yeni halini siteye eklerim

boyle daha guzel oluyor font tableyi de dahil ettim tabi bu durum 14 bit kelime boyutu olan islemciler icin

gecerli alttaki test kodunda bir eleman bir byte olarak kullanilmis siz bir elemani 14 bit kullanabilirsiniz 

test code:

INCLUDE "modedefs.bas"
DataWord  VAR  WORD
Offset    VAR  WORD
DataTable CON  EXT
sayac var byte

'-----[The DATA table]--------------------------------------------------------
GOTO OverData             ; Make sure data doesn't try to execute
ASM
DataTable
         DW  0x00,  0x00,  0x00,  0x00,  0x00,  0x00           ;Graphic character 0
         DW  0xFF,  0xFF,  0xFF,  0xFF,  0xFF,  0xFF           ;Graphic character 1
         DW  0x07,  0x07,  0x07,  0x00,  0x00,  0x00           ;Graphic character 2
         DW  0x00,  0x00,  0x00,  0x07,  0x07,  0x07           ;Graphic character 3
         DW  0xE0,  0xE0,  0xE0,  0x00,  0x00,  0x00           ;Graphic character 4
         DW  0x00,  0x00,  0x00,  0xE0,  0xE0,  0xE0           ;Graphic character 5
         DW  0xFF,  0xFF,  0xFF,  0x00,  0x00,  0x00           ;Graphic character 6
         DW  0x00,  0x00,  0x00,  0xFF,  0xFF,  0xFF           ;Graphic character 7
         DW  0x07,  0x07,  0x07,  0x07,  0x07,  0x07           ;Graphic character 8
         DW  0xE0,  0xE0,  0xE0,  0xE0,  0xE0,  0xE0           ;Graphic character 9
         DW  0xE0,  0xE0,  0xE0,  0x07,  0x07,  0x07           ;Graphic character 10
         DW  0x07,  0x07,  0x07,  0xE0,  0xE0,  0xE0           ;Graphic character 11
         DW  0xFF,  0xFF,  0xFF,  0xE0,  0xE0,  0xE0           ;Graphic character 12
         DW  0xE0,  0xE0,  0xE0,  0xFF,  0xFF,  0xFF           ;Graphic character 13
         DW  0x07,  0x07,  0x07,  0xFF,  0xFF,  0xFF           ;Graphic character 14
         DW  0xFF,  0xFF,  0xFF,  0x07,  0x07,  0x07           ;Graphic character 15
         DW  0x55,  0xAA,  0x55,  0xAA,  0x55,  0xAA           ;Graphic character 16
         DW  0xAA,  0x55,  0xAA,  0x55,  0xAA,  0x55           ;Graphic character 17
         DW  0x01,  0x01,  0x01,  0x01,  0x01,  0x01           ;Graphic character 18
         DW  0x80,  0x80,  0x80,  0x80,  0x80,  0x80           ;Graphic character 19
         DW  0xFF,  0x00,  0x00,  0x00,  0x00,  0x00           ;Graphic character 20
         DW  0x00,  0x00,  0x00,  0x00,  0x00,  0xFF           ;Graphic character 21
         DW  0xFF,  0x01,  0x01,  0x01,  0x01,  0x01           ;Graphic character 22
         DW  0x01,  0x01,  0x01,  0x01,  0x01,  0xFF           ;Graphic character 23
         DW  0xFF,  0x80,  0x80,  0x80,  0x80,  0x80           ;Graphic character 24
         DW  0x80,  0x80,  0x80,  0x80,  0x80,  0xFF           ;Graphic character 25
         DW  0x00,  0x00,  0x00,  0x00,  0xF0,  0xF0           ;User defined character 26
         DW  0x00,  0x00,  0x00,  0x00,  0x0F,  0x0F           ;User defined character 27
         DW  0x00,  0x00,  0x00,  0x00,  0x00,  0x00           ;User defined character 28
         DW  0x00,  0x00,  0x00,  0x00,  0x00,  0x00           ;User defined character 29
         DW  0x00,  0x00,  0x00,  0x00,  0x00,  0x00           ;User defined character 30
         DW  0x00,  0x00,  0x00,  0x00,  0x00,  0x00           ;User defined character 31
         DW  0x00,  0x00,  0x00,  0x00,  0x00,  0x00           ;32 -   - 20       
         DW  0x00,  0x00,  0x4F,  0x00,  0x00,  0x00           ;33 - ! - 21
         DW  0x00,  0x07,  0x00,  0x07,  0x00,  0x00           ;34 - " - 22
         DW  0x14,  0x7F,  0x14,  0x7F,  0x14,  0x00           ;35 - # - 23
         DW  0x24,  0x2A,  0x7F,  0x2A,  0x12,  0x00           ;36 -   - 24
         DW  0x23,  0x13,  0x08,  0x64,  0x62,  0x00           ;37 - % - 25
         DW  0x36,  0x49,  0x55,  0x22,  0x50,  0x00           ;38 - & - 26
         DW  0x00,  0x05,  0x03,  0x00,  0x00,  0x00           ;39 - ' - 27
         DW  0x1C,  0x22,  0x41,  0x00,  0x00,  0x00           ;40 - ( - 28
         DW  0x00,  0x00,  0x41,  0x22,  0x1C,  0x00           ;41 - ) - 29
         DW  0x14,  0x08,  0x3E,  0x08,  0x14,  0x00           ;42 - * - 2A
         DW  0x08,  0x08,  0x3E,  0x08,  0x08,  0x00           ;43 - + - 2B
         DW  0x00,  0x50,  0x30,  0x00,  0x00,  0x00           ;44 - ,  0x- 2C
         DW  0x08,  0x08,  0x08,  0x08,  0x08,  0x00           ;45 - - - 2D
         DW  0x00,  0x60,  0x60,  0x00,  0x00,  0x00           ;46 - . - 2E
         DW  0x20,  0x10,  0x08,  0x04,  0x02,  0x00           ;47 - / - 2F
         DW  0x3E,  0x51,  0x49,  0x45,  0x3E,  0x00           ;48 - 0 - 30
         DW  0x00,  0x42,  0x7F,  0x40,  0x00,  0x00           ;49 - 1 - 31
         DW  0x42,  0x61,  0x51,  0x49,  0x46,  0x00           ;50 - 2 - 32
         DW  0x21,  0x41,  0x45,  0x4B,  0x31,  0x00           ;51 - 3 - 33
         DW  0x18,  0x14,  0x12,  0x7F,  0x10,  0x00           ;52 - 4 - 34
         DW  0x27,  0x45,  0x45,  0x45,  0x39,  0x00           ;53 - 5 - 35
         DW  0x3C,  0x4A,  0x49,  0x49,  0x30,  0x00           ;54 - 6 - 36
         DW  0x01,  0x71,  0x09,  0x05,  0x03,  0x00           ;55 - 7 - 37
         DW  0x36,  0x49,  0x49,  0x49,  0x36,  0x00           ;56 - 8 - 38
         DW  0x06,  0x49,  0x49,  0x49,  0x3E,  0x00           ;57 - 9 - 39
         DW  0x00,  0x36,  0x36,  0x00,  0x00,  0x00           ;58 - : - 3A
         DW  0x00,  0x56,  0x36,  0x00,  0x00,  0x00           ;59 - ; - 3B
         DW  0x08,  0x14,  0x22,  0x41,  0x00,  0x00           ;60 - < - 3C
         DW  0x14,  0x14,  0x14,  0x14,  0x14,  0x00           ;61 - = - 3D
         DW  0x00,  0x41,  0x22,  0x14,  0x08,  0x00           ;62 - > - 3E
         DW  0x02,  0x01,  0x51,  0x09,  0x06,  0x00           ;63 - ? - 3F
         DW  0x32,  0x49,  0x79,  0x41,  0x3E,  0x00           ;64 - @ - 40
         DW  0x7E,  0x11,  0x11,  0x11,  0x7E,  0x00           ;65 - A - 41
         DW  0x7F,  0x49,  0x49,  0x49,  0x36,  0x00           ;66 - B - 42
         DW  0x3E,  0x41,  0x41,  0x41,  0x22,  0x00           ;67 - C - 43
         DW  0x7F,  0x41,  0x41,  0x22,  0x1C,  0x00           ;68 - D - 44
         DW  0x7F,  0x49,  0x49,  0x49,  0x41,  0x00           ;69 - E - 45
         DW  0x7F,  0x09,  0x09,  0x09,  0x01,  0x00           ;70 - F - 46
         DW  0x3E,  0x41,  0x49,  0x49,  0x7A,  0x00           ;71 - G - 47
         DW  0x7F,  0x08,  0x08,  0x08,  0x7F,  0x00           ;72 - H - 48
         DW  0x00,  0x41,  0x7F,  0x41,  0x00,  0x00           ;73 - I - 49
         DW  0x20,  0x40,  0x41,  0x3F,  0x01,  0x00           ;74 - J - 4A
         DW  0x7F,  0x08,  0x14,  0x22,  0x41,  0x00           ;75 - K - 4B
         DW  0x7F,  0x40,  0x40,  0x40,  0x40,  0x00           ;76 - L - 4C
         DW  0x7F,  0x02,  0x0C,  0x02,  0x7F,  0x00           ;77 - M - 4D
         DW  0x7F,  0x04,  0x08,  0x10,  0x7F,  0x00           ;78 - N - 4E
         DW  0x3E,  0x41,  0x41,  0x41,  0x3E,  0x00           ;79 - O - 4F
         DW  0x7F,  0x09,  0x09,  0x09,  0x06,  0x00           ;80 - P - 50
         DW  0x3E,  0x41,  0x51,  0x21,  0x5E,  0x00           ;81 - Q - 51
         DW  0x7F,  0x09,  0x19,  0x29,  0x46,  0x00           ;82 - R - 52
         DW  0x46,  0x49,  0x49,  0x49,  0x31,  0x00           ;83 - S - 53
         DW  0x01,  0x01,  0x7F,  0x01,  0x01,  0x00           ;84 - T - 54
         DW  0x3F,  0x40,  0x40,  0x40,  0x3F,  0x00           ;85 - U - 55
         DW  0x1F,  0x20,  0x40,  0x20,  0x1F,  0x00           ;86 - V - 56
         DW  0x3F,  0x40,  0x38,  0x40,  0x3F,  0x00           ;87 - W - 57
         DW  0x63,  0x14,  0x08,  0x14,  0x63,  0x00           ;88 - X - 58
         DW  0x07,  0x08,  0x70,  0x08,  0x07,  0x00           ;89 - Y - 59
         DW  0x61,  0x51,  0x49,  0x45,  0x43,  0x00           ;90 - Z - 5A
         DW  0x7F,  0x41,  0x41,  0x00,  0x00,  0x00           ;91 - [ - 5B
         DW  0x02,  0x04,  0x08,  0x10,  0x20,  0x00           ;92 - \ - 5C
         DW  0x00,  0x00,  0x41,  0x41,  0x7F,  0x00           ;93 - ] - 5D
         DW  0x04,  0x02,  0x01,  0x02,  0x04,  0x00           ;94 - ^ - 5E
         DW  0x40,  0x40,  0x40,  0x40,  0x40,  0x00           ;95 - _ - 5F
         DW  0x00,  0x01,  0x02,  0x04,  0x00,  0x00           ;96 - ` - 60
         DW  0x20,  0x54,  0x54,  0x54,  0x78,  0x00           ;97 - a - 61
         DW  0x7F,  0x48,  0x44,  0x44,  0x38,  0x00           ;98 - b - 62
         DW  0x38,  0x44,  0x44,  0x44,  0x20,  0x00           ;99 - c - 63
         DW  0x38,  0x44,  0x44,  0x48,  0x7F,  0x00           ;100  d - 64
         DW  0x38,  0x54,  0x54,  0x54,  0x18,  0x00           ;101  e - 65
         DW  0x08,  0x7E,  0x09,  0x01,  0x02,  0x00           ;102  f - 66
endasm
OverData:
  'maximum 798 byte yaziliyor
;-----[Retrieve from DATA table]----------------------------------------------
trisb.0=0:portb.0=1:pause 500

for Offset =0 to 797 step 1
ReadCODE  (DataTable + Offset),DataWord
SEROUT portb.0,t9600,[DataWord]
next offset

dur:
goto dur

Tek Care Format C:

Powered by EzPortal