forum.mcontrollers.com - hlavní stránka forum.mcontrollers.com - fórum

 

.: fórum - hlavní stránka :.
Technology Stronghold by Rudolf Vesely
How to build Microsoft System Center hosted cloud series
FAQFAQ HledatHledat Seznam uživatelůSeznam uživatelů Uživatelské skupinyUživatelské skupiny RegistraceRegistrace
ProfilProfil StatistikaStatistika Soukromé zprávySoukromé zprávy PřihlášeníPřihlášení

 
pristup k bitovo orientovanej pamati

 
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> 8051 / 8052
 
Max
Anonymní





PříspěvekZaslal: 13 listopad 2008, 23:33    Předmět: pristup k bitovo orientovanej pamati Citovat

Zdravim, poradi mi niekto figel ako na x51 pristupovat k casti pamati, ktora je bitovo orientovana. Potrebujem na adresy 0x20 az 0x24 (teda 0x00 az 0x28 bitovo) ulozit 5 cisiel a potom postupne po bitoch ich testovat ci je tam 1 alebo 0. Pouzit JB 0x00, skok ide , ale ja to potrebujem do cyklu a tam som skoncil. Dakujem
Návrat nahoru
 

 
piityy
Profesionál
Profesionál


Založen: 1.4.2008
Příspěvky: 2139

PříspěvekZaslal: 14 listopad 2008, 1:53    Předmět: Citovat

Zajimavej problem Smile

Neni k tomu ani potreba bitova oblast, data muzou bejt kdekoli, stajne budes prohazovat A jak zdesenej Smile
V cyklu muzes testovat bit nahranim bytu do A, pak logickej soucin s registrem, ve kterym je "1" na miste testovanyho bitu. Nasledna instrukce JZ nebo JNZ (jump if A is/not zero) urci, zda je tam 1 nebo 0.
dal provedes na tom registru rotaci vlevo (1 se posune napr. z bitu 0 na 1) (do A, nahrat registr, provest rotaci, registr vratit, znova do A nacist testovany byte) a znova soucin + JZ/JNZ... tim zpracujes dalsi bit... a tak porad dokola, dokud neprojdes 1 byte.
Potom se vrhnes na dalsi Wink

Muzu se zeptat, k cemu to slouzi? Smile mimochodem na avr by to bylo "nepatrne" jednodussi a rychlejsi Wink

EDIT: Ted me napadlo jeste rychlejsi a jednodussi reseni: staci testovany byte rotovat pres C a po kazde rotaci testem C zjistis hodnotu toho bitu Wink

Holt ani do hospody nevede jen 1 cesta a napoprvy vzdy nenajdes tu nejkratsi Very Happy
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Max
Anonymní





PříspěvekZaslal: 14 listopad 2008, 10:19    Předmět: Citovat

potrebujem ho seriovo poslat na pin brany a popritom este nastavit jeho casovanie, aby som generoval spravny priebeh na vystupe. Popisany postup som skusal, ale je to dost zdlhavy a ja to potrebujem kazdych 20us. Vecer ma napadlo, este jedno riesenie. Mam dost pamate dat, ktoru nevyuzijem , tak tych 5bytov rozpisem na 40bytovom mieste a budem jednoducho kontrolovat po bytoch a vyhodnocovat s nepriamym adresovanim cez register a porovnanim CJNE. Vzdy su viacere cesty, len treba najst tu najvyhodnejsiu. Preto ma programovanie bavi Smile
Návrat nahoru
 

 
Kado
Přispěvatel
Přispěvatel


Založen: 21.2.2008
Příspěvky: 28
Bydliště: P.Bystrica, SK

PříspěvekZaslal: 14 listopad 2008, 21:01    Předmět: Citovat

