LCD Displej

Tadeášek
Příspěvky: 33
Registrován: 15 srp 2016, 11:59

LCD Displej

Příspěvek od Tadeášek »

Dobrý den, chtěl bych se zeptat, zapojil jsem displej SIC1602AYPLEB podle knihy Ing. Petra Černého (LED, LCD a jiné displeje), strana 19, a napsal kód:

Kód: Vybrat vše

data 0 ,("Test LCD 16x2")
let dirsB=%11111111

gosub Inicializace
for b1=0 to 15
	read b1, b0
	gosub Zapis_Znaku
	next b1

pause 3000
b0=24

for b1=1 to 49
	gosub Zapis_Povelu
	pause 200
	next b1

for b3=0 to 99
	b0=192+15
	gosub Zapis_Povelu
	b0=4
	gosub Zapis_Povelu
	b0=b3//10+48
	gosub Zapis_Znaku
	b0=b3/10+48
	gosub Zapis_Znaku
	b0=6
	gosub Zapis_Povelu
	pause 500
	next b3

Inicializace:
	pause 100
	b0=%00110000
	gosub Zapis_Povelu
	pause 5
	gosub Zapis_Povelu
	gosub Zapis_Povelu
	b0=%00101000
	gosub Zapis_Povelu
	b0=%00000001
	gosub Zapis_Povelu
	b0=%00001100
	gosub Zapis_Povelu
	return
	
Zapis_Znaku:
	high C.0
	let pinsB=b0
	pulsout C.1,1
	return
	
Zapis_Povelu:
	low C.0
	let pinsB=b0
	pulsout C.1,1
	return
A nepodařilo se mi to udělat. Displej se sice zapne, ukáže znaky, ale úplně divné, jako kdyby to psalo v jiném jazyce nebo tak něco.
Programuji to přes procesor Picaxe 40X2

Předem děkuji za odpověď.
Uživatelský avatar
jrt
Příspěvky: 1921
Registrován: 17 úno 2013, 17:13

Re: LCD Displej

Příspěvek od jrt »

Tento řádek:
"for b1=1 to 49"
má podle příručky správně být:
"for b1=1 to 40"

Dál jsem tvůj program nekontroloval, to už je na tobě...

Tohle je správný program z příručky, který by fungovat měl:

Kód: Vybrat vše

REM LCD displej 2x16 s 8 datovými vodiči - PICAXE 20X2
REM výpis "Test LCD 16x2",odrolování a počítání na 2. řádku
data 0 ,("Test LCD 16x2 ");uložení textu do EEPROM
let dirsB=%11111111       ;nastavení portu B pro pins
gosub inicializace        ;inicializace LCD
for b1=0 to 15            ;výpis textu
  read b1,b0              ;znak po znaku z EEPROM
  gosub zapis_znaku
  next b1
pause 3000                ;prodleva na čtení
b0=24                     ;povel k rolování vlevo
for b1=1 to 40            ;provést 40x (dojede zpět)
  gosub zapis_povelu
  pause 200               ;zpomalení rolování
  next b1
for b3=0 to 99            ;výpis čísel od 0 do 99 (z proměnné)
  b0=192+15               ;přechod na konec 2. řádku
  gosub zapis_povelu
  b0=4                    ;nastavit psaní zprava doleva
  gosub zapis_povelu
  b0=b3//10+48            ;převod jednotek na znak a výpis
  gosub zapis_znaku
  b0=b3/10+48             ;převod desítek na znak a výpis
  gosub zapis_znaku
  b0=6                    ;nastavit psaní zleva doprava
  gosub zapis_povelu
  pause 500               ;zpomalení počítání
  next b3
end                       ;konec ukázky
inicializace:
  pause 100
  b0=%00110000            ;8 bit režim
  gosub zapis_povelu      ;zápis 1
  pause 5                 ;nutná prodleva
  gosub zapis_povelu      ;zápis 2
  gosub zapis_povelu      ;zápis 3
  b0=%00101000            ;2 řádky, znaky 5x8
  gosub zapis_povelu
  b0=%00000001            ;smazání displeje
  gosub zapis_povelu
  b0=%00001100            ;zapnutí LCD, kurzor ne, neblikat
  gosub zapis_povelu
  return
zapis_znaku:              ;zápis znaku z b0
  high c.0                ;přenos znaku (nastavení RS)
  let pinsB=b0            ;nastavení dat
  pulsout c.1,1           ;zápis
  return
zapis_povelu:             ;zápis povelu z b0
  low c.0                 ;přenos povelu (nastavení RS)
  let pinsB=b0            ;nastavení dat
  pulsout c.1,1           ;zápis
  return
jrt
Tadeášek
Příspěvky: 33
Registrován: 15 srp 2016, 11:59

Re: LCD Displej

Příspěvek od Tadeášek »

Děkuji, ale stále nefunguje.
Tadeášek
Příspěvky: 33
Registrován: 15 srp 2016, 11:59

Re: LCD Displej

Příspěvek od Tadeášek »

Nemůže to být tím, že využívám procesor Picaxe 40X2, místo Picaxe 20X2?
jova
Příspěvky: 361
Registrován: 16 pro 2013, 11:40

Re: LCD Displej

Příspěvek od jova »

Pokud jsi použil stejně číslované výstupy, tak by mělo být jedno jaký procesor použiješ.
Příručku bohužel nemám a tak neznám ani zapojení, takže ti více neporadím.
Zkontroluj si hlavně, aby byly správně propojené datové výstupy z procesoru a LCD.
Uživatelský avatar
jrt
Příspěvky: 1921
Registrován: 17 úno 2013, 17:13

Re: LCD Displej

Příspěvek od jrt »

Děkuji, ale stále nefunguje.
Tak teď velmi pečlivě zkontroluj, zda tvé zapojení opravdu souhlasí se schématem.
Nemůže to být tím, že využívám procesor Picaxe 40X2, místo Picaxe 20X2?
Pokud máš displej skutečně správně zapojen na portB, tak ne.

P.S Ing. Černý je Michal, nikoli Petr.
jrt
Tadeášek
Příspěvky: 33
Registrován: 15 srp 2016, 11:59

Re: LCD Displej

Příspěvek od Tadeášek »

Pardon, spletl jsem si jméno, spěchal jsem. Zkontroloval jsem si zapojení, a vše je dobře zapojené.
jova
Příspěvky: 361
Registrován: 16 pro 2013, 11:40

Re: LCD Displej

Příspěvek od jova »

A píše to úplný nesmysl, nebo jen znaky z nějaké takovéhle tabulky?
https://www.google.cz/search?q=lcd+znak ... 40&bih=747
Tadeášek
Příspěvky: 33
Registrován: 15 srp 2016, 11:59

Re: LCD Displej

Příspěvek od Tadeášek »

Nějaké ano, např: 2, ale potom jsou i nař.: Tři crky nad sebou
jova
Příspěvky: 361
Registrován: 16 pro 2013, 11:40

Re: LCD Displej

Příspěvek od jova »

Tak chvíli vydrž, já si to taky zapojím. Předpokládám že to máš zapojeno jako osmibitovou komunikaci viz:
http://robodoupe.cz/2015/picaxe-obsluha ... -displeje/
Odpovědět