Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

ATMEL 89C2051 komunikacia z displayom cez I2C
Jdi na stránku 1, 2, 3  Další
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
kajsmentke



Založen: Aug 30, 2014
Příspěvky: 177

PříspěvekZaslal: so duben 29 2023, 12:11    Předmět: ATMEL 89C2051 komunikacia z displayom cez I2C Citovat

Zdravim mam AT89C2051 na programovanie pouzivam mikroPascal PRO for 8051

potreboval by som pochpit ako komunikovat z tymto displayom

https://www.aliexpress.com/item/1005005335436970.html?spm=a2g0o.order_list.order_list_main.11.af8018026gCq8V

je nejaka obdoba prikazov TextXY(x,y,'string'); pre vypisanie textu na suradnice pripadne PLOT(x,y) MOVE(X,Y) pre kreslenie ?
Ako vobec rozbehat komunikaciu z displejom po I2C
cinan k nemu nedodava ziadny katalogovy list, predpokladam ze to bude nejake uviverzalne.

Dik za nasmerovanie


Naposledy upravil kajsmentke dne so duben 29 2023, 17:20, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
ZdenekHQ
Administrátor


Založen: Jul 21, 2006
Příspěvky: 25741
Bydliště: skoro Brno

PříspěvekZaslal: so duben 29 2023, 16:56    Předmět: Citovat

Na to se rád podívám, jestli to někdo vyřeší.

Hlavně, jak to procesor s 2kB flash dá. Navíc displej, co má úhlopříčku cca 12mm a 10 písmen na řádek, to je tak pro J. Bonda, to patří spíš do špionážní techniky.

_________________
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
kajsmentke



Založen: Aug 30, 2014
Příspěvky: 177

PříspěvekZaslal: so duben 29 2023, 17:24    Předmět: Citovat

Ovladat podobny display zjavne zvladne
https://www.youtube.com/watch?v=nq3GbQIAYx8&ab_channel=HobbyProjects

len nemam paru ako obsluzit tu I2C zbernicu a co po nej poslat Embarassed
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Ruprecht



Založen: Sep 28, 2005
Příspěvky: 1271
Bydliště: ZČ + JM

PříspěvekZaslal: so duben 29 2023, 17:25    Předmět: Citovat

Tady je datasheet a můžete si hrát. Stačí po I2C poslat pár správných bytů Laughing
Jestli si dobře vzpomínám, tento malý displej 64x32 je hardwarově posunutý na řadiči, myslím, že levý dolní roh je sloupec 32 a řádek 32 (souřadnice rohových bodů úhlopříčně x32, y32 a x95, y63)

_________________
Kampaň, účelovka, nepodepsal, Palermo, ODS, Kalousek, je líp a jsou na to čísla, nastudujte si to.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
ZdenekHQ
Administrátor


Založen: Jul 21, 2006
Příspěvky: 25741
Bydliště: skoro Brno

PříspěvekZaslal: so duben 29 2023, 17:27    Předmět: Citovat

I2C se musí emulovat softwarově. Všechno žere paměť.

Má to vůbec nějakej interní textovej font?

_________________
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
kajsmentke



Založen: Aug 30, 2014
Příspěvky: 177

PříspěvekZaslal: so duben 29 2023, 17:55    Předmět: Citovat

Ruprecht napsal(a):
Tady je datasheet a můžete si hrát. Stačí po I2C poslat pár správných bytů Laughing
Jestli si dobře vzpomínám, tento malý displej 64x32 je hardwarově posunutý na řadiči, myslím, že levý dolní roh je sloupec 32 a řádek 32 (souřadnice rohových bodů úhlopříčně x32, y32 a x95, y63)


ten datasheet je zjavne k niecomu inemu , moj display ma 4 piny GND,VCC,SDA,SCK
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
kajsmentke



Založen: Aug 30, 2014
Příspěvky: 177

PříspěvekZaslal: so duben 29 2023, 18:06    Předmět: Citovat

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pocitujlasku



Založen: Dec 12, 2005
Příspěvky: 2133

PříspěvekZaslal: so duben 29 2023, 21:23    Předmět: Citovat

