Fórum témák

» Több friss téma
Fórum » LCD kijelző
Lapozás: OK   13 / 13
(#) violin válasza Massawa hozzászólására (») Máj 10, 2022 /
 
Köszi.... megnézem... hátha...
(#) violin hozzászólása Máj 12, 2022 /
 
Ma reggel jött a válasz a gyártótól (MAE Elettronica) , miszerint ők nem adnak el direktben alkatrészt.... forduljak a márkakereskedőhöz....
A hollandok egyelőre még válaszra sem méltattak....
(#) violin hozzászólása Máj 13, 2022 /
 
Most jött a válasz a hollandoktól is..... sajnálják, de ők sem adnak el külön LCD kijelzőt....
(#) bbb válasza violin hozzászólására (») Máj 13, 2022 /
 
Óvatosan húzd le a fekete ragasztószalagot, s mutasd meg mit látsz alatta! Előfordulhat, hogy legalább a vezérlőt meg lehet tippelni az ott találtakból.
(#) gabesz2011 hozzászólása Máj 22, 2022 /
 
Sziasztok!
Adott egy paradox tm70 kezelő törött kijelzō. pjt700p70h50-300p50r. Milyen típus lenne jó a helyére sajnos tanácstalan vagyok ez ügyben, új kezelőt nem szeretnék majd 100e az új.
Segítségét előre is köszönöm.
(#) bbb válasza gabesz2011 hozzászólására (») Máj 22, 2022 /
 
A számra rákeresve láthatod, hogy kapható a kijelző.
(#) Kriszke hozzászólása Szept 10, 2023 /
 
Sziasztok!
Nincs valakinél elfekvőben a képeken látható, vagy hasonló (NTFS 240-160 vagy 240-128 4,5"-100x74) bontott vagy esetleg új LCD kijelző?
Üdv
(#) Laja1 hozzászólása Nov 14, 2023 /
 
Sziasztok!

A segítségeteket szeretném kérni. PIC16F877A mikrovezérlővel szeretnék egy HD44780-as LCD-.t vezérelni 4 bites módban. Szépen működik is, de csak az első sorába tudok írni. Proteus szimulációban az látszik, hogy ennek az az oka, hogy egysorosnak van konfigurálva. DE én a 0x28-as paranccsal úgy konfiguráltam, hogy 4 bites, kétsoros, 5×8 képpontos legyen. Vajon mi miatt gondolja mégis egysorosnak magát?
Előre is köszönöm!
(#) bbb válasza Laja1 hozzászólására (») Nov 14, 2023 /
 
A felkonfiguráló részét a kódodnak megosztod velünk?
(#) Laja1 válasza bbb hozzászólására (») Nov 14, 2023 /
 
  1. void lcd_int()
  2. {
  3.     __delay_ms(100);
  4.     cmde(0x30); // beindítás a biztonság kedvéért
  5.     __delay_ms(100);
  6.     cmde(0x30);
  7.     __delay_ms(100);
  8.     cmde(0x30);
  9.     __delay_ms(100);
  10.     cmde(0x28); // 4 bites, kétsoros, 5×8 dots
  11.     __delay_ms(100);
  12.      
  13.     cmd(0x0C); // Képerny? bekapcsolva, kurzor és a villogása kikapcsolva
  14.    __delay_ms(100);
  15.     cmd(0x06); //Entry Mode
  16.    
  17. }
  18.  
  19. void cmd(unsigned int a)
  20. {
  21.      unsigned int d;
  22.    
  23.     d=(a&0xF0);
  24.     PORTD=d;
  25.     rs=0;
  26.     rw=0;
  27.     e=1;
  28.     delay;
  29.     e=0;
  30.    
  31.    
  32.      d=(a<<4);
  33.     PORTD=d;
  34.     rs=0;
  35.     rw=0;
  36.     e=1;
  37.     delay;
  38.     e=0;
  39. }
  40.  
  41. void cmde(unsigned int f)
  42. {
  43.      unsigned int g;
  44.     g=(f&0xF0);
  45.     PORTD=g;
  46.     rs=0;
  47.     rw=0;
  48.     e=1;
  49.     delay;
  50.     e=0;
  51.    
  52.    
  53. }
(#) Laja1 válasza Laja1 hozzászólására (») Nov 14, 2023 /
 
Ez pedig a szimulátor képe:
(#) Laja1 válasza Laja1 hozzászólására (») Nov 15, 2023 /
 
Nem sikerült valami okosat kitalálni ez ügyben? Sajnos nem tudok továbbhaladni, tanácstalan vagyok.

Köszönöm!
(#) lalca válasza Laja1 hozzászólására (») Nov 15, 2023 /
 
cmd(28) és nem cmde
(#) Laja1 válasza lalca hozzászólására (») Nov 15, 2023 /
 
De úgy tudom, hogy ezt még 8 biten kell kiadni.
(#) lalca válasza Laja1 hozzászólására (») Nov 15, 2023 /
 
Nem tudod 8 biten kiadni hisz be sincs kötve.
(#) Laja1 válasza lalca hozzászólására (») Nov 15, 2023 /
 
Nem segített a dolgon. Továbbra is egysorosnak állítja be az LCD-t. Egyébként az LCD leírásában (melléklet) is az szerepel a 16. oldalon, hogy ezt a parancsot még 8 bit hosszúságban kell kiadni, hiszen itt még alapból 8 bitben gondolkodik.
(#) lalca válasza Laja1 hozzászólására (») Nov 15, 2023 /
 
A cmde a 0x28-ból levágja a 8-at.
g=(f&0xF0);

cmde(0x20);
cmd(0x28);
A hozzászólás módosítva: Nov 15, 2023
(#) Laja1 válasza lalca hozzászólására (») Nov 15, 2023 /
 
De ha ezt a sort g=(f&0xF0); kitörlöm, akkor sem változik semmi.
Nem értem.
A módosításodat is megcsináltam:
cmde(0x20);
cmd(0x28);

De ugyanaz
A hozzászólás módosítva: Nov 15, 2023
(#) bbb válasza Laja1 hozzászólására (») Nov 15, 2023 /
 
Én nem használom ezt a kijelzőt, de úgy tűnik, hogy pár lépés kimarad nálad, azért nem inicializálódik megfelelően.
Ez a fórum pont arról szól, ami neked kellene: edaboard
  1. #define lcd_port    P3
  2.  
  3. //LCD Registers addresses
  4. #define LCD_EN      0x80
  5. #define LCD_RS      0x20
  6.  
  7. void lcd_reset()
  8. {
  9.         lcd_port = 0xFF;
  10.         delayms(20);
  11.         lcd_port = 0x03+LCD_EN;
  12.         lcd_port = 0x03;
  13.         delayms(10);
  14.         lcd_port = 0x03+LCD_EN;
  15.         lcd_port = 0x03;
  16.         delayms(1);
  17.         lcd_port = 0x03+LCD_EN;
  18.         lcd_port = 0x03;
  19.         delayms(1);
  20.         lcd_port = 0x02+LCD_EN;
  21.         lcd_port = 0x02;
  22.         delayms(1);
  23. }
  24.  
  25. void lcd_init ()
  26. {
  27.         lcd_reset();         // Call LCD reset
  28.         lcd_cmd(0x28);       // 4-bit mode - 2 line - 5x7 font.
  29.         lcd_cmd(0x0C);       // Display no cursor - no blink.
  30.         lcd_cmd(0x06);       // Automatic Increment - No Display shift.
  31.         lcd_cmd(0x80);       // Address DDRAM with 0 offset 80h.
  32.  }
  33.  
  34. void lcd_cmd (char cmd)
  35. {
  36.         lcd_port = ((cmd >> 4) & 0x0F)|LCD_EN;
  37.         lcd_port = ((cmd >> 4) & 0x0F);
  38.  
  39.         lcd_port = (cmd & 0x0F)|LCD_EN;
  40.         lcd_port = (cmd & 0x0F);
  41.  
  42.         delayus(200);
  43.         delayus(200);
  44. }
  45.  
  46. void lcd_data (unsigned char dat)
  47. {
  48.         lcd_port = (((dat >> 4) & 0x0F)|LCD_EN|LCD_RS);
  49.         lcd_port = (((dat >> 4) & 0x0F)|LCD_RS);
  50.        
  51.         lcd_port = ((dat & 0x0F)|LCD_EN|LCD_RS);
  52.         lcd_port = ((dat & 0x0F)|LCD_RS);
  53.  
  54.         delayus(200);
  55.         delayus(200);
  56. }
(#) Laja1 válasza bbb hozzászólására (») Nov 15, 2023 /
 
Köszönöm, megpróbálom. Bár minden más tökéletesen működik..
(#) Laja1 válasza Laja1 hozzászólására (») Nov 15, 2023 /
 
Már arra gyanakszom, hogy a Proteus hibás.
(#) Bakman válasza Laja1 hozzászólására (») Nov 15, 2023 / 1
 
A szimulációkkal (nem csak Proteus) már sokan ráfaragtak. Szerezz egy dugdosós próbapanelt, azon gyorsan össze lehet dobni pár tesztáramkört, a kontroller is kibír jó pár programozást.
(#) bbb válasza Laja1 hozzászólására (») Nov 16, 2023 /
 
Eddig le se esett, hogy nem is raktad élő áramkörre, csak szimulátorban próbálkozol...
Következő: »»   13 / 13
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem