PUSH16 R16
LDI R16, $FF ;do registru R16 data 0Fh
OUT PLCD, R16
LDI R16, $FF ;do registru R16 data 255
OUT DDR(PLCD), R16 ;nastaví celý port D jako výstupní
CALL LCDINI
VYTSPZN TABZN
POP16 R16
VYSDATA: LDI R17, 0B00100000 ;nastaví bit5 do log1 - data
VYSBYT: CPI08 PODSV, 0
BRNE SVITI
ORI R17, (1 << BIT_BACKL)
SVITI: PUSH R16 ;zálohuje data
SWAP R16 ;vymění horní a dolní 4 bity
ANDI R16, $0F ;horní čtyři bity do log0, dolní zachová
OR R16, R17 ;domaskuje bit5 - data/instrukce+podsvětlení
CALL OUTLCD ;podprogram vyslání (horní čtyři bity)
POP R16 ;obnoví data
ANDI R16, $0F ;horní čtyři bity do log0, dolní zachová
OR R16, R17 ;domaskuje bit5 - data/instrukce+podsvětlení
CALL OUTLCD ;podprogram vyslání (dolní čtyři bity)
RET
RAD1: LDI R17, ADR_RAD1 ;0 - počáteční adresa prvního řádku
ADD R16, R17 ;přičte k počáteční adrese požadovanou pozici
ORI R16, 0B10000000 ;bit7 určuje instrukci nastavení pozice
CALL VYSINST ;vyšle instrukci
RET
RAD2: LDI R17, ADR_RAD2
ADD R16, R17
ORI R16, 0B10000000
CALL VYSINST
RET
RAD3: LDI R17, ADR_RAD3
ADD R16, R17
ORI R16, 0B10000000
CALL VYSINST
RET
RAD4: LDI R17, ADR_RAD4
ADD R16, R17
ORI R16, 0B10000000
CALL VYSINST
RET
;**
OUTLCD: OUT PLCD, R16 ;R16 na portd
DELUS 10
SBI PLCD, 4 ;nástupná hrana
DELUS 50
CBI PLCD, 4 ;sestupná
DELUS 10
RET
Zkus tenhle program(zkusil jsem to jen v simulaci), jestli bude fungovat to LCD. Řadič ST7066 je podle datasheetu kompatibilní s HD44780(jediný rozdíl je, že se dá nastavit režim 1řádek _ 5x11bodů)
Pokut ano, tak bude někde chyba v tvém programu. S asm jsem také začínal, ale programování v C mi přijde snadnější a při přenosu na jiný typ uProcesoru(PIC,ARM) stačí malé úpravy(osobní názor).
Chyba bude zde(při inicializaci musí být odeslána 3x hodnota 03h):
Založen: Dec 12, 2005 Příspěvky: 2248 Bydliště: SR, Poprad
Zaslal: čt duben 04 2013, 17:44 Předmět:
ako pisali viaceri, neinicializoval sa display. Mal som podobny problem, hned po pripojeni napajania som zacal komunikovat s displayom. A to sa mu nie vzdy pacilo. Na zaciatok programu som dal nejaky delay (v datasheete to bude spomenute) a potom uz fungoval v pohode.
Standa: mne zase viac vyhovuje asembler, vysledny program je ovela mensi a rychlejsi. _________________ No vidis, a tak si sa bal
Založen: Aug 20, 2004 Příspěvky: 2172 Bydliště: Brno-venkov
Zaslal: čt duben 04 2013, 20:14 Předmět:
Vše podstatné už bylo řečeno takže malý OT.
Na této stránce je simulátor LCD displeje s řadičem HD44780. Mě docela pomohl když jsem se seznamoval s principem komunikace.
Tak jsem to vyzkoušel a furt to dělá to stejné, už fakt nwm co s tím, buďto je chyba v zapojení nebo někde v programu, vůbec netuším co mám dělat, už jsem snad zkusil všechno.
Já jsem u LCD použil pro nastavení kontrastu odpor cca 1k - 2k2.
Ješte, jak máš nastavené pojistky na té ATmega?
Nemáš tam zapnuté CLKDIV8?
Už jsem mi stalo, že jsem zapoměl toto nastavení vypnou a pak jsem zjistil, že mi správně nefunguje program.
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.