Problème d'accès LCD TFT Hx8347-A partir de C8051f124

K

kcfresher

Guest
J'ai un problème dans l'accès TFT LCD (240x320) module.J'ai acheté un 3.2 "TFT LCD Module d'eBay.
Le lien eBay: 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

Je me suis livré à cristaux liquides avec un exemple de code écrit pour ATMEL MCU.I modifié le code pour mon MCU et a pris l'initialisation de l'affichage à partir du lien: http://www.4dsystems.com.au/downloads/Displays/LCD/4DLCD- 32/HX8347-A01_DS_preliminary_01.pdfJe suis en mesure d'acess l'écran LCD mais fully.I PAS j'essaie d'imprimer tout l'écran en remplissant un peu de couleur.
Mais il ne s'affiche pas entièrement.Il affiche simplement comme le montre l'image ci-joint.Après le débogage, j'ai découvert le programme est pendu dans la boucle.Lorsque je tente de combler environ 19000 pixels il fonctionne très bien et continue d'exécuter les instructions suivantes à l'intérieur du programme.Mais cela aussi ne fonctionne pas si j'ai des boucles après.
Ce que j'ai observé, c'est que si j'utilise retard dans mon programme, puis l'écran devient vacillaient et quelque chose (comme une neige) se déplace en arrière-plan et d'ailleurs si j'essaie de changer le mode de mémoire à la couleur, puis moins encore moins grande est imprimé et les formulaires de neige à nouveau .

Je ne sais pas si j'ai besoin pour faire face à toute timings ou quelque chose comme ça.

Détails techniques:

Microcontrôleur: C8051f124
oscillateur externe: 24.5MHz
driver LCD: HX8347-A

Compiler: C51 Keil

Configuration des broches:- Octet bas P4
P5 - octet de poids fort

Sibt LCD_RS = 0 ^ P6;
LCD_REST sbit = ^ P6 1;
sbit LCD_WR = 2 ^ P6;
sbit LCD_RD = 3 ^ P6;
sbit LCD_CS = 4 ^ P6;Code:

Code:# Include <Cygnal/c8051F120.h>sbit LCD_RS = ^ P6 0; / / EY ¾ Y / ÃüÁîÇĐ »

LCD_REST sbit = ^ P6 1; / / ° '»I

sbit LCD_WR = ^ P6 2; / / DJ '¿ØÖÆ

sbit LCD_RD = 3 ^ P6; / / Â ¿ØÖÆ

sbit LCD_CS = 4 ^ P6;delayms void (int nombre) / / / * * X1ms /

(

int i, j;

/ / For (i = 0; i <comte; i )

/ / For (j = 0; j <100; j );

)void main_Write_COM (int DH) / / ÃüÁî

(

LCD_RS = 0;

LCD_CS = 0;

P4 = DH; / / bus [p4-Adresse /] bus de données

P5 = DH>> 8;

LCD_WR = 0;

LCD_WR = 1;

LCD_CS = 1;)

cld_write_color vide (hh char, char ll) / / · ËÍÑÕÉ «EY ¾ Yi ª IA ¸ Sseu E ° ß8λ μÍ8Î »· O ± d '« μÝ

(

LCD_RS = 1;

LCD_CS = 0;

hh P4 =;

P5 = hh;

P4 = ll;

LCD_WR = 0;

LCD_WR = 1;

LCD_CS = 1;)void main_Write_DATA (int DH) / / EY ¾ Ý

(LCD_RS = 1;

LCD_CS = 0;

P4 = DH;

P5 = DH>> 8;

LCD_WR = 0;

LCD_WR = 1;

LCD_CS = 1;)main_W_com_data void (int com1, DAT1) / / ÃüÁîÊý ¾ yo »AED

(

main_Write_COM port (COM1);

main_Write_DATA (DAT1);

)
address_set vide (unsigned int x1, unsigned int y1, int x2 non signé, unsigned int y2)

