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 Předchozí  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
Mahoney



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

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

Ne, to bude dobrý… Záleží jak moc chce on sám, nikdo jinej to za něj neudělá. Možností má víc, buď si koupí lepšího brouka, a nebo si koupí knížku a začne od začátku od Blink atd. Ony ty 89C2051 nejsou špatný brouci (a hlavně jak jsi psal, spolehlivost), mám je taky rád, ale všechno má své meze, je to jako kdyby chtěl po Felicii, aby předjela na dálnici Porsche, nebo odtáhla 10 tun nákladu - asi to nedokáže, ale na rozumnou jízdu po městě to stačí.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
kajsmentke



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

PříspěvekZaslal: po květen 01 2023, 5:20    Předmět: Citovat

ZdenekHQ napsal(a):
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
   



no jo, len ako to pouzit... v Pascale viem sice vkladat aj ASM kod, ale ako tomu poslem nejaky znak na konkretnu poziciu, to mi v tom kode nieje jasne Embarassed
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
kajsmentke



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

PříspěvekZaslal: po květen 01 2023, 9:26    Předmět: Citovat

https://www.youtube.com/watch?v=fnGzRqVI4YI&ab_channel=VolosProjects

Tuto pouziva chlapik ATTINY85 (co nieje o nic vykonnejsi stroj) a uplne rovnaky display aky mam ja.

akurat to nema v Pascale
Embarassed

Naozaj skoda ze Mikroe MIcroPascal nema nejaku sirsiu podporu ani od samotneho vyrobcu aj ked platenu verziu predava za vyse 200USD Sad
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nixdorf



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

PříspěvekZaslal: po květen 01 2023, 9:56    Předmět: Citovat

progres, fajnšmeker už kuká po AVR... Very Happy

V dobrom, začni najskôr jednodušším, menším sústom - napríklad hello world, a v céčku, s displejom, ktorý má radič dobre zdokumentovaný - napríklad monochrom HD44780, klasika znakový displej 16 x 2, ktorý už má font v sebe - žiadne grafické farebné kontrolery prozatím.
A na Pascal sa fakt vyser. Nemôžeš sa vrtať v predpotopných platformách, ak o programovaní (prepáč, mikropascal ja nenazývam programovanie) nemáš ani šajnu. Zdeněk ti totiž posielal príklad, ako softwarovo posielať údaje cez IIC ako takej, celá implementácia s tým grafickým displejom by ťa ešte len čakala, musíš tomu radiču displeja posielať príkazy. A nebolo by to v pascale ani zďaleka.
Rovnako, ak ti neni po chuti programovanie v jazyku symbolických adries, budeš musieť pouvažovať po inej platforme, ako je 8051.


Naposledy upravil nixdorf dne po květen 01 2023, 9:58, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Mahoney



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

PříspěvekZaslal: po květen 01 2023, 9:58    Předmět: Citovat

To se dost mýlíš, ATtiny85 je o hodně výkonnější než 89C2051, a navíc má i 4x více pamětí.

Arduino IDE ho navíc dokáže podporovat přímo, takže bych ti klidně doporučil jít touto cestou… v tom IDE můžeš psát i v C (Pascal se C v jistých ohledech podobá, přechod nebude těžký, ale zdaleka není tak výkonný a praktický jako C), a navíc si to můžeš osahat i tak jak je, tedy programování ve Wiringu (což je trochu poupravené C++). Co je důležité - číst datasheety! (nejen od mikrořadičů, ale od všech součástek).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Celeron



Založen: Apr 02, 2011
Příspěvky: 17730
Bydliště: Nový Bydžov

PříspěvekZaslal: po květen 01 2023, 19:13    Předmět: Citovat

Kdyť nemusí u 2051 zůstat. Silabs dělá s jádrem 51 podstatně lepší a výkonější "děla" třeba se 100MHz hodinama a jednocyklovým jádrem.
A taky jsem zvědavej na ty dnešní AVR potvory a spol, jestli tu budou v nezměněný podobě ještě za 43 let jako 51.

_________________
Jirka

Proč mi nemůže všechno chodit hned ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pocitujlasku



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

