PIC16F84 a 16x2 Display - komunikace

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
paulie2907
Příspěvky: 28
Registrován: 09 úno 2016, 00:00

PIC16F84 a 16x2 Display - komunikace

#1 Příspěvek od paulie2907 »

Zdravím uživatele fóra, už kdysi jsem se ptal na komunikaci v ASSEMBLERU mezi PIC16F84 a DISPLAYEM. Našel jsem takový "holý" tutoriál.

Display mám : http://mujweb.cz/hezky.den/datasheet/lcd-wd-c1602l-7gnna.htm

a zapojené to mám takto http://pic16fxx.sweb.cz/programovani/lcd/index.html

Nicméně mám problém se zobrazením, nevím jak mám zobrazit celých 16 znaků na celém řádku a na dalším něco jiného, nechápu jak se definuje text a vůbec nemám ponětí jak se text "volá".

Nenašel by se nějaký nadšenec s ochotou mi napsat nějaký krátký příklad v *.asm. Zkoušel jsem upravit (Viz doveda web) kód - místo "verze" jsem zobrazil svůj text správně, ale ten další už byl zpeházený nebo nekompletní....

Poradíte ?
hakamusai
Příspěvky: 939
Registrován: 17 dub 2007, 00:00

#2 Příspěvek od hakamusai »

Příklad je na tom webu co jsi dal odkaz. Přímo zde.
paulie2907
Příspěvky: 28
Registrován: 09 úno 2016, 00:00

#3 Příspěvek od paulie2907 »

hakamusai píše:Příklad je na tom webu co jsi dal odkaz. Přímo zde.


To vím, ale úplně tomu nerozumím. I Když jsou tam poznámky. Když rozšířím retlw ' ' o další znaky (16) upravím i proměné ve "VERZE" v kódu nedocílím zobrazení 16 znaků na DRUHÉM "probliknutí".

TZN : Zobrazí se verze (tam se mi povedl text o 16 znacích na řádek upravit) ale ty další zobrazují půlku, nebo konec popřípadě začátek, neumím ten kodu upravit púro svůj display...
Uživatelský avatar
forbidden
Příspěvky: 9442
Registrován: 14 úno 2005, 00:00
Bydliště: Brno (JN89GF)
Kontaktovat uživatele:

#4 Příspěvek od forbidden »

Přesně podle toho návodu jsem se to kdysi učil i já. A pak ještě podle tohoto. Je tam vše, co potřebuješ vědět a navíc v češtině. Prostě zkoušej a časem na to přijdeš.
hakamusai
Příspěvky: 939
Registrován: 17 dub 2007, 00:00

#5 Příspěvek od hakamusai »

Pokud zatím nerozumíš asm máš mimo jiný dvě možnosti.
1) zkoušet a učit se.
2) přejít na jazyk C a taky se učit,zkoušet

Na tomto webu jsou ke stažení příklady k vývojovým deskám prodávaným na ebay (PIC-EK aj.).Je to pro MPLAB v Cčku.
paulie2907
Příspěvky: 28
Registrován: 09 úno 2016, 00:00

#6 Příspěvek od paulie2907 »

hakamusai píše:Pokud zatím nerozumíš asm máš mimo jiný dvě možnosti.
1) zkoušet a učit se.
2) přejít na jazyk C a taky se učit,zkoušet

Na tomto webu jsou ke stažení příklady k vývojovým deskám prodávaným na ebay (PIC-EK aj.).Je to pro MPLAB v Cčku.


Céčko umím pro PC, to by neměl být problém ... Zkusím se podívat, děkuju
Uživatelský avatar
Zaky
Příspěvky: 7050
Registrován: 30 říj 2010, 00:00
Bydliště: Praha

#7 Příspěvek od Zaky »

Rozhodně doporučuji kódovat i MCU v C, assembler je samozřejmě dobré rámcově znát, ale psát v C je nesrovnatelně jednodušší a pohodlnější a samozřejmě je významnou výhodou přenositelnost kódu, modifikace pro konkrétní HW je obvykle docela snadná.
paulie2907
Příspěvky: 28
Registrován: 09 úno 2016, 00:00

#8 Příspěvek od paulie2907 »

Zaky píše:Rozhodně doporučuji kódovat i MCU v C, assembler je samozřejmě dobré rámcově znát, ale psát v C je nesrovnatelně jednodušší a pohodlnější a samozřejmě je významnou výhodou přenositelnost kódu, modifikace pro konkrétní HW je obvykle docela snadná.


Kde stáhnout vše potřebné na C kódování ? Notepad++ mám a budu to psát v něm, je super. Ale nějakej kompilátor C -> hex
Uživatelský avatar
bum
Příspěvky: 290
Registrován: 04 zář 2011, 00:00
Kontaktovat uživatele:

#9 Příspěvek od bum »

V KTE vycházelo na pokračování programování PIC kde byla popsána i komunikace PIC se znakovými LCD psal to M.Hron. Na webu mám podle těchto postupů dva články měření s PIC a LCD 2 * 16 a 2 * 20 znaků ten je k PC. Co píšeš o zobrazování na druhém řádku důležitá je správná inicializace displeje včetně instrukce pro inicializaci psaní dva řádky. Podrobně to je popsané v uvedeném časopise, v případě zájmu mohu vyhledat.
Uživatelský avatar
Zaky
Příspěvky: 7050
Registrován: 30 říj 2010, 00:00
Bydliště: Praha

#10 Příspěvek od Zaky »

V C by mělo jít kódovat snad nomálně v MPLAB, PIC nepoužívám, tak vlastní zkušenost nemám.
Uživatelský avatar
Atlan
Příspěvky: 4514
Registrován: 10 kvě 2004, 00:00
Bydliště: Košice

#11 Příspěvek od Atlan »

Doinstalujes do Mplavu but hitec compiler, alebo by priamo mplav mal obsahovat prekladac zdarma na C len to treba zvolit pri instalalcii.
hakamusai
Příspěvky: 939
Registrován: 17 dub 2007, 00:00

#12 Příspěvek od hakamusai »

paulie2907> Pro kódování v C je potřeba mít nainstalován XC8 compiler(případně XC16 ...) + MPLAB (případně MPLAB X)
Ke všem se lze proklikat zde.
XC8 je pro 8 bit MCU PIC.Ve verzi Free má menší optimalizaci kódu.S nakonfigurováním Notepad++ nemám zkušenost (někdo údajně používá i PSPad).V samotném MPLAB je třeba nastavit kompilátor.Při instalaci je třeba dát pozor na nastavení vlastností instalace (pro MPLAB).Případně se dá použít Hi-Tech compiler,který má podobný vlastnosti optimalizace (ve free verzi optimalizuje málo).
Pokud ovládáš Pascal,můžeš zkusit "PMP Mikro Pascal".Pro jeho funkčnost je třeba mít nainstalován MPLAB 8.92 který je možné stahnout jednoho odkazu na webu PMP pascalu.
Uživatelský avatar
Chenzee
Příspěvky: 464
Registrován: 26 čer 2007, 00:00
Bydliště: Vysočina

#13 Příspěvek od Chenzee »

No na LCD I. řádek začíná na adrese 0x80, II. řádek pak na 0xC0. To jen, že první řádek nekončí 16tým znakem.
Žádnej učenej z nebe nespadl ...
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“