(

main_W_com_data (0x0002, x1>> 8); / / adresse de colonne start2

main_W_com_data (0x0003, x1); / / adresse de colonne START1

main_W_com_data (0x0004, x2>> 8); / / adresse de colonne end2

main_W_com_data (0x0005, x2); / / adresse de colonne end1

main_W_com_data (0x0006, y1>> 8); / adresse de ligne / start2

main_W_com_data (0x0007, y1); / adresse de ligne / START1

main_W_com_data (0x0008, y2>> 8); / adresse de ligne / end2

main_W_com_data (0x0009, y2); / adresse de ligne / end1

main_Write_COM (0x0022);)void Port_IO_Init ()

(SFRPAGE = CONFIG_PAGE;

/ / XBR2 = 0x40;

P6MDOUT = 0xFF;

P4MDOUT = 0xFF;

P5MDOUT = 0xFF;

)/ / Fonction d'initialisation de l'appareil,

/ / Appel Init_Device () à partir de votre programme principal

Init_Device (void)

(

Port_IO_Init ();

)main_init (void)

(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 fenêtre de réglage

main_W_com_data (0x0002, 0x0000); / / adresse de colonne start2

main_W_com_data (0x0003, 0x0000); / / adresse de colonne START1

main_W_com_data (0x0004, 0x0000); / / adresse de colonne end2

main_W_com_data (0x0005, 0x00EF); / / adresse de colonne end1

main_W_com_data (0x0006, 0x0000); / adresse de ligne / start2

main_W_com_data (0x0007, 0x0000); / adresse de ligne / START1

main_W_com_data (0x0008, 0x0001); / adresse de ligne / end2

main_W_com_data (0x0009, 0x003F); / adresse de ligne / end1

/ / Réglage de l'affichage

main_W_com_data (0x0001, 0x0006); / / IDMON = 0, INVON = 1, NORON = 1, PTLON = 0

main_W_com_data (0x0016, 0x0048) / / MA = 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); / / NQE = 38h

main_W_com_data (0x0036, 0x0078); / / EQP = 78h

main_W_com_data (0x003E, 0x0038); / / SON = 38h

main_W_com_data (0x0040, 0x000f); / / = gdon 0Fh

main_W_com_data (0x0041, 0x00F0); / / GDOFF

/ Alimentation / Configuration

main_W_com_data (0x0019, 0x0049); / / CADJ = 0100, CUADJ = 100 (FR: 60 Hz), 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) / / = 000 VC3

main_W_com_data (0x001F, 0x0004); / / VRH = 0100

/ / Mise en VCOM pour les OCM 3,2 "Groupe

main_W_com_data (0x0044, 0x004D); / / VCM = 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); / / set VCOMG = 1

delayms (100);

/ / Affichage ON Réglage

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 de tension interne VDDD

main_W_com_data (0x0057, 0x0002); / / Activer TEST_MODE

main_W_com_data (0x0055, 0x0000); / / VDC_SEL = 000, = 1.95V VDDD

main_W_com_data (0x00FE, 0x005A); / / Pour une protection ESD

main_W_com_data (0x0057, 0x0000); / / Désactiver TEST_MODE

)nulle peinture (couleur unsigned int)

(

int i, j;

address_set (0,0,239,320);for (i = 0; i <239; i )

(

for (j = 0; j <320; j )

(

main_Write_DATA (couleur);

))

)main ()

(

unsigned int i, j, k;

main_init ();Peinture (0x8000);)
 
Je dois demander des excuses pour copier les informations d'un site différent ici à tous ceux qui sont impliqués.

S'il vous plaît trouver la réponse kcfresher M. reçu du Cygnal / site silabs

Merci beaucoup pour votre aide et de soutien ...

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sourire" border="0" />S'il vous plaît suivez le lien ci-dessous

###############################################

Sujet: Problème d'accès LCD TFT Hx8347-A partir de C8051f124

http://www.cygnal.org/ubb/Forum1/HTML/003314.html

###############################################

 

Welcome to EDABoard.com

Sponsor

Back
Top