[BASCOM] Obsługa wyświetlacza 40x4

Gotowe kody obsługi układów elektronicznych udostępnione przez użytkowników forum.
Awatar użytkownika
Henryk
Posty: 348
Rejestracja: 22 sty 2018, 17:20

[BASCOM] Obsługa wyświetlacza 40x4

Post autor: Henryk » 11 sty 2019, 19:54

Wpadł mi w ręce wyświetlacz 40x4 i postanowiłem się nim troszeczkę pobawić w ramach relaksu .
Często początkujący mają kłopot jak nim sterować ;) podrzucam gotowca do zabawy .
:D
  1. $lib "lcd4e2.lbx"       ' biblioteka dla wyświetlaczy 40x4
  2.  $regfile = "m8def.dat"
  3.  $crystal = 8000000
  4.  $hwstack = 36
  5.  $swstack = 36
  6.  $framesize = 40
  7.  Config Lcd = 40 * 4
  8.  Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.2 , E2 = Portb.3 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7
  9.  Dim ___lcde As Byte       ' zmienna sterująca E , E2
  10.  Dim X As Byte
  11.  E Alias ___lcde
  12.  
  13.  E = 0       ' E=0 aktywna górna połowa wyświetlacza
  14.  Cursor Off
  15.   Cls
  16.  E = 1       ' E=1 aktywna dolna połowa wyświetlacza
  17.  Cursor Off
  18.   Cls
  19.  
  20.  Do
  21.  
  22.  E = 0
  23.  For X = 1 To 28
  24.  Cls
  25.  Locate 1 , X : Lcd "Test linia 1"
  26.  Locate 2 , X : Lcd "Test linia 2"
  27.  Wait 1
  28.  Next X
  29.  
  30.  E = 1
  31.  For X = 1 To 28
  32.  Cls
  33.  Locate 1 , X : Lcd "Test linia 3 "
  34.  Locate 2 , X : Lcd "Test linia 4 "
  35.  Wait 1
  36.  Next X
  37.  
  38.   Loop
  39.   End
Połączenie pinów :
1 - GND....2 - +5V.....3 - Vo...... 4- RS...... 5 - R/W..podłączyć do GND....6 - E1.... 7 - E2..... 8 , 9 , 10 , 11 ...połączyć do GND w przypadku 4 bit.
12 - dB.4.....13 - dB.5.....14 - db.6.....15 - db.7....16 - NC.. nie łączyć z niczym.....17 - LED- A.....18 - LED- K
Ostatnio zmieniony 16 lut 2019, 18:51 przez Henryk, łącznie zmieniany 1 raz.
Awatar użytkownika
Henryk
Posty: 348
Rejestracja: 22 sty 2018, 17:20

Re: [BASCOM] Obsługa wyświetlacza 40x4

Post autor: Henryk » 12 sty 2019, 8:59

Część druga , zmiana portu wyświetlacza .
W bibliotece lcd4e2.lbxwykorzystano port B i tylko z tym portem będzie działać .
Aby to zmienić należy otworzyć plik lcd4e2.lib, odszukać fragment w kodzie [_Init_LCD]i dokonać zmian dotyczących portu .
[_Init_LCD]
.EQU LCDDDR=$17 ; change to another address for DDRD ($11)
.EQU LCDPORT=$18 ; change to another address for PORTD ($12)

Komentarz podpowiada nam jakie wartości należy wprowadzić dla np. portu D (ja używam Atmega 8 ) , jeśli używamy innego procesora np. Atmaga 16 musimy zajrzeć do tablicy rejestrów jakie wartości mamy dla portów A lub C ;)
porty_a16.JPG
Kiedy uporamy się ze zmianami musimy użyć z menu/tools LIB Menager i skompilować edytowaną bibliotekę .
Po kompilacji możemy ją dodać do naszego programu i używać z nowym portem .
Prawdopodobnie nie uda się ten myk w wersji demo Bascom .
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Awatar użytkownika
Jacek
Posty: 384
Rejestracja: 25 kwie 2016, 19:14

Re: [BASCOM] Obsługa wyświetlacza 40x4

Post autor: Jacek » 16 sty 2019, 13:19

Cześć Henryku - hi chyba mi z nieba spadłeś z tym programem mam taki lcd muszę wypróbować.
pozdrawiam już z domu Jacek.
Awatar użytkownika
Henryk
Posty: 348
Rejestracja: 22 sty 2018, 17:20

Re: [BASCOM] Obsługa wyświetlacza 40x4