zvladnut to zvladne, ale mozno tak vyladeny asm.
_________________
No vidis, a tak si sa bal
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Ruprecht



Založen: Sep 28, 2005
Příspěvky: 1271
Bydliště: ZČ + JM

PříspěvekZaslal: so duben 29 2023, 21:25    Předmět: Citovat

"Displej" je to, co svítí. "Řadič" je ten obvod pod displejem. Ty 4 piny (resp. 2, SDA a SCL) jsou vyvedeny z řadiče, řadič je připojený k displeji páskovým vodičem. Datašít v odkazu popisuje komunikaci I2C s řadičem od strany 19 v pdf, příkazy jejich formát je od strany 28 v pdf. Když chceš něco zobrazit na displeji, musíš prostě mluvit s řadičem.
_________________
Kampaň, účelovka, nepodepsal, Palermo, ODS, Kalousek, je líp a jsou na to čísla, nastudujte si to.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nixdorf



Založen: May 06, 2017
Příspěvky: 570

PříspěvekZaslal: ne duben 30 2023, 10:44    Předmět: Citovat

v podstate otázka, či 128B RAM a 2K flash toho 8051 klonu od Atmelu, bude stačiť na mikropascalovskú štandardnú knižnicu + kód, ktorý k tomu bude ešte stíhať obhospodarovať IIC, je básnickou otázkou.
Kamoš, toto nie je tebou zavrhované, "hračkárske" Arduino, kde si pohodlne zavoláš nejakú TextOut funkciu, ktorú za teba naprogramoval niekto iný, tu dokonca ešte v Pascale. Stráviš čas nad strojovým kódom a lúštením datasheetov, ako si si prial. Ostatne, to isté spravil ten s tou Happy New Year animáciou - aspoň zavesil svoju HEX binárku na download, začal by som tam a skúsil to rozbehať. Následne možno nad tým pôjde zavolať nejaký 8051 disassembler na pochopenie toho, čo posiela po IIC - môj predpoklad je, že to demo musel napísať v dobre optimalizovanom asm, a nie high level jazyku typu Pascal/C(++) - ostatne, či je to pravda, uvidíš z disassembly.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
ZdenekHQ
Administrátor


Založen: Jul 21, 2006
Příspěvky: 25741
Bydliště: skoro Brno

PříspěvekZaslal: ne duben 30 2023, 15:10    Předmět: Citovat

Do toho Atmelu si nahraju převodník UART/I2C, to se tam vleze, a pak můžu dělat machra, protože zbytek zvládne počítač. Very Happy
_________________
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Mahoney



Založen: Oct 26, 2019
Příspěvky: 381

PříspěvekZaslal: ne duben 30 2023, 15:44    Předmět: Citovat

Nj, ale to pořád nic nemění na tom, že ten MCU je MCS51 a ne AVR, a že nemá hw I2C a všechnu komunikaci musí dělat softwarově programem. Jestli takový program jak píšeš máš, tak mu ho dej i se zdrojákem a on si bude mít s čím hrát a na čem se učit.

kajsmentke: Je to tvoje věc, ale podle mého názoru bych radil "na pascal zapomeň", a to myslím obecně, ne jen v tomto případu. Jinak sw I2C tady na tom MCU byla v ASM myslím v Matouškovi (doufám že nekecám, moc si to nepamatuju; je k tomu i CD s programy).


Naposledy upravil Mahoney dne ne duben 30 2023, 15:51, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
ZdenekHQ
Administrátor


Založen: Jul 21, 2006
Příspěvky: 25741
Bydliště: skoro Brno

PříspěvekZaslal: ne duben 30 2023, 15:49    Předmět: Citovat

Myslíš tu I2C, nebo mu mám napsat i ten převod na UART?
_________________
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Mahoney



Založen: Oct 26, 2019
Příspěvky: 381

PříspěvekZaslal: ne duben 30 2023, 15:52    Předmět: Citovat

To záleží jak se ti chce, dej co máš a pokud se ti chce něco připsat tak bude určitě rád, ale to byste se měli domlouvat spíš spolu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
ZdenekHQ
Administrátor


Založen: Jul 21, 2006
Příspěvky: 25741
Bydliště: skoro Brno

