K
kcfresher
Guest
Man ir problēma piekļūt TFT LCD (240x320) modulis.Es nopirkto 3.2 "TFT LCD modulis no eBay.
EBay saite ir: http://cgi.ebay.com/3-2-TFT-LCD-Module-Display-Touch-Panel-PCB-adapter-/200475566068?cmd=ViewItem&pt=LH_DefaultDomain_0&hash=item2ead465ff4 # ht_8028wt_906
Man LCD piegādāts kopā ar parauga kodu rakstīts ATMEL MCU.I modificēto kodu manu MCU un ņēma inicializācijas displeja no saites: http://www.4dsystems.com.au/downloads/Displays/LCD/4DLCD- 32/HX8347-A01_DS_preliminary_01.pdfVaru acess LCD, bet NAV fully.I cenšos drukāt visu ekrānu, aizpildot dažas krāsas.
Bet tas nav parādīt pilnībā.Tas tikai parāda, kā parādīts pievienotajā attēlā.Pēc atkļūdošana es uzzināju programma izpaužas hanged iekšpusē cilpa.Kad mēģinu aizpildīt apmēram 19000 pikseļi tas darbojas naudas sodu un turpina veikt pēc pārskatu iekšpusē programmas.Bet tas arī nestrādās, ja man ir cilpas pēc tā.
Ko es novērots, ka, ja es izmantot kavēšanās savā programmā, tad displejs kļūst plīvoja un kaut ko (piemēram, sniega) pārceļas fonā, un turklāt, ja es cenšos mainīt atmiņas veids lieliem, tad tik atkal mazāk krāsa kļūst iespiestas un sniega formas atkal .
Es neesmu pārliecināts, vai man ir nepieciešams, lai novērstu jebkādu hronometrāžu vai kaut ko līdzīgu.
Tehniskā informācija:
Mikrokontrolleru: C8051f124
Ārējo oscilatoru: 24.5MHz
LCD vadītājs: HX8347-
Kompilators: Keil C51
PIN konfigurācija
4 - zemu baits
P5 - High baits
sibt LCD_RS = P6 ^ 0;
sbit LCD_REST = P6 ^ 1;
sbit LCD_WR = P6 ^ 2;
sbit LCD_RD = P6 ^ 3;
sbit LCD_CS = P6 ^ 4;Kods:
Kods:# Ietvert <Cygnal/c8051F120.h>sbit LCD_RS = P6 ^ 0; / / EY ¾ Y / ÃüÁîÇĐ »»
sbit LCD_REST = P6 ^ 1; / / ° "i»
sbit LCD_WR = P6 ^ 2; / / DJ '¿ØÖÆ
sbit LCD_RD = P6 ^ 3; / / ¿ØÖÆ
sbit LCD_CS = P6 ^ 4;par spēkā neesošu delayms (int skaits) / / / * X1ms * /
(
int i, j;
/ / (I = 0; i <skaits; i )
/ / Par (j = 0, j <100; j );
)par spēkā neesošu main_Write_COM (int DH) / / ÃüÁî
(
LCD_RS = 0;
LCD_CS = 0;
P4 = DH; / / [P4-adrese autobusu / datu autobuss]
P5 = DH>> 8;
LCD_WR = 0;
LCD_WR = 1;
LCD_CS = 1![Wink ;) ;)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
par spēkā neesošu cld_write_color (palija hh, palija ll) / / · ËÍÑÕÉ "EY ¾ Yi ª IA ¸ ßËÙ e ¸ ß8λ μÍ8Î »· Ö ± ð" «μÝ
(
LCD_RS = 1;
LCD_CS = 0;
P4 = hh;
P5 = hh;
P4 = ll;
LCD_WR = 0;
LCD_WR = 1;
LCD_CS = 1
par spēkā neesošu main_Write_DATA (int DH) / / EY ¾ Y
(LCD_RS = 1;
LCD_CS = 0;
P4 = DH;
P5 = DH>> 8;
LCD_WR = 0;
LCD_WR = 1;
LCD_CS = 1
par spēkā neesošu main_W_com_data (int COM1, dat1) / / ÃüÁîÊý ¾ yo »AED
(
main_Write_COM (COM1);
main_Write_DATA (dat1);
)
par spēkā neesošu address_set (neparakstīta int x1, neparakstīta int y1, neparakstīta int x2, neparakstīts int y2)
(
main_W_com_data (0x0002, x1>> 8); / / Kolonna adrese start2
main_W_com_data (0x0003, x1); / / Kolonna adrese start1
main_W_com_data (0x0004, x2>> 8); / / Kolonna adrese end2
main_W_com_data (0x0005, x2); / / Kolonna adrese end1
main_W_com_data (0x0006, y1>> 8); / / rindu adreses start2
main_W_com_data (0x0007, y1) / / rindu adreses start1
main_W_com_data (0x0008, y2>> 8); / / rindu adreses end2
main_W_com_data (0x0009, y2); / / rindu adreses end1
main_Write_COM (0x0022)
par spēkā neesošu Port_IO_Init ()
(SFRPAGE = CONFIG_PAGE;
/ / XBR2 = 0x40;
P6MDOUT = 0xFF;
P4MDOUT = 0xFF;
P5MDOUT = 0xFF;
)/ / Inicializācijas funkciju ierīces,
/ / Call Init_Device () no jūsu galvenās programmas
par spēkā neesošu Init_Device (spēkā neesošs)
(
Port_IO_Init ();
)par spēkā neesošu main_init (spēkā neesošs)
(Init_Device ();LCD_REST = 1;
delayms (5);
LCD_REST = 0;
delayms (10);
LCD_REST = 1;
delayms (20);main_W_com_data (0x0046, 0x00A4);
main_W_com_data (0x0047, 0x0053);
main_W_com_data (0x0048, 0x0000);
main_W_com_data (0x0049, 0x0044);
main_W_com_data (0x004A, 0x0004);
main_W_com_data (0x004B, 0x0067);
main_W_com_data (0x004C, 0x0033);
main_W_com_data (0x004D, 0x0077);
main_W_com_data (0x004E, 0x0012);
main_W_com_data (0x004F, 0x004C);
main_W_com_data (0x0050, 0x0046);
main_W_com_data (0x0051, 0x0044);
/ / 240x320 logs, kurā
main_W_com_data (0x0002, 0x0000); / / Kolonna adrese start2
main_W_com_data (0x0003, 0x0000); / / Kolonna adrese start1
main_W_com_data (0x0004, 0x0000); / / Kolonna adrese end2
main_W_com_data (0x0005, 0x00EF); / / Kolonna adrese end1
main_W_com_data (0x0006, 0x0000); / / rindu adreses start2
main_W_com_data (0x0007, 0x0000); / / rindu adreses start1
main_W_com_data (0x0008, 0x0001); / / rindu adreses end2
main_W_com_data (0x0009, 0x003F); / / rindu adreses end1
/ / Display uzstādīšana
main_W_com_data (0x0001, 0x0006); / / IDMON = 0, INVON = 1, NORON = 1, PTLON = 0
main_W_com_data (0x0016, 0x0048); / / MY = 0, MX = 0, MV = 0, ML = 1, BGR = 0, TEON = 0
main_W_com_data (0x0023, 0x0095); / / N_DC = 1001 0101
main_W_com_data (0x0024, 0x0095); / / PI_DC = 1001 0101
main_W_com_data (0x0025, 0x00FF); / / I_DC = 1111 1111
main_W_com_data (0x0027, 0x0002); / / N_BP = 0000 0010
main_W_com_data (0x0028, 0x0002); / / N_FP = 0000 0010
main_W_com_data (0x0029, 0x0002); / / PI_BP = 0000 0010
main_W_com_data (0x002A, 0x0002); / / PI_FP = 0000 0010
main_W_com_data (0x002C, 0x0002); / / I_BP = 0000 0010
main_W_com_data (0x002D, 0x0002); / / I_FP = 0000 0010
main_W_com_data (0x003A, 0x0001); / / N_RTN = 0000, N_NW = 001
main_W_com_data (0x003B, 0x0001); / / PI_RTN = 0000, PI_NW = 001
main_W_com_data (0x003C, 0x00F0); / / I_RTN = 1111, I_NW = 000
main_W_com_data (0x003D, 0x0000); / / DIV = 00
delayms (20);
main_W_com_data (0x0035, 0x0038); / / VKS = 38h
main_W_com_data (0x0036, 0x0078); / / EQP = 78h
main_W_com_data (0x003E, 0x0038); / / dēls = 38h
main_W_com_data (0x0040, 0x000F); / / GDON = 0Fh
main_W_com_data (0x0041, 0x00F0); / / GDOFF
/ / Barošanas uzstādīšana
main_W_com_data (0x0019, 0x0049); / / CADJ = 0100, CUADJ = 100 (FR: 60Hz), OSD_EN = 1
main_W_com_data (0x0093, 0x000F); / / RADJ = 1111, 100%
delayms (10);
main_W_com_data (0x0020, 0x0040); / / BT = 0100
main_W_com_data (0x001D, 0x0007); / / VC1 = 111
main_W_com_data (0x001E, 0x0000); / / VC3 = 000
main_W_com_data (0x001F, 0x0004); / / VRH = 0100
/ / VCOM Setting par 3,2 TKO "Panel
main_W_com_data (0x0044, 0x004D); / / VHM = 100 1101
main_W_com_data (0x0045, 0x0011); / / VDV = 1 0001
delayms (10);
main_W_com_data (0x001C, 0x0004); / / AP = 100
delayms (20);
main_W_com_data (0x001B, 0x0018); / / GASENB = 0, Pon = 1, DK = 1, XDK = 0, VLCD_TRI = 0, STB = 0
delayms (40);
main_W_com_data (0x001B, 0x0010); / / GASENB = 0, Pon = 1, DK = 0, XDK = 0, VLCD_TRI = 0, STB = 0
delayms (40);
main_W_com_data (0x0043, 0x0080), / / kas VCOMG = 1
delayms (100);
/ / Display ON uzstādīšana
main_W_com_data (0x0090, 0x007F); / / SAP = 0111 1111
main_W_com_data (0x0026, 0x0004); / / gon = 0, DTE = 0, D = 01
delayms (40);
main_W_com_data (0x0026, 0x0024); / / gon = 1, DTE = 0, D = 01
main_W_com_data (0x0026, 0x002C); / / gon = 1, DTE = 0, D = 11
delayms (40);
main_W_com_data (0x0026, 0x003C); / / gon = 1, DTE = 1, D = 11
/ / Set iekšējā VDDD spriegums
main_W_com_data (0x0057, 0x0002); / / Test_Mode Ieslēgt
main_W_com_data (0x0055, 0x0000); / / VDC_SEL = 000, VDDD = 1.95V
main_W_com_data (0x00FE, 0x005A); / / For ESD aizsardzību
main_W_com_data (0x0057, 0x0000); / / Test_Mode Izslēgt
)par spēkā neesošu Paint (neparakstīta int krāsa)
(
int i, j;
address_set (0,0,239,320);(i = 0; i <239; i )
(
par (j = 0, j <320; j )
(
main_Write_DATA (krāsa);
))
)galvenais ()
(
neparakstīts int i, j, k;
main_init ();Paint (0x8000)![Wink ;) ;)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
EBay saite ir: http://cgi.ebay.com/3-2-TFT-LCD-Module-Display-Touch-Panel-PCB-adapter-/200475566068?cmd=ViewItem&pt=LH_DefaultDomain_0&hash=item2ead465ff4 # ht_8028wt_906
Man LCD piegādāts kopā ar parauga kodu rakstīts ATMEL MCU.I modificēto kodu manu MCU un ņēma inicializācijas displeja no saites: http://www.4dsystems.com.au/downloads/Displays/LCD/4DLCD- 32/HX8347-A01_DS_preliminary_01.pdfVaru acess LCD, bet NAV fully.I cenšos drukāt visu ekrānu, aizpildot dažas krāsas.
Bet tas nav parādīt pilnībā.Tas tikai parāda, kā parādīts pievienotajā attēlā.Pēc atkļūdošana es uzzināju programma izpaužas hanged iekšpusē cilpa.Kad mēģinu aizpildīt apmēram 19000 pikseļi tas darbojas naudas sodu un turpina veikt pēc pārskatu iekšpusē programmas.Bet tas arī nestrādās, ja man ir cilpas pēc tā.
Ko es novērots, ka, ja es izmantot kavēšanās savā programmā, tad displejs kļūst plīvoja un kaut ko (piemēram, sniega) pārceļas fonā, un turklāt, ja es cenšos mainīt atmiņas veids lieliem, tad tik atkal mazāk krāsa kļūst iespiestas un sniega formas atkal .
Es neesmu pārliecināts, vai man ir nepieciešams, lai novērstu jebkādu hronometrāžu vai kaut ko līdzīgu.
Tehniskā informācija:
Mikrokontrolleru: C8051f124
Ārējo oscilatoru: 24.5MHz
LCD vadītājs: HX8347-
Kompilators: Keil C51
PIN konfigurācija
P5 - High baits
sibt LCD_RS = P6 ^ 0;
sbit LCD_REST = P6 ^ 1;
sbit LCD_WR = P6 ^ 2;
sbit LCD_RD = P6 ^ 3;
sbit LCD_CS = P6 ^ 4;Kods:
Kods:# Ietvert <Cygnal/c8051F120.h>sbit LCD_RS = P6 ^ 0; / / EY ¾ Y / ÃüÁîÇĐ »»
sbit LCD_REST = P6 ^ 1; / / ° "i»
sbit LCD_WR = P6 ^ 2; / / DJ '¿ØÖÆ
sbit LCD_RD = P6 ^ 3; / / ¿ØÖÆ
sbit LCD_CS = P6 ^ 4;par spēkā neesošu delayms (int skaits) / / / * X1ms * /
(
int i, j;
/ / (I = 0; i <skaits; i )
/ / Par (j = 0, j <100; j );
)par spēkā neesošu main_Write_COM (int DH) / / ÃüÁî
(
LCD_RS = 0;
LCD_CS = 0;
P4 = DH; / / [P4-adrese autobusu / datu autobuss]
P5 = DH>> 8;
LCD_WR = 0;
LCD_WR = 1;
LCD_CS = 1
par spēkā neesošu cld_write_color (palija hh, palija ll) / / · ËÍÑÕÉ "EY ¾ Yi ª IA ¸ ßËÙ e ¸ ß8λ μÍ8Î »· Ö ± ð" «μÝ
(
LCD_RS = 1;
LCD_CS = 0;
P4 = hh;
P5 = hh;
P4 = ll;
LCD_WR = 0;
LCD_WR = 1;
LCD_CS = 1
(LCD_RS = 1;
LCD_CS = 0;
P4 = DH;
P5 = DH>> 8;
LCD_WR = 0;
LCD_WR = 1;
LCD_CS = 1
(
main_Write_COM (COM1);
main_Write_DATA (dat1);
)
par spēkā neesošu address_set (neparakstīta int x1, neparakstīta int y1, neparakstīta int x2, neparakstīts int y2)
(
main_W_com_data (0x0002, x1>> 8); / / Kolonna adrese start2
main_W_com_data (0x0003, x1); / / Kolonna adrese start1
main_W_com_data (0x0004, x2>> 8); / / Kolonna adrese end2
main_W_com_data (0x0005, x2); / / Kolonna adrese end1
main_W_com_data (0x0006, y1>> 8); / / rindu adreses start2
main_W_com_data (0x0007, y1) / / rindu adreses start1
main_W_com_data (0x0008, y2>> 8); / / rindu adreses end2
main_W_com_data (0x0009, y2); / / rindu adreses end1
main_Write_COM (0x0022)
(SFRPAGE = CONFIG_PAGE;
/ / XBR2 = 0x40;
P6MDOUT = 0xFF;
P4MDOUT = 0xFF;
P5MDOUT = 0xFF;
)/ / Inicializācijas funkciju ierīces,
/ / Call Init_Device () no jūsu galvenās programmas
par spēkā neesošu Init_Device (spēkā neesošs)
(
Port_IO_Init ();
)par spēkā neesošu main_init (spēkā neesošs)
(Init_Device ();LCD_REST = 1;
delayms (5);
LCD_REST = 0;
delayms (10);
LCD_REST = 1;
delayms (20);main_W_com_data (0x0046, 0x00A4);
main_W_com_data (0x0047, 0x0053);
main_W_com_data (0x0048, 0x0000);
main_W_com_data (0x0049, 0x0044);
main_W_com_data (0x004A, 0x0004);
main_W_com_data (0x004B, 0x0067);
main_W_com_data (0x004C, 0x0033);
main_W_com_data (0x004D, 0x0077);
main_W_com_data (0x004E, 0x0012);
main_W_com_data (0x004F, 0x004C);
main_W_com_data (0x0050, 0x0046);
main_W_com_data (0x0051, 0x0044);
/ / 240x320 logs, kurā
main_W_com_data (0x0002, 0x0000); / / Kolonna adrese start2
main_W_com_data (0x0003, 0x0000); / / Kolonna adrese start1
main_W_com_data (0x0004, 0x0000); / / Kolonna adrese end2
main_W_com_data (0x0005, 0x00EF); / / Kolonna adrese end1
main_W_com_data (0x0006, 0x0000); / / rindu adreses start2
main_W_com_data (0x0007, 0x0000); / / rindu adreses start1
main_W_com_data (0x0008, 0x0001); / / rindu adreses end2
main_W_com_data (0x0009, 0x003F); / / rindu adreses end1
/ / Display uzstādīšana
main_W_com_data (0x0001, 0x0006); / / IDMON = 0, INVON = 1, NORON = 1, PTLON = 0
main_W_com_data (0x0016, 0x0048); / / MY = 0, MX = 0, MV = 0, ML = 1, BGR = 0, TEON = 0
main_W_com_data (0x0023, 0x0095); / / N_DC = 1001 0101
main_W_com_data (0x0024, 0x0095); / / PI_DC = 1001 0101
main_W_com_data (0x0025, 0x00FF); / / I_DC = 1111 1111
main_W_com_data (0x0027, 0x0002); / / N_BP = 0000 0010
main_W_com_data (0x0028, 0x0002); / / N_FP = 0000 0010
main_W_com_data (0x0029, 0x0002); / / PI_BP = 0000 0010
main_W_com_data (0x002A, 0x0002); / / PI_FP = 0000 0010
main_W_com_data (0x002C, 0x0002); / / I_BP = 0000 0010
main_W_com_data (0x002D, 0x0002); / / I_FP = 0000 0010
main_W_com_data (0x003A, 0x0001); / / N_RTN = 0000, N_NW = 001
main_W_com_data (0x003B, 0x0001); / / PI_RTN = 0000, PI_NW = 001
main_W_com_data (0x003C, 0x00F0); / / I_RTN = 1111, I_NW = 000
main_W_com_data (0x003D, 0x0000); / / DIV = 00
delayms (20);
main_W_com_data (0x0035, 0x0038); / / VKS = 38h
main_W_com_data (0x0036, 0x0078); / / EQP = 78h
main_W_com_data (0x003E, 0x0038); / / dēls = 38h
main_W_com_data (0x0040, 0x000F); / / GDON = 0Fh
main_W_com_data (0x0041, 0x00F0); / / GDOFF
/ / Barošanas uzstādīšana
main_W_com_data (0x0019, 0x0049); / / CADJ = 0100, CUADJ = 100 (FR: 60Hz), OSD_EN = 1
main_W_com_data (0x0093, 0x000F); / / RADJ = 1111, 100%
delayms (10);
main_W_com_data (0x0020, 0x0040); / / BT = 0100
main_W_com_data (0x001D, 0x0007); / / VC1 = 111
main_W_com_data (0x001E, 0x0000); / / VC3 = 000
main_W_com_data (0x001F, 0x0004); / / VRH = 0100
/ / VCOM Setting par 3,2 TKO "Panel
main_W_com_data (0x0044, 0x004D); / / VHM = 100 1101
main_W_com_data (0x0045, 0x0011); / / VDV = 1 0001
delayms (10);
main_W_com_data (0x001C, 0x0004); / / AP = 100
delayms (20);
main_W_com_data (0x001B, 0x0018); / / GASENB = 0, Pon = 1, DK = 1, XDK = 0, VLCD_TRI = 0, STB = 0
delayms (40);
main_W_com_data (0x001B, 0x0010); / / GASENB = 0, Pon = 1, DK = 0, XDK = 0, VLCD_TRI = 0, STB = 0
delayms (40);
main_W_com_data (0x0043, 0x0080), / / kas VCOMG = 1
delayms (100);
/ / Display ON uzstādīšana
main_W_com_data (0x0090, 0x007F); / / SAP = 0111 1111
main_W_com_data (0x0026, 0x0004); / / gon = 0, DTE = 0, D = 01
delayms (40);
main_W_com_data (0x0026, 0x0024); / / gon = 1, DTE = 0, D = 01
main_W_com_data (0x0026, 0x002C); / / gon = 1, DTE = 0, D = 11
delayms (40);
main_W_com_data (0x0026, 0x003C); / / gon = 1, DTE = 1, D = 11
/ / Set iekšējā VDDD spriegums
main_W_com_data (0x0057, 0x0002); / / Test_Mode Ieslēgt
main_W_com_data (0x0055, 0x0000); / / VDC_SEL = 000, VDDD = 1.95V
main_W_com_data (0x00FE, 0x005A); / / For ESD aizsardzību
main_W_com_data (0x0057, 0x0000); / / Test_Mode Izslēgt
)par spēkā neesošu Paint (neparakstīta int krāsa)
(
int i, j;
address_set (0,0,239,320);(i = 0; i <239; i )
(
par (j = 0, j <320; j )
(
main_Write_DATA (krāsa);
))
)galvenais ()
(
neparakstīts int i, j, k;
main_init ();Paint (0x8000)