Post autor: Henryk » 16 sty 2019, 19:21

Witaj Jacek :D
Cieszę się , że mogłem być pomocny :D

Pozdrawiam Henryk .
Awatar użytkownika
pimowo
Posty: 392
Rejestracja: 28 maja 2016, 10:07

Re: [BASCOM] Obsługa wyświetlacza 40x4

Post autor: pimowo » 16 sty 2019, 23:24

Ja tylko dodam, że LCD 40x4 działa również z PCF8574 ;)
Awatar użytkownika
Henryk
Posty: 348
Rejestracja: 22 sty 2018, 17:20

Re: [BASCOM] Obsługa wyświetlacza 40x4

Post autor: Henryk » 17 sty 2019, 18:51

pimowo pisze:
16 sty 2019, 23:24
Ja tylko dodam, że LCD 40x4 działa również z PCF8574 ;)
Witaj pimowo :D
Wrzuć jakiś prosty przykład , ;) będzie wątek bogatszy o inne możliwości .
Awatar użytkownika
pimowo
Posty: 392
Rejestracja: 28 maja 2016, 10:07

Re: [BASCOM] Obsługa wyświetlacza 40x4

Post autor: pimowo » 17 sty 2019, 19:40

  1. $regfile = "m8def.dat"
  2. $crystal = 11059200
  3.  
  4. Config Sda = Portc.4
  5. Config Scl = Portc.5
  6.  
  7. $lib "i2c_lcd_suggestion.lib"
  8.  
  9. Dim _lcd_e As Byte
  10. Dim _backlight As Byte
  11.  
  12. Const Pcf8574_lcd = &H4E
  13.  
  14. Const Pcf_rs = 0
  15. Const Pcf_e1 = 1
  16. Const Pcf_e2 = 2
  17. Const Pcf_bl = 3
  18. Const Pcf_d4 = 4
  19. Const Pcf_d5 = 5
  20. Const Pcf_d6 = 6
  21. Const Pcf_d7 = 7
  22.  
  23. _lcd_e = 192
  24. _backlight = 1
  25.  
  26. Initlcd
  27.  
  28. Wait 1
  29.  
  30.   _lcd_e = 192
  31.   Cls
  32.  
  33.   _lcd_e = 128
  34.   Locate 1 , 1 : Lcd "TEST LCD 40x4           abc xyz      ***"
  35.   Locate 2 , 1 : Lcd "1234567890123456789012345678901234567890"
  36.  
  37.   _lcd_e = 64
  38.   Locate 1 , 1 : Lcd "bla bla bla     $%^&*(*&^%$#     &*%^$#@"
  39.   Locate 2 , 1 : Lcd " >>>        TEST LCD 40x4           <<< "
  40.  
  41. End
W sumie to LCD działa tak samo, ale plus jest taki, że zajmujemy tylko dwa piny uC ;)
Awatar użytkownika
Jacek
Posty: 384
Rejestracja: 25 kwie 2016, 19:14

Re: [BASCOM] Obsługa wyświetlacza 40x4

Post autor: Jacek » 12 lut 2019, 20:08

Witam - Henryku czy możesz napisać jaki dokładnie posiadasz typ lcd 40x4, mój lcd to DM4004A-D-YSNFD-08 chodzi mi o pinologie nie mogę nic znaleźć poza tym http://mechatronics4u.igetweb.com/index ... id=1823633
pozdrawiam Jacek.
Awatar użytkownika
Henryk
Posty: 348
Rejestracja: 22 sty 2018, 17:20

Re: [BASCOM] Obsługa wyświetlacza 40x4

Post autor: Henryk » 13 lut 2019, 13:47

Witaj Jacku :D
W linku który podałeś masz opis pinów twojego wyświetlacza ;) z tego co widzę masz inaczej wyprowadzone piny .
Nie mogę dodać pliku ani fotki , coś przestało działać , albo jest zablokowane hmm .
Opis pinów mojego wyświetlacza są w pierwszym wpisie .
Awatar użytkownika
niveasoft
Posty: 1213
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: [BASCOM] Obsługa wyświetlacza 40x4

Post autor: niveasoft » 13 lut 2019, 14:05

Forum ma tyle ustawień że to przeoczyłem. Przestrzeń na załączniki była ustawiona na 50MB.
Zmieniłem, a w wolnym czasie postaram się o jakąś galerię do fotek ;)
W międzyczasie...rozpiska pinów.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
ODPOWIEDZ