PříspěvekZaslal: ne duben 30 2023, 16:05    Předmět: Citovat

V tom je právě ten problém, když to píšeš v JSA, tak šetříš každej byte paměti, takže si tu vlastní knihovnu pro každej externí čip nějak optimalizuješ. Protože napsat to univerzálně, tak to bude nafouknutý jak žaba. Něco jinýho je EEPROM, FRAM či CO2 čidlo. Bohužel.

Vytáhl jsem to z nějakýho starýho projektu, momentálně používám spíš SPI.

Tohle je jen část a musí si to upravit podle potřeby. To asi nebude jeho nejlepší cesta.

kód:
   ;======*************************==================
   ;======PODPROGRAMY - START + STOP + ACK ...=======
   ;======*************************==================

Start_bit:   
;*********
   setb   sda      ;toto se predpoklada
   call   Wait_I2C
   setb   scl
   call   Wait_I2C
   clr   sda
   call   Wait_I2C
   clr   scl
   call   Wait_I2C
   setb   sda
   call   Wait_I2C_zpracuj

   ;KONECNY STAV
   ;============
   ;clr = 0
   ;sda = 1

   ret

Sd_DWA:
;********
   mov   r0,#8      ;8 cyklu
Senx_1:   
   rlc   a
   mov   sda,c
   call   Wait_I2C
   setb   scl
   call   Wait_I2C
   clr   scl
   call   Wait_I2C
   djnz   r0,Senx_1   
   setb   sda
   call   Wait_I2C_zpracuj
   ret

Test_ack:
;*******

   setb   sda      ;ACK
   call   Wait_I2C
   setb   scl
   call   Wait_I2C
   mov   c,sda
   clr   scl
   mov   Stav,c
   call   Wait_I2C_zpracuj
   ret

Posli_ack:
;*********
   clr   sda      ;ACK
   call   Wait_I2C
   setb   scl
   call   Wait_I2C
   clr   scl
   call   Wait_I2C
   setb   sda
   call   Wait_I2C_zpracuj
   ret

Stop_bit:
;********
   clr   sda      ;STOP bit
   call   Wait_I2C
   setb   scl
   call   Wait_I2C
   setb   sda
   call   Wait_I2C
   clr   scl
   call   Wait_I2C
   setb   sda
   call   Wait_I2C_zpracuj
   ret

;*****************
;*** INIT I2C  ***
;*****************

Clear_i2c:

   ;vychozi nastaveni bitu
   ;----------------------
        clr   Stav
   clr   scl   
   setb   sda
   mov   r1,#32d      ;max pocet chyb init eeprom
   
   mov   r0,#9
Cl_1:

   call   Wait_I2C
   setb   scl
   call   Wait_I2C
   mov   c,sda
   jc   Cl_2
   mov   r0,#9      ;prisel nulovy bit,musim znovu

   ;KONTROLA CHYB
   ;=============
   dec   r1
   mov   a,r1
   jnz   Cl_2
   setb   Stav
   ret         ;chyba init eeprom
   
Cl_2:
   clr   scl
   call   Wait_I2C
   djnz   r0,Cl_1   


            ;sda = 1 = vstupni
            ;scl = 0 = ready
   call   Stop_bit
   ret
   
   ;==========================================
   ;        CASOVACI PAUZY
   ;==========================================

Wait_I2C:
;********
;pulka periody
;zakladni casovani I2C
;pomalejsi kvuli HW key

   
   call   Wait_5us
   call   Wait_5us
   ret
   
      
Wait_I2C_zpracuj:
;****************
;cas pro HW key na zpracovani

   ;klasicka EEPROM

   call   Wait_5us
   ret
   

   
Wait_I2C_WRITE_int_EE:
;*********************
;cas pro HW key na zapis do interni EEPROM
;melo by stacit 3.4ms, ale i READ potrebuje timeout 10ms
   
        call   Wait_10ms
   ret
   
Wait_I2C_READ_int_EE:
;*********************
;cas pro HW key na zapis do interni EEPROM
;READ potrebuje timeout 10ms
   
        call   Wait_10ms
   ret
   

_________________
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2, 3  Další
Strana 1 z 3

 
Přejdi na:  
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

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

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.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.19 sekund