Erdekes feladat (AVR&DDS)

Lukács Ákos lukrskywalkman at gmail.com
Thu Nov 23 01:09:40 CET 2006


pedig 1xű :)

A tablazatokban 256 ertekkel van megadva egy-egy hullamforma.
Ha x Hz-en akarod kiadni azt a hullamot, akkor csak annyit kell csinalni,
hogy 1/x mp alatt tekerjen vegig a tablazaton a szamlalo.

Innen mar csak matek/kodolas: A szamlaloja (R28, R29, R30) 24
bites, a main loop 9 orajel hosszu -> a szamlalo 24 bitje
9*2^24 orajel alatt porog le. Az orajel 11059200Hz
-> ha egyesevel lepked a szamlalon, akkor 13.6533 masodperc alatt megy
vegig. Ha ennel gyorsabban akar menni, akkor nem egyesevel kell
novelni a szamlalot, hanem valami nagyobb szammal. (1Hz-hez eppen
13.6533-al kellene novelni (ez igy nem megy, mert egeszek, de most
mind1...). 1kHz-hez meg 13653-mal. R24-R26-ban van az a szam, amivel noveli
a 24 bites szamlalot minden ciklusban.

   add r28,r24
   adc r29,r25
   adc r30,r26

Az elso add siman osszeadas, a tobbi meg carry-vel osszeadas.

A 24 bites szamlalo legfolso byte-ja (R30) pedig a "Z" pointer also byte-ja
is egyben.
A "Z" folso byte-ja pedig a hullamformaktol fugg.
   lpm
   out PORTB,r0
az lpm berakja a R0-ba a Z altal mutatott flash cimen levo adatot, az out
meg kirakja a PORTB-re.

Az ".org 0x100" sorral elintezi, hogy mindegyik
tomb cimenek also byte-ja 0x00 legyen (es 256 hosszuak, ugyhogy 0xFF
lesz az utoslo adat helye).

kb ennyi, hajnali 1-kor ez lehet kicsit tomeny es en is tomenyen
irok, de remelem segitett valamennyit :D

á.

On 11/22/06, Csuvár Imre <icsuvar at axelero.hu> wrote:
>
> Hali,
> koszi, ez majdnem ok.
> Leirom reszletesebben, mi a gondom:
>
> A frekibeallitast valahogy ugy csinalja,
> hogy folyamatos fazisvaltoztatasra vezeti vissza.
> A szukseges (?) alapadatot megkapja a soros porton keresztul,
> eszerint olvasgatja a tablazatot.
>
> Az nem jon le nekem,
> hogy mi a lenyege ennek az algoritmusnak.
> Vagyishogy mitiscsinal a hogyishivjak? :)
>
> Szoval bocs, hogy ennyire lamer vagyok a temahoz,
> de volt itt szo mar ohm-torveny ertelmezesrol is,
> es en most a programozasban tartok itt.
> (Vagy valasszak egyszerubb gyakorlo feladatot?
> Az LCD es a gombok talan menni fog :)    )
>
> Koszi a tovabbi otleteket elore is:
> Csuva'r Imre
>
> ----- Original Message -----
> From: "Lukács Ákos"
>
> ha jol latom (csak raneztem a kodra), akkor siman tablazatbol olvassa ki
> az
> adatokat, es pakolja ki a PORTB-re. Annyira csak nem lassu a bascom, hogy
> ez
> ne mukodjon :)
> LCD es par gomb kezelese bascomul ha jol tudom tenyleg pofon egyszeru.
>
> á.
>
>
> -----------------------------------------
>           elektro[-flame|-etc]
>


More information about the Elektro mailing list