Fórum témák
» Több friss téma |
1k~10k-s poti egyik szélső=+5V, másik szélső=GND, közepe(csúszka)=LCD kontraszt.
Bővebben: Link
Hagyhatom a poti GND-re menő lábát lógva ?
Persze. Csak akkor nem fog működni. Kb. 04-06V kell a V0 lábnak.
Okés úgy csinálom ahogy mondtad. Köszi szépen.
Hello !
Hagyományos karakteres lcd..... Ha a 8 adatláb közül csak 4-et akarok használni akkor mindegy hogy melyik négyet ? Illetve a többit le kell földelni vagy ilyesmi ? Köszi
44780 a felső 4-el működik, általában az alsó 4 bit közömbös, én le szoktam kötni földre
Sziasztok!
Ha volna egy kis időtök és ránéznétek a kódomra, h mi a bántért nem inicializálja a 2x16 os kijelzőmet hálás lennék érte: bekötés rendben van, kontakt hiba ilyesmi nincs, az LCD 16f-es pic-vel megy, 18f-vel nem tudom megszólaltatni. Köszi! LCD2.h: #define use_portb_lcd TRUE struct lcd_pin_map { // This structure is overlayed BOOLEAN enable; // on to an I/O port to gain BOOLEAN rs; // access to the LCD pins. BOOLEAN rw; // The bits are allocated from BOOLEAN unused; // low order up. ENABLE will int data : 4; // be pin B0. } lcd; #if defined use_portb_lcd //#locate lcd = getenv("sfrORTB") // This puts the entire structure over the port #ifdef __pch__ #locate lcd = 0xf81 #else #locate lcd = 6 #endif #define set_tris_lcd(x) set_tris_b(x) #else //#locate lcd = getenv("sfrORTD") // This puts the entire structure over the port #ifdef __pch__ #locate lcd = 0xf83 #else #locate lcd = 8 #endif #define set_tris_lcd(x) set_tris_d(x) #endif #ifndef lcd_type #define lcd_type 2 // 0=5x7, 1=5x10, 2=2 lines #endif #define lcd_line_two 0x40 // LCD RAM address for the second line BYTE const LCD_INIT_STRING[4] = {0x20 | (lcd_type << 2), 0xc, 1, 6}; // These bytes need to be sent to the LCD // to start it up. // The following are used for setting // the I/O port direction register. struct lcd_pin_map const LCD_WRITE = {0,0,0,0,0}; // For write mode all pins are out struct lcd_pin_map const LCD_READ = {0,0,0,0,15}; // For read mode data pins are in BYTE lcd_read_byte() { BYTE low,high; set_tris_lcd(LCD_READ); lcd.rw = 1; delay_cycles(1); lcd.enable = 1; delay_cycles(1); high = lcd.data; lcd.enable = 0; delay_cycles(1); lcd.enable = 1; delay_us(1); low = lcd.data; lcd.enable = 0; set_tris_lcd(LCD_WRITE); return( (high<<4) | low); } void lcd_send_nibble( BYTE n ) { lcd.data = n; delay_cycles(1); lcd.enable = 1; delay_us(2); lcd.enable = 0; } void lcd_send_byte( BYTE address, BYTE n ) { lcd.rs = 0; while ( bit_test(lcd_read_byte(),7) ) ; lcd.rs = address; delay_cycles(1); lcd.rw = 0; delay_cycles(1); lcd.enable = 0; lcd_send_nibble(n >> 4); lcd_send_nibble(n & 0xf); } void lcd_init() { BYTE i; set_tris_lcd(LCD_WRITE); lcd.rs = 0; lcd.rw = 0; lcd.enable = 0; delay_ms(15); for(i=1;i<=3;++i) { lcd_send_nibble(3); delay_ms(5); } lcd_send_nibble(2); for(i=0;i<=3;++i) lcd_send_byte(0,LCD_INIT_STRING[i]); } void lcd_gotoxy( BYTE x, BYTE y) { BYTE address; if(y!=1) address=lcd_line_two; else address=0; address+=x-1; lcd_send_byte(0,0x80|address); } void lcd_putc( char c) { switch (c) { case '\f' : lcd_send_byte(0,1); delay_ms(2); break; case '\n' : lcd_gotoxy(1,2); break; case '\b' : lcd_send_byte(0,0x10); break; default : lcd_send_byte(1,c); break; } } char lcd_getc( BYTE x, BYTE y) { char value; lcd_gotoxy(x,y); while ( bit_test(lcd_read_byte(),7) ); // wait until busy flag is low lcd.rs=1; value = lcd_read_byte(); lcd.rs=0; return(value); } #include <18F6622.h> #fuses NOWDT,NOPROTECT,NOLVP,INTRC_IO #use delay (clock= 10000000) #include "LCD2.h" void main() { lcd_init(); for(;{ output_high(PIN_G3); lcd_gotoxy(1,1); printf(lcd_putc,"Hola Mundo ESP"); lcd_gotoxy(1,2); printf(lcd_putc,"Hello Word ENG"); } }>>>>
Sziasztok
Vettem egy PQC1601A1-SYL karakteres kijelzőt és nem találok normális dokumentációt a lábkiosztásról valaki, tud segíteni?
Sziasztok!
Pár napja LCD-PIC kombinációval szórakozom, de az LCD nem csinál semmit... Egyelőre csak annyit kellene csinálnia, hogy megjeleníti a kurzort és villog. PIC simulatoron rendesen megy, de a kapcsolásban nem akar életre kelni... Mindent jól kötöttem össze, ellenőriztem már jó párszor. (DB-ket RB-kel, vezérlők RA0, RA2) RW földön. A kijelző típusa: EW16410BMW PIC: 16F819 Most programozok LCD-t először és nem tudom hol a hiba... Mellékeltem a forrást
Rosszul írtam. RA0 és RA1 a vezérlő. RW földön
Hali
Rossz az inicializalas. Eloszor ki kell kuldeni a 8 bites modot, majd 2x a 4 bites modot. Elo kell venni a 44780 adatlapjat ott mindent leirnak a vezerlesrol. A leirt idoziteseket be kell tartani kulonben a kijelzo nem szeret dolgozni. El kellene felejteni ezt a hulye szimulatorokat. MPLAB a lelke a dolognak. Udv Vili
Van egy kis problémám. A csatolt képen lehet látni, hogy az első 8 oszlopban nagyon halványan jelennek meg a pixelek. Ez mitől lehet?
Ha tápot kap az LCD, azonos kontraszttal jelenik meg az első sor, de a programban nem történ semmi változtatás, egyik pillanatról a másikra lett ilyen. Majd megnézem PIC-kel is...
Szia!
Ne aggódj, ha a tápra azonos a kontraszt, akkor a programod túl gyorsan változtatja a vezérlő jeleket, és ezért az LCD nem rendesen értelmezi őket. - Nézd meg betartod-e az időzítéseket. A PicKit2 klónban 3 csatornás logikai analizátorod is van, - A PC-s fordító programban néha elég az optimalizálási mód megváltoztatása, az eredmény teljesen másként futó program, - Lassítsd le a programot. A másik lehetséges ok a vezetékezésban keresendő: - Egy vagy több vezeték nem érintkezik, esetleg zárlatos, forrasztás letört, - Az LPT csatlakozó nem érintkezik megfelelően. És még az is lehetséges, hogy a Wind@ws nyomtatót keres a porton, és beleszól a jelek vezérlésébe.
Egy pár napig jól működött, egyik pillanatról a másikra lett ilyen.
Lehet, hogy LCD hiba, hanem a PC szoftvered kever be. Szerintem töröld a beállításokat és tedd fel újra egy újraindítás után...
Saját programom hajtja meg, csináltam ilyet direkt tesztelésre is, de azzal is ugyanez a helyzet.
Egyébként már elkönyveltem bukott projectnek.
Nosza rajta, akkor tekerd meg PIC-el! :yes:
Mihelyst megjött csipcsaptól, kipróbálom.
Csak előtte fel kéne adni a rendelést. Nem tudom milyen PIC-eket kéne venni.. 5 ezernél többet nem akarok nagyon költeni. De jó lenne egy 4550, az USB miatt, meg 1320, mert ugye az megdöglött, és minden projektet azon gyakoroltam.
Kezembe került egy OPTREX gyártmányú, DMC-50399 LCD típusú kijelző. HD44780 vezérlő van benne. Valamilyen telefonból lett bontva, ezért feltehetően másoknak is a kezébe kerülthet ilyen. Adatlapot nem találtam, ezért közzéteszem a felderített paramétereket:
Ez a kijelző 2x16 karakteres, 5x8 felbontású, háttérvilágítás nélküli (reflexiós). A kivezetések alul helyezkednek el, a lábak számozása belülről kezdődik, kifelé haladva a szokásos sorrendben. Mivel nincs háttérvilágítás, így nem 16, hanem csak 14 kivezetés van. 1 - GND 2 - VDD (+5V) 3 - kontraszt (lehet 10 kOhm-os potméterrel szabályozni, de 0 - 1 kOhm közötti ellenállással fixen földre kötve is jó) 4 - RS 5 - R/W 6 - E 7 - 14 a D0..D7 adatbitek A PICCOLO projekt-hez készülő 4 bites módú tesztprogramot mellékelem, ezzel jól működik. (PIC18F4550 esetén most RD4..7 adatbitek, RS, R/W, E pedig sorra RD0, RD1, és RD2 lábra van kötve.
Helyesbítem magamat: az OPTREX DMC-50399 típusú kijelző nem 2x16, hanem 2x20 karakteres.
Csak most tűnt fel, hogy egy 16 karakteres sztring kiírása után még maradt 4 üres pozíció...
Üdv! PIC16F887-re szeretnék LCD kijelzőt kötni. (HD47780 kompatibilis). Mivel az IC elég jól kihasznált, azért a következő felállásban gondolkodom:
D4-RD0; D5-RD1; D6-RD2; D7-RD3. E-RE0; RS-RE1. Működne-e ebben a változatban? Az E és RS köthető az RD4 és RD5 lábakra is? Természetesen a nem használt D és az R/W kivezetés a földre van kötve.
Simán kötheted!
Az RD0-5 lábakon semmi más nincs, az RD-5-ön is csak PWM, AZ RE0-1 lábakon meg csak analóg bemenet a digitális mellett. Tehát a TRISD és TRISE regisztert kell értelemszerüen 0-ra állítani, valamint az ANSEL regisztert (RE0-1 miatt) szintén 0-ra. Az LCD bekötése helyes.
Persze hogy mukodik. Ez vegulis SW problema, hogy melyik lab hova kerul. A lenyeg a LCD idoziteseit betartani.
Sziasztok! Belefutottam egy problémába kijelzővel kapcsolatban. Fejlesztek egy modult, ami kell hogy visszajelzéseket tartalmazzon. Először LED-ekre gondoltam, de túl univerzális a modul, sok adatot nem tudnék kijelezni. 5 karakter kellene mindössze, ehhez keresem a legolcsóbb, egyben legjobb megoldást. Gondoltam 14 szegmensre is, csak irdatlan sok a furatláb és így kevés helyem maradna a panelen, pedig mindkét oldalt szeretném alaposan kihasználni. Van valakinek ötlete? Típus, beszerezhetőség, tapasztalat? Jó lenne, ha nappal is jól látható lenne - ezért indultam a LED-ek felől, de az újabb kijelzők már jól láthatóak és árban is kezdenek jók lenni. Csak a kijelzőre nem akarok többet szánni mint 3000 Ft, de ha 1500-ból is kijön az a legjobb. Eddig a PDC54-11 -es dupla 14 szegmenses kijelző tűnt a legjobb ár/teljesítményűnek 388Ft-ért. Ebből kellene 3db (az már 6 karakter). Előre is köszi!
Szia!
A LED-es kijelző és az LCD két különböző dolog. Szerintem neked egy 2x16 karakteres zöld LCD megfelel: Bővebben: Link ez a legelterjedtebb (és legolcsóbb), drágább helyeken is 2000Ft körül mozog az ára és háttérvilágítás nélkül is jól lehet látni a kijelzőt (világosban..) Az a lényeg hogy HD44780 kompatibilis legyen (bár szinte mindegyik az).
Köszönöm a gyors választ!
Tudom mi a különbség LED és LCD között - bár ma már az OLED-es világban ki tudja mi micsoda Csak olyan típust kerestem, amihez könnyebben találok beszerzési forrást és segítséget. Hol lehet ilyet legolcsóbban beszerezni? Van esetleg tipp? A pont mindenképpen jár
A legolcsóbb az E-bay kínálatában.
Itthon pedig a ChipCAD Kft. kínálatából az EW162G0GR típus a legolcsóbb. Figyelem: ennek nincs háttérvilágítása! Sötét helyre nem való.
Mindkét ajánlat lenyűgöző. Bár az Ebay-el nincs tapasztalatom, nem tudom Magyarországra is 0Ft-ért szállítanak ? Illetve kérdés hány darabot és mennyi idő alatt? Eddig egyszer rendeltem kínaitól, de mire megjött az áru már a harmadikkal álltam kapcsolatban.... A gyártásnál jól jönne, de egy darabot rendelni mindig drága. A chipcad-é jó lesz főleg az 1x16-os A világítás a legkevesebb - azt megoldom. Úgyis lesz tápled, maximum lesz még ugyanazon a körön 3-6db smd LED is.... Szintén jár a pont
Idézet: Azt mindig az adott termék lapján kell ellenőrizni. A "Buy It Now" a villámár, annyiért viheted. A "Shipping and Payment" fülre kattintva pedig ellenőrizhető, hogy Magyarországra szállítanak-e egyáltalán, és ingyen vagy mennyiért. E sorok írásakor $3.18-ért kapsz 1 db-ot, ingyenes házhozszállítással. Általában 4 hetet kell várni rá (+/- 1 hét szórással). „Magyarországra is 0Ft-ért szállítanak?” |
Bejelentkezés
Hirdetés |