» Poradna » Programy

MCU- Časy

 |   |  Microsoft Windows 7 Chrome 58.0.3029.96

Zdravím, mám menší problém, se kterým bych potřeboval pomoci.Potřeboval bych naprogramovat přes MCU jednočip 8051 zvuk o frekvenci 450 Hz a délky 10s. Potřebuji prostě dostat jako výsledek hexa číslo, které zadám jako délku trvání Th aTl.Předem díky moc.

Mohlo by vás také zajímat

Odpovědi na otázku

 |   |  Microsoft Windows 10 Firefox 52.0

Nějak nevidím ten problém.. jen zadání, nejspíše, domácího úkolu.Kde přesně je ten problém?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 58.0.3029.96

Jen jsem potřeboval pomoct se zapsáním programu a použitím časovače TMOD v 16 nebo 8 bitovém režimu, nenapsal jsem dostatečně zadání.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 58.0.3029.96

A v jakém jazyce? V Céčku? V Assembleru? Předně je tak toho časovače odvozený od frekvence oscilátoru, že.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 58.0.3029.96

Frekvence krystalu by byla 12 MHz a programovací jazyk MCU.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 58.0.3029.96

Programovací jazyk MCU?! MCU není žádný programovací jazyk. MCU je druh procesoru (Micro Controller Unit). Procesory se programují buď přímo ve strojovém kódu (tedy to už dááávno ne, byl by to opruz), v Assembrelu nebo dnes např. v Céčku. Vše závisí na konkrétním vývojovém prostředí a na kompilátoru.Např. procesoru PIC od Fy Microchip můžeš programovat v prostředí MPLAB a v něm si zvolit různé kompilátory, některé jsou free, některé placené. Samotný MPLAB je free.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 58.0.3029.96

A obávám se, že z 12MHz nedostaneš přesně 450Hz...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 58.0.3029.96

"Potřeboval bych naprogramovat přes MCU jednočip 8051"...MCU=českou hantýrkou "jednočip". MCU opravdu není ani vývojové prostředí, ani programovací jazyk. Ještě jednou si otevři učebnici nebo skripta, nastuduj si o čem to je a třeba na to přijdeš sám jak to naprogramovat.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Chrome 58.0.3029.96

Mám dojem, že panáček dostal jednoduchý domácí úkol. Jeho cílem je seznámit se s instrukční sadou assembleru a hlavně s tím kolik cyklů procesoru zabírají instrukce, které lze k naprogramování oscilátoru použít. Pokud není frekvence CPU pozastavována jinými obvody, lze to celkem přesně spočítat, aby frekvence seděla. Je dobré mít po ruce tabulku strojových instrukcí i s počtem cyklů, které jsou třeba k jejich vykonání. ☺

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 58.0.3029.96

Pokud to má dělat pomocí časovače, jde to udělat přesně v přerušení od časovače. Neví jak stařičký 8051, ale měl by to taky umět. Ovšem z 12MHz to nepůjde přesně. 12 000 000 / 450 = 26666,666666666666666666666666667

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Hexa, Trvání, HEXA +