PříspěvekZaslal: po květen 01 2023, 19:45    Předmět: Citovat

Ako niekto, kto zacal s pascalom v 1996 na skole a neskor programoval v Delphi (firemne aplikacie, dost rozsiahle) ti mozem povedat: zabudni na pascal. Svoje dni slavy ma za sebou a v dnesnej dobe v tom programovat je iba zbytocne trapenie. Ak vies dobre pascal, tak C-cko je otazka precitania zakladov, aby si pochopil princip a pozrel si syntax. Ale ako vravieval moj ucitel na strednej: vsetky jazyky su o tom istom, len sa inak zapisuju.
_________________
No vidis, a tak si sa bal
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Mahoney



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

PříspěvekZaslal: po květen 01 2023, 20:19    Předmět: Citovat

Celeron: A ještě Dallas a Cypress (dneska je to Analog Devices a Infineon), a ještě Microchip měl něco co patřilo kdysi SST, ale nevím jestli to už nezrušil… Ale ani od jedný z těch firem tu nikde nic neseženeš (myšleno u firem "pro bastlíře"), maximálně vyškrabeš v TME nějaký zbytky za nekřesťanský peníze - to už je lepší číňan (CH552, STC8.....) a chvíli si počkat (Ebay/Aliexpress), cena je přijatelná.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
kajsmentke



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

PříspěvekZaslal: st květen 03 2023, 5:59    Předmět: Citovat

pocitujlasku napsal(a):
Ako niekto, kto zacal s pascalom v 1996 na skole a neskor programoval v Delphi (firemne aplikacie, dost rozsiahle) ti mozem povedat: zabudni na pascal. Svoje dni slavy ma za sebou a v dnesnej dobe v tom programovat je iba zbytocne trapenie. Ak vies dobre pascal, tak C-cko je otazka precitania zakladov, aby si pochopil princip a pozrel si syntax. Ale ako vravieval moj ucitel na strednej: vsetky jazyky su o tom istom, len sa inak zapisuju.


ja som tiez orbil cely zivot z Pascalom resp neskor Delphi. Pascal je pekne citatelny kod ma prehladnu strukturu. Mne sa uz nechce zvykat si na novu syntax. Pises ze vsetky jazyky su o tom istom, ale zaroven si ma clovek vybrat Cecko Smile


Ono tie kniznice pre mikroPASCAL existuju ale pre PIC
https://download.mikroe.com/documents/compilers/mikropascal/pic/help/software_i2c_library.htm

toto prostredie spolocnost Mikroe zjavne udrziava stale pri zivote. Pascal pre 8051 sa zjavne prestal rozvijat v roku 2013 i ked ho stale oficialne predavaju za celkom mastne sumy Mad

Mozno by to chelo namiesto 8051ky pouzit radu PIC. Koniec koncov ked to programujem vo vyssiom jazyku tak RISC architektura ma velmi trapit nemusi.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Mahoney



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

PříspěvekZaslal: st květen 03 2023, 7:37    Předmět: Citovat

kajsmentke napsal(a):
ale zaroven si ma clovek vybrat Cecko

Protože je to i o komunitě, C je nejrozšířenější, tudíž k němu je největší podpora Wink Ale nikdo tě nenutí, trap se, když chceš…

Taky jsem kdysi chvíli psal v Pascalu, pochopil jsem rychle. Dneska bych do toho nešel.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pocitujlasku



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

PříspěvekZaslal: st květen 03 2023, 7:41    Předmět: Citovat

Myslel som, ze principom su vsetky rovnake, ale kazdy je vhodny pre iny ucel.
Ja napr. mcu pisem v C, alebo arduino (co je vlastne tiez C), rozne rychle skripty - bud powershell na win, alebo bash/python v linuxe, programy pre pc - C#...
Ty vies napisat to iste v x jazykoch, ale cas pisania a rychlost a velkost programu je ina.

Ccko sa dost podoba pascalu, tiez je prehladne a citatelne.
Aj pc programy som dlhe roky pisal v delphi, az kym som nepresiel na C# a zistil som, ze ten isty kod viem zapisat prehladnejsie a hlavne pri vacsich projektoch som dost narazal na obmedzenia delphi, ktore v c# nie su.
Ved nakoniec, ten, kto vymyslel delphi, vymyslel aj c#