Aky pouzivas mcu? Ak klasiku 89C5x, tak ta ma max pracovny kmitocet 24Mhz, kt. je este interne deleny, takze jeden stroj. cyklus trva pri 24Mhz 0,5us. Chces posielat 5bajtov seriovo. Treba si uvedomit, ze instrukcie na nastavenie vystup. pinu trvyju najmenej jeden stroj.cyklus, cize najkratsie 0,5us, z toho vyplyva, ze ked posielas 40bitov x 0,5us = 20us... a to je len nastavenie prislusneho pinu, k vysled.casu treba pripocitat este dalsie operacie, kt. su nutne k spacovaniu udajov, takze pochybujem, ze to za 20us zvladne obycajna 89C5x. Mozes vyskusat iny mcu od ATMELu, napr. AT89S2051, kt. ma funkciu X2, s ktorou dosiahnes 0,25us na stroj. cyklus pri 24Mhz xtale...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
 

 
piityy
Profesionál
Profesionál


Založen: 1.4.2008
Příspěvky: 2139

PříspěvekZaslal: 14 listopad 2008, 23:01    Předmět: Citovat

Predpokladam, ze myslel 1 bit/20us, jinak by vazne neuspel Very Happy Kdyz jsme u tech rychlejsich - verze LP maji jednocyklovy jadro... nebo x51 od silabs pracuji do 100MHz Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Kado
Přispěvatel
Přispěvatel


Založen: 21.2.2008
Příspěvky: 28
Bydliště: P.Bystrica, SK

PříspěvekZaslal: 15 listopad 2008, 13:28    Předmět: Citovat

Mozno myslel 20us/1bajt...poslat 1bit za 20us zvladne x51 urcite Wink

prikladam nejake verzie



test_x51_3.txt
 Komentář:
presun 1bitu z RAM na pin za 1,5us

Stáhnout
 Soubor:  test_x51_3.txt
 Velikost:  3.72 kB
 Staženo:  254 krát


test_x51_2.txt
 Komentář:
presun 1bitu z RAM na pin za 1,5us

Stáhnout
 Soubor:  test_x51_2.txt
 Velikost:  3.57 kB
 Staženo:  326 krát


test_x51_1.txt
 Komentář:
jedna z najpomalsich verzii, zabera vsak najmenej pamati flash

Stáhnout
 Soubor:  test_x51_1.txt
 Velikost:  1.87 kB
 Staženo:  269 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
 

 
Max
Anonymní





PříspěvekZaslal: 20 listopad 2008, 20:03    Předmět: Citovat

nebol som dlhsie na nete, ale posielam jeden paket pre DCC riadenie modelov zeleznice, kde log1 ma priebeh 58us v kladnej polvlne a 58us v zapornej, log0 je min 100us v kladnej a 100us v zapornej. Urobil som to tak, ze casovac mi pocita tych 58us a ja som potreboval pristupovat jednotlivo k vysielanym bitom. V jednom pakete je ich celkovo 40 a poteboval som testovat aky ma nasledovat. pouzivam 89x51 a nakoniec som tych 40 bitov rozpisal na 40 bytov a porovnavam ako byty teda log1 som zapisal 0x01 a log0 0x00. Cely cyklus spracovania trva asi 12us a zvysnych 46us sa bude mcu bavit s ostatnymi ulohami.
Návrat nahoru
 

Zobrazit příspěvky z předchozích:   
Zobrazit předchozí téma :: Zobrazit následující téma  
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> 8051 / 8052 Časy uváděny v GMT + 2 hodiny
 
Strana 1 z 1
Přejdi na:  
Můžete přidat nové téma do tohoto fóra.
Můž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.
Můžete k příspěvkům připojovat soubory
Můžete stahovat a prohlížet přiložené soubory
 



Num Lock Holder - app to hold Numlock
Copyright © 2018 Rudolf Veselý, mcontrollers.com.
Je zakázáno používat části tohoto webu bez souhlasu autora. || Powered by phpBB © 2001, 2002 phpBB Group - with RedSquare DoubleJ(Jan Jaap)