Impulzusgenerátor +LCD

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
qwertzu
Újonc
Újonc
Hozzászólások: 5
Csatlakozott: 2008. március 8. szombat, 7:00

Impulzusgenerátor +LCD

Hozzászólás Szerző: qwertzu »

Kedves fórumozók!

Most kezdek ismerkedni az AVR-el és szeretném a segítségeteket kérni
az alábbi project megírásában.
Billentyűzeten megadom az impulzus darabszámát és az LCD kijelzi majd
egy "enter" gomb megnyomása után végrehajtja.
Tiny2313-ba gondolkozom 4x4-es billmátrixal.
Ha tudtok segíteni azt nagyon megköszönöm!

Tibi
Hooligan01

Hozzászólás Szerző: Hooligan01 »

Hol akadtál el? Programrészlet sokat segitene :)
Avatar
kefeur
Tranzisztorgyógyász
Hozzászólások: 187
Csatlakozott: 2008. február 17. vasárnap, 7:00

Hozzászólás Szerző: kefeur »

Üdv mindenkinek!
Impulzusról esett szó .
hogy is van ez , ha frekvenciát akarok vele létrhozni ?
Volt egy mintaprogim ami műkődőtt is , de sajna már a múlté.
Tudna valaki segítséget adni?
Hooligan01

Hozzászólás Szerző: Hooligan01 »

http://hu.wikipedia.org/wiki/Frekvencia

A frekvencia szó szerint egy „ismétlődés gyakoriságát” jelenti, azaz hogy egy esemény hányszor ismétlődik meg egységnyi idő alatt.

Tehát az impulzusok közötti idő állítgatásával lövöd be a kívánt frekvenciát.

De ha kifejtenéd bővebben mi az amire gondoltál, nem a wikiből idéznék.... :D
Avatar
kefeur
Tranzisztorgyógyász
Hozzászólások: 187
Csatlakozott: 2008. február 17. vasárnap, 7:00

Hozzászólás Szerző: kefeur »

oksa értem a célzást!
Adott egy encoder ,1 bcd peremkerekes kapcsoló .
Peremkerekesen beállítod a freki szorzóját (0.1-1-10-100-1000)
Encoderrel beállítod a kimenő frekit 0.1-1....... lépésekkel.
ez a része már tesztelve vagyon , de a timers résszel nem vagyok tisztába !
Arra gondolok hogy tmer1 fut 1 es osztással és valahogy figyelem hol jár - ha elérte értéket akkor toggle .
Nem tudom hogy is van az hogy ha túlcsordul a timer megszakítást generál ??
Hová mit?
Vagy ezt meg lehet adni ?
Hooligan01

Hozzászólás Szerző: Hooligan01 »

Azt hogy hol jár, nem igazán tudod figyelni, nem is az a megfelelő módszer arra amit szeretnél.

A kézenfekvő megoldás ha mindig feltöltöd x kívánt értékkel, ezáltal finoman szabályozhatod mikor csorduljon túl. Igy lehet pontos frekvenciát előállítani.

faék program:

Config Timer1 = Timer , Prescale = 1
on Timer1 timer_int ' timer_int az interrupt cimke, túlcsorduláskor oda ugrik a program

dim ertek as word

do
...
ertek = 60000 '60000-től fog számolni a timer

...
loop

timer_int:
Toggle Portb.0 vagy ami jólesik
...
timer1 = ertek
return
Hooligan01

Hozzászólás Szerző: Hooligan01 »

bocs, pontosítok: tudod figyelni, hiszen az is csak egy regiszter, csak éppen nincs értelme :) (mert ugye pl. 2 ellenőrzés között lehet hogy 5x túlcsordult már... :D
Avatar
kefeur
Tranzisztorgyógyász
Hozzászólások: 187
Csatlakozott: 2008. február 17. vasárnap, 7:00

Hozzászólás Szerző: kefeur »

Ez hasznos volt köszönöm !
Még kérdeznék : 16 bit-es timer ugye16535ig számlál és 16536nál van túlcsordulás?
16mhz órajelnél akkor szerintem majdnem 1 mhz kimenőjelem lehet.
Hooligan01

Hozzászólás Szerző: Hooligan01 »

ennek azért fuss neki még egyszer.... 16bit mennyi is decimálisban??

egy művelet ált. 1-2 órajelciklus (lásd aktuális proci adatlapja. asm!)

kicsit gondold át mi mennyibe fog kerülni :D (órajel)
Avatar
kefeur
Tranzisztorgyógyász
Hozzászólások: 187
Csatlakozott: 2008. február 17. vasárnap, 7:00

Hozzászólás Szerző: kefeur »

Na igen , én öszze adtam az értékeket .
32768 lessz az.
Még mindig nem tudom Hogy is számoltok.
Köszi a helyreigazítást.
Hooligan01

Hozzászólás Szerző: Hooligan01 »

ezt nem hiszem el.....
Még mindig nem tudom Hogy is számoltok.
1 byte bináris (8 bit) : 1111 1111 = decimális 255

2 byte bináris (16 bit) : 1111 1111 1111 1111 = decimális 65535

Minden tiszteletem a tiéd, de miért írsz ide ha az ALAPVETŐ matematikai fogalmakról (mint pl. számrendszerek) még elképzelésed sincsen :?:
Avatar
kefeur
Tranzisztorgyógyász
Hozzászólások: 187
Csatlakozott: 2008. február 17. vasárnap, 7:00

Hozzászólás Szerző: kefeur »

Veled nem fordult még elő hogy este fáradtan mellégépeltél valamit ?
Aztán azt mondják neked nem jó???

Egyébként a számolást az utasítás végrehajtási időkre értettem!

65 helyett nem tudom miért 16 ot írtam .

Bocsánatot kérek a mindenkitől !!! :oops: de én is csak ember vagyok.
De egyébként tisztában vagyok vele , régebben programozási versenyt is nyertem (hi)
C64 -el .
Rég volt , nagyon , aztán semmi programozás .
Újra kell tanulnom , más a program utsításkészlet is meg eltelt 18 év is.
Köszi a helyreigazítást . :cry:
Avatar
gerry
Chipgyilok
Hozzászólások: 252
Csatlakozott: 2005. október 11. kedd, 6:00

Hozzászólás Szerző: gerry »

kefeur!
Nem kell ám úgy érteni ahogyan Hooligan01 írja.
Én mire megértettem, hogyan kell kiszámolni egy DS hőszenzor írás és olvasási címét,,,, szerintem itt egyesek beleőszültek! :)
Igen néha nem árt átvenni a rég tanultakat!!!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Meg a klasszikus írás is az ami a pap sírkövén van:

"Tanulmányait befejezte."


A számláló működéséről az AVRCALC letölthető részében írtam egy rövid szösszenetet, ilkletve a Bascom súgóban is van 1-2 minta. (fejezet most íródás alatt (Timer/PWM/generátor stb.)
Avatar
kefeur
Tranzisztorgyógyász
Hozzászólások: 187
Csatlakozott: 2008. február 17. vasárnap, 7:00

Hozzászólás Szerző: kefeur »

Egyet értek .
Mindig lehet valamit tanulni!!
Most a megszakításokkal kapcsolatos dolgokat keresgélem , bár a súgóban nem is tudom hol-milyen utasításokat keressek.
Ami most érdekelne : Több nyomógomb (kontakt) tud e megszakítást generálni ?
Pl : 2313-nál 4 nyomógomb + a-b enkóder .
Az enkóderes rész az nagyjából meg is lenne.
Válasz küldése