

[center]

Aby to zrobic potrzebny bedzie jakis program graficzny paint lub corel photo paint. Gdy juz mamy program to wystarczy cos namalowac w rozdzielczosci 192x64 (raster

[center]

Teraz aby uproscic kod trzeba nasz obrazek poprzestawiac:
[center]

1. odwrocic kolory
[center]

2. obrocic o 90' przeciwnie z ruchem wskazowek zegara
[center]

3. zrobic lustrzane odbicie.
Opis jak sa zapisane oraz jak przygotowac obrazek opracowalem na podstawie


Gdy juz obrazek jest gotowy to mozna teraz uzyc program

Tak przygotowane dane dolaczylem do programu napisanego w C
Kod: Zaznacz cały
// Driver *** Graphic LCD 19264 *** through Lpt by :) ACeK
#include <conio.h>
#include <stdio.h>
unsigned short lpt = 0x378;
unsigned short lptr = 0x37a;
int data; // data writen to Lcd
int lcdreg [3] = {234, 226, 232}; // "rs" (234 i 235) , "E" (238 i 239)
char segmentLcd;
char pagecount;
char invers;
int count;
int lcdxxx = 0; // variable for in write_lcd function
int lcddata;
int lcdrw; // rs 0 write to display data, 1 write to reg data
int wtime; // time in milisec
unsigned char ACeKData[1536] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xC0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0,
0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x1F, 0xC0,
0x00, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x3F, 0x80,
0x00, 0x00, 0x00, 0x1F, 0xFC, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0x01, 0xFE, 0x00,
0x00, 0x00, 0x00, 0x1F, 0xFF, 0x83, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0xE7, 0xF8, 0x00,
0x00, 0x00, 0x00, 0x3F, 0x3F, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x0F, 0xFF, 0xE0, 0x00,
0x00, 0x00, 0x00, 0x3E, 0x03, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x01, 0xFF, 0x80, 0x00,
0x00, 0x00, 0x00, 0x3E, 0x00, 0x7F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x1F, 0xC0, 0x00,
0x00, 0x00, 0x00, 0x7E, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x07, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x7C, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x01, 0xFE, 0x00,
0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x07, 0x00, 0x7C, 0x00, 0x00, 0x7F, 0x00,
0x00, 0x0F, 0x80, 0x7C, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x0F, 0xC0, 0x7C, 0x00, 0x00, 0x1F, 0x80,
0x00, 0x0F, 0xE0, 0x7C, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x0F, 0xF0, 0x7C, 0x00, 0x00, 0x7F, 0x80,
0x00, 0x07, 0xFC, 0xFC, 0x00, 0x07, 0xFF, 0x80, 0x00, 0x03, 0xFE, 0xFC, 0x00, 0x7F, 0xFF, 0x80,
0x00, 0x01, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xF8, 0x0F, 0xFF, 0xFC, 0x00,
0x00, 0x00, 0x3F, 0xF8, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFE, 0x00, 0x00,
0x00, 0x00, 0x07, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x80, 0x00, 0x00,
0x00, 0x00, 0x01, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0xFF, 0x80, 0x00, 0x38, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x7C, 0x00,
0x00, 0x00, 0x1F, 0xFF, 0xE0, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xF0, 0x00, 0x7E, 0x00,
0x00, 0x00, 0x7F, 0xE3, 0xF8, 0x0E, 0x7E, 0x00, 0x00, 0x00, 0xFF, 0x01, 0xFE, 0x1F, 0x3E, 0x00,
0x00, 0x01, 0xFE, 0x00, 0xFF, 0x1F, 0x3E, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x7F, 0x1F, 0x3F, 0x00,
0x00, 0x07, 0xF0, 0x00, 0x3F, 0x9F, 0xBF, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xDF, 0x9F, 0x00,
0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xEF, 0x9F, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x07, 0xEF, 0x9F, 0x00,
0x00, 0x7F, 0x00, 0x00, 0x03, 0xEF, 0x9F, 0x1C, 0x00, 0x7E, 0x00, 0x00, 0x01, 0xCF, 0x9F, 0x3E,
0x00, 0x3C, 0x00, 0x00, 0x00, 0x0F, 0x9F, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x9F, 0x3E,
0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x9F, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x8E, 0xFE,
0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x81, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x01, 0xFC,
0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x07, 0xF0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x9F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xC0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFC, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0xF8, 0x00, 0x00, 0x00, 0x00,
0x00, 0x0C, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x30, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
0x00, 0x60, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0xC1, 0x80, 0x00, 0x00, 0x00,
0x00, 0xC1, 0x81, 0xC0, 0x80, 0x00, 0x0E, 0x00, 0x00, 0xC3, 0x01, 0xC0, 0x80, 0x00, 0x1F, 0x00,
0x00, 0xC6, 0x00, 0x00, 0x80, 0x00, 0x1F, 0x00, 0x00, 0xC4, 0x00, 0x00, 0x80, 0x00, 0x3F, 0x00,
0x00, 0xC4, 0x00, 0x00, 0x80, 0x00, 0x3F, 0x00, 0x00, 0xC4, 0x00, 0x00, 0x80, 0x00, 0x3E, 0x00,
0x00, 0xC4, 0x00, 0x01, 0x80, 0x00, 0x3E, 0x00, 0x00, 0xC4, 0x00, 0x01, 0x80, 0x00, 0x3E, 0x00,
0x00, 0xC2, 0x01, 0xC1, 0x80, 0x00, 0x3E, 0x00, 0x00, 0x42, 0x01, 0xC3, 0x00, 0x00, 0x3E, 0x00,
0x00, 0x41, 0x01, 0xC3, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x60, 0x80, 0x02, 0x00, 0x00, 0x3E, 0x00,
0x00, 0x60, 0x00, 0x02, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00, 0x3E, 0x00,
0x00, 0x18, 0x00, 0x0C, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x00, 0x3E, 0x00,
0x00, 0x06, 0x00, 0x30, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x01, 0xF0, 0xC0, 0x00, 0x00, 0x3E, 0x00,
0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x3E, 0x00,
0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x3E, 0x00,
0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0xFE, 0x00,
0x00, 0x00, 0x00, 0x00, 0x7C, 0x07, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x1F, 0xFE, 0x00,
0x00, 0x00, 0x00, 0x00, 0x7C, 0x3F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x7F, 0xF8, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xFE, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFC, 0x01, 0xF0, 0x00, 0x00, 0x00,
0x00, 0x0F, 0xFF, 0xC3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00,
0x00, 0x0F, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0xF8, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFC, 0x1F, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0xFE, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0x1F, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0xFF, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x9F, 0x00, 0x00,
0x00, 0x00, 0x00, 0x03, 0xFF, 0xDF, 0x00, 0x00, 0x00, 0x3F, 0xE0, 0x03, 0xEF, 0xFF, 0x00, 0x00,
0x00, 0x3F, 0xE0, 0x03, 0xE7, 0xFF, 0x00, 0x00, 0x00, 0x36, 0x60, 0x03, 0xE3, 0xFF, 0x00, 0x00,
0x00, 0x36, 0x60, 0x03, 0xE1, 0xFF, 0x00, 0x00, 0x00, 0x30, 0x60, 0x03, 0xE0, 0xFF, 0x00, 0x00,
0x00, 0x38, 0xE0, 0x03, 0xE0, 0x7F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE0, 0x3F, 0xC0, 0x00,
0x00, 0x3F, 0xE0, 0x03, 0xE0, 0xFF, 0xC0, 0x00, 0x00, 0x3F, 0xE0, 0x07, 0xE7, 0xFF, 0xE0, 0x00,
0x00, 0x06, 0x60, 0x07, 0xEF, 0xFF, 0xF0, 0x00, 0x00, 0x06, 0x60, 0x07, 0xCF, 0xFF, 0xF8, 0x00,
0x00, 0x07, 0x60, 0x01, 0x8F, 0xF1, 0xFC, 0x00, 0x00, 0x03, 0xC0, 0x40, 0x07, 0xE0, 0xFC, 0x00,
0x00, 0x01, 0x87, 0xF8, 0x00, 0x00, 0x7C, 0x00, 0x01, 0x80, 0x00, 0x84, 0x00, 0x00, 0x7C, 0x00,
0x00, 0x70, 0x00, 0x02, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x58, 0x03, 0x84, 0x00, 0x00, 0xFC, 0x00,
0x00, 0x44, 0x04, 0x80, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF8, 0x04, 0x80, 0x00, 0x00, 0xF8, 0x00,
0x00, 0xF0, 0x04, 0x80, 0x01, 0xC0, 0xF8, 0x00, 0x01, 0x08, 0x04, 0x80, 0x3E, 0x40, 0xF8, 0x00,
0x01, 0x08, 0x03, 0x81, 0xC0, 0x40, 0xF8, 0x00, 0x01, 0x88, 0x00, 0x01, 0x00, 0x80, 0xF8, 0x00,
0x01, 0x60, 0x00, 0x40, 0x80, 0x80, 0xF8, 0x00, 0x01, 0xA0, 0x03, 0x80, 0x83, 0x00, 0xF8, 0x00,
0x01, 0x60, 0x0D, 0x00, 0xCC, 0x00, 0xF8, 0x00, 0x01, 0x00, 0x00, 0x80, 0x38, 0x00, 0xF8, 0x00,
0x00, 0x00, 0x00, 0x80, 0x00, 0x40, 0xF8, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x0F, 0x81, 0xF8, 0x00,
0x00, 0x40, 0x00, 0x80, 0x70, 0x01, 0xF8, 0x00, 0x00, 0xB0, 0x0F, 0x01, 0x80, 0x01, 0xF8, 0x00,
0x00, 0x8C, 0x08, 0x01, 0x00, 0x00, 0xF0, 0x00, 0x01, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0x00,
0x00, 0x00, 0x10, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0xC4, 0x00, 0x00, 0x00,
0x00, 0x00, 0x07, 0x81, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x81, 0x0C, 0x00, 0x00, 0x00,
0x00, 0x00, 0x06, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x80, 0xF0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x1F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
} ;
int write_lcd(int lcdrw, int data, int wtime);
// wriate funtion(0 data display, 1 reg inst), data, wating time
main()
{
puts("Sterowanie Gr LCD przez Lpt o adresie H378");
for (segmentLcd = 0; segmentLcd < 3; segmentLcd++)
{
data = 62;// display OFF
write_lcd(1, data, 5); // 1 write reg instruction
sleep (1);
data = 63; // display ON
write_lcd(1, data, 1);
data = 192; // display start line
write_lcd(1, data, 1);
data = 64; // set Y to 0
write_lcd(1, data, 1);
for (pagecount = 0; pagecount < 8; pagecount++)
{
data = 184 + pagecount; // page 0
write_lcd(1, data, 1);
invers = 7 - pagecount;
data =0; //variable data for display
for (count = 0; count < 64; count++)
{
data = ACeKData[(count * 8 + invers + segmentLcd * 512)];
write_lcd(0, data, 1);
}
}
}
puts("obraz wpisany :)");
return 0;
}
int write_lcd(int lcdrw, int data, int wtime)
{
lcdxxx = lcdreg [segmentLcd] + lcdrw;
_outp(lpt, data);
_outp(lptr, lcdxxx);
_outp(lptr, (lcdxxx += 4));
_outp(lptr, (lcdxxx -=4));
sleep(wtime);
data = _inp(lpt);
return data;
}


[center]

BTW Jesli opis jest
