ATMEL 89C2051 komunikacia z displayom cez I2C
Moderátor: Moderátoři
- kajsmentke
- Příspěvky: 160
- Registrován: 30 srp 2014, 02:00
ATMEL 89C2051 komunikacia z displayom cez I2C
Zdravim mam AT89C2051 na programovanie pouzivam mikroPascal PRO for 8051
potreboval by som pochpit ako komunikovat z tymto displayom
https://www.aliexpress.com/item/1005005 ... 18026gCq8V
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
potreboval by som pochpit ako komunikovat z tymto displayom
https://www.aliexpress.com/item/1005005 ... 18026gCq8V
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(a) kajsmentke dne 29 dub 2023, 18:20, celkem upraveno 1 x.
- ZdenekHQ
- Administrátor
- Příspěvky: 25593
- Registrován: 21 črc 2006, 02:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
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.
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[?]
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[?]
- kajsmentke
- Příspěvky: 160
- Registrován: 30 srp 2014, 02:00
Ovladat podobny display zjavne zvladne
https://www.youtube.com/watch?v=nq3GbQI ... byProjects
len nemam paru ako obsluzit tu I2C zbernicu a co po nej poslat![Embarassed :oops:](./images/smilies/icon_redface.gif)
https://www.youtube.com/watch?v=nq3GbQI ... byProjects
len nemam paru ako obsluzit tu I2C zbernicu a co po nej poslat
![Embarassed :oops:](./images/smilies/icon_redface.gif)
Tady je datasheet a můžete si hrát. Stačí po I2C poslat pár správných bytů
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)
![Laughing :lol:](./images/smilies/icon_lol.gif)
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.
- kajsmentke
- Příspěvky: 160
- Registrován: 30 srp 2014, 02:00
ten datasheet je zjavne k niecomu inemu , moj display ma 4 piny GND,VCC,SDA,SCKRuprecht píše:Tady je datasheet a můžete si hrát. Stačí po I2C poslat pár správných bytů![]()
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)
- kajsmentke
- Příspěvky: 160
- Registrován: 30 srp 2014, 02:00
mam pripadne este jeden, trochu vacsi ten ma uplne rovnake piny
https://www.aliexpress.com/item/3277721 ... 1802xLEl0c
https://www.aliexpress.com/item/3277721 ... 1802xLEl0c
- pocitujlasku
- Příspěvky: 1757
- Registrován: 12 pro 2005, 01:00
"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.
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.
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.
- ZdenekHQ
- Administrátor
- Příspěvky: 25593
- Registrován: 21 črc 2006, 02:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
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 :D](./images/smilies/icon_biggrin.gif)
![Very Happy :D](./images/smilies/icon_biggrin.gif)
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[?]
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[?]
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).
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(a) Mahoney dne 30 dub 2023, 16:51, celkem upraveno 1 x.
- ZdenekHQ
- Administrátor
- Příspěvky: 25593
- Registrován: 21 črc 2006, 02:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
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.
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: Vybrat vše
;======*************************==================
;======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[?]
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[?]