PIC, INTERRUPt+A/D+Billentyûzet

Simon Zoltán z_simon at mailbox.hu
Thu Dec 7 20:11:13 CET 2000


Helló Mindenki!

Készül a programom a szintézerhez. Vannak már bevált, önállóan jól 
mûködõ részprogramjai. Most éppen a megszakításokkal bajlódom. Az a 
feladat, hogy 10MHz órajel mellett a legcsigábbra állítva a TIMER0-t, 
és a TIMER1-et (13, és 104 ms-onként) adnak egy egy megszakítást. A 
billentyûzet mér egyet - és villogtatja a PORTA.5-öt indikációnak - ha 
TIMER0 ad megszakítást. Persze csak akkor ha 5 megszakítás 5 mérése 
egymás utánn 1-et ad. Ez szolgálja a prellmentesítést. Az AD konverter 
akkor mér, ha a TIMER1 akad ki, és az eredményt a PORTB, és C-re adja. 
Na: Megszakítások nélkül mindkét programrész ragyogóan fut. Ha viszont 
együtt eresztem õket a megszakításokkal, akkor a billentyû ok, az AD 
konverter meg a táp és a föld közé beadott 22k poti táp felöli 10%-án 
indikálja a teljes 10 bites tartományt. Mi lehet a gond? Minden 
regisztert gondosan beállítottam...

Ja valaki a múlt hét végén kérte a billentyûzet kezelõ rutint, ami ugye 
24 gombot kezel mátrixban. Hát itt van, ki lehet vágni. A neved 
elveszett a homályban bocs. Ez a bill. kezelõ már a fejlesztett 
prototipus, fele akkora, 1/3 annyi változóval, gyorsabb is, és direkt 
úgy írtam hogy megszakításokkal mûködjön együtt....

Várom az ötleteket. Program PICBasic PRO-ban íródott, és csatolt file-
ént mellékelve.

Simi

--------------------------------------------------
 Mi az Ön MailBox címe? - http://mailbox.hu




More information about the Elektro mailing list