LCD 128x64 ST7567A
-
- Posty: 112
- Rejestracja: 20 lis 2016, 20:21
LCD 128x64 ST7567A
witam
Kupiłem sobie wyświetlacz LCD 128x64 GM12864-01A SPI ST7567A z Ali jako ładniejsza alternatywa dla Nokia5110, nie mogę namierzyć biblioteki ST7567 dla bascom-a, a nie chcę kombinować jak ktoś już to ogarnął.
link do wyświetlacza ;
https://pl.aliexpress.com/item/10050047 ... pt=glo2pol
Mam ten z chip font library.
Wie ktoś może jak to podłączyć i uruchomić ?
Na stronie MCS jest coś ale z wiadomych względów nie mogę się zalogować i pobrać plików
https://www.mcselec.com/index2.php?opti ... ic&t=13008
pozdrawiam
Kupiłem sobie wyświetlacz LCD 128x64 GM12864-01A SPI ST7567A z Ali jako ładniejsza alternatywa dla Nokia5110, nie mogę namierzyć biblioteki ST7567 dla bascom-a, a nie chcę kombinować jak ktoś już to ogarnął.
link do wyświetlacza ;
https://pl.aliexpress.com/item/10050047 ... pt=glo2pol
Mam ten z chip font library.
Wie ktoś może jak to podłączyć i uruchomić ?
Na stronie MCS jest coś ale z wiadomych względów nie mogę się zalogować i pobrać plików
https://www.mcselec.com/index2.php?opti ... ic&t=13008
pozdrawiam
- niveasoft
- Posty: 1239
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: LCD 128x64 ST7567A
Łap
Wydawało mi się że do samego przeglądania i ściągania na MCS nie trzeba mieć zarejestrowanego produktu. Bez tego chyba tylko nie można zakładać nowych tematów.
Wydawało mi się że do samego przeglądania i ściągania na MCS nie trzeba mieć zarejestrowanego produktu. Bez tego chyba tylko nie można zakładać nowych tematów.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
-
- Posty: 112
- Rejestracja: 20 lis 2016, 20:21
Re: LCD 128x64 ST7567A
dzięki wielkie
może podpowiesz jak go podpiąć?
mogę pokombinować ale nie chcę go zjarać, oczywiście podepnę go za pomocą rezystorów na 3,3V
może podpowiesz jak go podpiąć?
Kod: Zaznacz cały
Config Graphlcd = 128x64sed , A0 = Portb.4 , Si = Portb.2 , Sclk = Portb.3 , Cs1 = Portb.1 , Rst = Portb.0
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
-
- Posty: 112
- Rejestracja: 20 lis 2016, 20:21
Re: LCD 128x64 ST7567A
Niestety po pierwszych testach nic nie wyświetla, podłączyłem jak niżej
ma może ktoś jakąś radę?
Trochę zmieniałem ale na nic to się nie zdało, jeszcze się nie poddaję
pozdrawiam
Kod: Zaznacz cały
'RST-RST , Cs1-CS , A0-DC , SI-SDA , SCLK-SCL
Trochę zmieniałem ale na nic to się nie zdało, jeszcze się nie poddaję
pozdrawiam
-
- Posty: 112
- Rejestracja: 20 lis 2016, 20:21
Re: LCD 128x64 ST7567A
Ok, działa wg podłączenia wyżej , tak to jest z tymi płytkami stylowymi
Bardzo fajny, zamawiam na zapas (kiedyś się przydadzą )
Bardzo fajny, zamawiam na zapas (kiedyś się przydadzą )
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
-
- Posty: 112
- Rejestracja: 20 lis 2016, 20:21
Re: LCD 128x64 ST7567A
Jeszcze tylko pytanko, jak dobrać się do tej pamięci z zapisaną czcionką i zobaczyć co tam jest ?
-
- Posty: 65
- Rejestracja: 21 sty 2018, 23:08
Re: LCD 128x64 ST7567A
Odczytać z kostki jaka to pamięć, a resztę informacji znajdziesz w PDF od tej kostki. Zapewne będzie to jakiś 24CXX, lub coś podobnego.
-
- Posty: 112
- Rejestracja: 20 lis 2016, 20:21
Re: LCD 128x64 ST7567A
Witam
próbuję wyświetlić na tym wyświetlaczu czas z DS1307 jednak po wpisaniu wyświetlacz przestaje wyświetlać cokolwiek (pusty ekran),tak jakby polecenie blokowało linię SCL/SDA.
Ma ktoś jakiś pomysł jak to obsłużyć ?
a może problem tkwi w podłączeniu ? Wyświetlacz zasilany jest z 3,3V i na liniach ma rezystory 470 ohm + 1k do masy
Poproszę o wyjaśnienie co jest nie tak
próbuję wyświetlić na tym wyświetlaczu czas z DS1307 jednak po wpisaniu
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- Time$
Ma ktoś jakiś pomysł jak to obsłużyć ?
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- '===============================================================================
- ' GM12864-01A
- ' ST7567 LCD
- ' 128x64
- '
- 'CKDIV8 wylaczony (bez zaznaczenia)
- 'LCD:
- 'RST-RST , Cs1-CS , A0-DC , SI-SDA , SCLK-SCL
- 'PD.0 - SCL(SCLK) / PD.1 - SDA(SI) / PD.2 - DC(A0) / PD.3 - RST(RST) / PD.4 - CS(CS1) / PD.5 - BL(podswietlenie)
- '===============================================================================
- $regfile = "m328pdef.dat"
- $crystal = 16000000
- $hwstack = 64
- $swstack = 64
- $framesize = 64
- '0-wejsce/1-wyjscie stan na pin
- Config Portb = &B00000000 : Portb = &B00111111
- Config Portc = &B11001111 : Portc = &B01001110
- Config Portd = &B00111111 : Portd = &B11100001
- '*******************************************************************************
- '$lib "Ds1307clock.lib" '"ds1307rtc.lib" modified lib
- $lib "i2c_twi.lbx" ' we do not use software emulated I2C but the TWI
- Config Sda = Portc.4 'DS1307 - SDA
- Config Scl = Portc.5 'DS1307 - SCL
- Config Twi = 400000 ' i2c speed
- I2cinit
- Const Ds1307w = &HD0 ' Addresses of Ds1307 clock
- Const Ds1307r = &HD1
- 'definicja gdze trzymamy zmienne czas i data
- Dim Weekday As Byte
- Declare Sub Getdatetime
- Declare Sub Settime
- Config Clock = User ' this will dim the bytes automatic
- Config Date = Dmy , Separator = . 'format wyswietlania daty DS1307
- 'Date$ = "02.12.17" 'dzien/miesiac/rok
- 'Time$ = "19.48.00"
- '------------------------------------------------------------------------------
- Config Timer0 = Timer , Prescale = 256
- Enable Timer0 : On Timer0 Prztimer0
- Enable Interrupts
- '*******************************************************************************
- Dim Flaga_4ms As Bit, Flaga_100ms As Bit ,Flaga_1s As Bit, Dzielnik As Byte , Dzielnik2 As Byte 'flagi
- '********************************************************************************
- $lib "glcd-ST7567.lib"
- Config Graphlcd = 128x64sed , A0 = Portc.1 , Si = Portc.4 , Sclk = Portc.5 , Cs1 = Portc.3 , Rst = Portc.2
- Const Negative_lcd = 0
- Const Mirror_y = 1
- 'Dim N As Byte
- '*******************************************************************************
- '---------------------------------------------------------------------------
- Initlcd
- Lcdcontrast 35 'kontrast wyswietlacza, mozna zwiekszyc do 60
- Cls
- '************************************************************************************
- Do
- If Flaga_4ms = 1 Then 'co 4ms
- Flaga_4ms = 0
- 'co ma byc co 4ms
- End If
- If Flaga_100ms = 1 Then ' co 100ms
- Flaga_100ms = 0
- 'co ma byc po 100ms
- gosub wyswietlanie
- End If
- If Flaga_1s = 1 Then 'co 1s
- Flaga_1s = 0
- 'co ma byc co 1s
- End If
- Loop
- End
- '****************************przerwanie timer0******************************
- Prztimer0:
- Timer0 = 6
- Flaga_4ms = 1
- Incr Dzielnik
- If Dzielnik = 25 Then '25*4ms = 100ms
- Dzielnik = 0
- Flaga_100ms = 1
- Incr Dzielnik2
- If Dzielnik2 = 10 Then '10*100ms=1s'
- Dzielnik2 = 0
- Flaga_1s = 1
- End If
- End If
- Return
- '*****************************************************************************
- '***********************funkcje do obslugi DS1307*******************************
- Getdatetime:
- I2cstart ' Generate start code
- I2cwbyte Ds1307w ' send address
- I2cwbyte 0 ' start address in 1307
- I2cstart ' Generate start code
- I2cwbyte Ds1307r ' send address
- I2crbyte _sec , Ack
- I2crbyte _min , Ack ' MINUTES
- I2crbyte _hour , Ack ' Hours
- I2crbyte Weekday , Ack ' Day of Week
- I2crbyte _day , Ack ' Day of Month
- I2crbyte _month , Ack ' Month of Year
- I2crbyte _year , Nack ' Year
- I2cstop
- _sec = Makedec(_sec) : _min = Makedec(_min) : _hour = Makedec(_hour)
- _day = Makedec(_day) : _month = Makedec(_month) : _year = Makedec(_year)
- Return
- Setdate:
- _day = Makebcd(_day) : _month = Makebcd(_month) : _year = Makebcd(_year)
- I2cstart ' Generate start code
- I2cwbyte Ds1307w ' send address
- I2cwbyte 4 ' starting address in 1307
- I2cwbyte _day ' Send Data to SECONDS
- I2cwbyte _month ' MINUTES
- I2cwbyte _year ' Hours
- I2cstop
- Return
- Settime:
- _sec = Makebcd(_sec) : _min = Makebcd(_min) : _hour = Makebcd(_hour)
- I2cstart ' Generate start code
- I2cwbyte Ds1307w ' send address
- I2cwbyte 0 ' starting address in 1307
- I2cwbyte _sec ' Send Data to SECONDS
- I2cwbyte _min ' MINUTES
- I2cwbyte _hour ' Hours
- I2cstop
- Return
- '**********************************wyswietlanie*********************************
- Wyswietlanie:
- setfont font12x16dig 'pierwsza cyfra-linia, druga cyfra-pozycja
- lcdat 1 , 1 , " ";"23:00:00" 'Time$
- lcdat 5 , 1 , "2024-08-06"
- setfont Font6x8
- Lcdat 0 , 60 , "CZAS"
- Lcdat 4 , 60 ,"DATA"
- return
- '******************************************************************************************
- $include "font6x8.font"
- $include "font12x16dig.font"
Poproszę o wyjaśnienie co jest nie tak
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
-
- Posty: 112
- Rejestracja: 20 lis 2016, 20:21
Re: LCD 128x64 ST7567A
Zastanawiam się jak ten wyświetlacz komunikuje się z procesorem , w programie nie muszę ustawiać scal i sda jedynie deklaruje wyjścia dla wyświetlacza i wyświetli to co napisze , wszystko załatwia biblioteka.
Jakieś pomysły do przećwiczenia ?
Jakieś pomysły do przećwiczenia ?
- niveasoft
- Posty: 1239
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: LCD 128x64 ST7567A
Jak coś ma pin CS czyli Chip Select to to prawie zawsze jest SPI a nie TWI bo TWI nie potrzebuje pinu CS do adresowania.
Jak otworzysz biblioteke to pisze w niej jak byk "SPI mode".
Co do tego Time$ to niektóre biblioteki nie sa całkiem kompatybilne z Bascomem i lepiej jest zrobić tak że:
Czyli najpierw coś odczytac do zminnej a później ją wysłać na wyswietlacz.
Ogólnie to bym sobie podłaczył tam u Ciebie konwerter USB<>SERIAL na PD0-PD1 i to sobie debugował czyli wysłał na terminal czy na pewno gada z tym RTC.
Jak otworzysz biblioteke to pisze w niej jak byk "SPI mode".
Co do tego Time$ to niektóre biblioteki nie sa całkiem kompatybilne z Bascomem i lepiej jest zrobić tak że:
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- Dim Helpstr As String *10
- Helpstr =Time$
- Lcdat Helpstr
Ogólnie to bym sobie podłaczył tam u Ciebie konwerter USB<>SERIAL na PD0-PD1 i to sobie debugował czyli wysłał na terminal czy na pewno gada z tym RTC.