_________________
No vidis, a tak si sa bal
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: st květen 03 2023, 12:35    Předmět: Citovat

Já třeba taky jedu v Pascalu dodnes, ale jen proto, že mám ty programy prostě napsaný a jen tam "dolepuju" případné další funkce či procedury a na komunikaci třeba přes Modbus to stačí.

Chlap se třeba zblázní, vymyslí si vlastní protokol, no tak si to jen upravím a nemusím shánět program, co umí atyp CRC.

_________________
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
nostalcomp



Založen: Nov 09, 2022
Příspěvky: 78

PříspěvekZaslal: st květen 03 2023, 16:21    Předmět: Citovat

Na stránkách Atmelu (dnes Microchip) se dala stáhnout aplikační poznámka a zdroják pro připojení a ovládání I2C EEPROM AT24xx k jednočipu x51. Zdroják (podobný tomu co postoval ZdeněkHQ) byl bohatě komentovaný a obsahoval univerzální sadu rutin pro I2C komunikaci. Postnul bych to sem rovnou, ale nemám to v PC, u kterého právě sedím.

Nemusí to být vázané jen na ty EEPROM a pokud se z toho vynechají rutiny pro blokové zápisy/čtení dat, tak to ani nebude dlouhé a bude to univerzálně použitelné pro I2C obvody. Osobně jsem to zkoušel s 8951/52 a také jsem to přepisoval pro 8080 (PMI-80). I s primitivním filesystémem jsem se vešel do 1KB (a to nemá 8080 tak výkonné instrukce, jako x51). Ale pokud se má dodržet ten 20-pin x51, volil bych raději 89C4051. Přeci jen má 2x tolik paměti.

Ale ladit něco na těchto 2051/4051 procesorech je fakt vopruz (ven z patice, programátor, zpátky do patice). Možná bych ještě někde vyštrachal DPS na ladící adaptér pro 89C2051/4051. Adaptér ze zasunul do 20-pinové patice 2051/4051, ale byl na něm velký 89S51/52, který je možné programovat pohodlněji přes ISP. Po odladění stačilo program nahrát do malého procesoru a bylo hotovo. Ale i to je dnes zastaralé. Pokud už někdo vyloženě trvá na x51, může použít řadu LP se sériovým bootloaderem.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Celeron



Založen: Apr 02, 2011
Příspěvky: 17730
Bydliště: Nový Bydžov

PříspěvekZaslal: st květen 03 2023, 23:46    Předmět: Citovat

nostalcomp napsal(a):
Možná bych ještě někde vyštrachal DPS na ladící adaptér pro 89C2051/4051. Adaptér ze zasunul do 20-pinové patice 2051/4051, ale byl na něm velký 89S51/52, který je možné programovat pohodlněji přes ISP. Po odladění stačilo program nahrát do malého procesoru a bylo hotovo. Ale i to je dnes zastaralé.


Když máš 85C154 s přístupovým "prcířem" na zádech a hardware emulátor k tomu, tak je ladění na tomhle zařízení jedna báseň. Všecko co se děje v procíku máš na displeji PC. Jen si musíš nadělat redukce z DIL40 na jiný pouzdra, co mají procíky řady 51. Akorát že to má řadič na ISA sběrnu, takže nutno udržovat nějakou živou PII nebo PIII, co ještě měli ISA štekr.

_________________
Jirka

Proč mi nemůže všechno chodit hned ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
kajsmentke



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

PříspěvekZaslal: út květen 09 2023, 10:33    Předmět: Citovat

viete mi poradit nejaky vhodny display ? ktory ma teda aj tie vstavane fonty, pokojne nejake LCD 2x20 znakov alebo 4x20 znakov, idealne aby piny pasovali do kotaktneho pola. Najlepsie z paralelnym odosielanim kodu znaku a jeho pozicie
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
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 Předchozí  1, 2, 3  Další
Strana 2 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.24 sekund