AT1200 probléma
AT1200 probléma
Sziasztok!
Hobbi szinten foglalkozok elektronikával, most kezdtem el avr-t programozni (Bascom).
Mega8-at és AT1200-at vettem próbaképpen. A Mega8-al nem volt semmi gond, minden simán ment, most építettem egy forrasztó automatikát, dig. kijelzéssel.
A gondom az, hogy az 1200-al elakadtam. Sajnos nem sikerül változót deklarálni a Basecom-ban (Dim). Gondolom az lehet az oka, hogy nincs benne SRam. Hogyan lehetne ezt a problémát megkerülni? Vagy ezzel az avr-el ilyesmi nem lehetséges?
Minden segítséget előreis köszönök!
Üdv: Pakibec
Hobbi szinten foglalkozok elektronikával, most kezdtem el avr-t programozni (Bascom).
Mega8-at és AT1200-at vettem próbaképpen. A Mega8-al nem volt semmi gond, minden simán ment, most építettem egy forrasztó automatikát, dig. kijelzéssel.
A gondom az, hogy az 1200-al elakadtam. Sajnos nem sikerül változót deklarálni a Basecom-ban (Dim). Gondolom az lehet az oka, hogy nincs benne SRam. Hogyan lehetne ezt a problémát megkerülni? Vagy ezzel az avr-el ilyesmi nem lehetséges?
Minden segítséget előreis köszönök!
Üdv: Pakibec
Hát rossz hírem van. At AT90S1200-l megszívattak. Ez a chip kb. 4 éve megszűnt, legalábbis a gyártása. Ennek oldalága lett az ATTiny11-12-14-15 chip. Ezek arról híresek hogy csak regiszterrel bírnak, és nincsen bennük statikus RAM. Azzaz a Bascom csak _nagyon_ korlátozottan kezeli le. A Bascommal tudatni, hogy ilyen chiped van a $Tiny direktívával tudod. de változót nem fogsz tudni használni.
Portállítást, megszakítást le tudsz kezelni (ezekhez nem kell változó), illetve a direkt regiszter írás olvasást lehet használni. A 32 regiszterből kb. 8-12 van szabadon (byte szervezésűek).
Az AT90S2313 volt a AT90S1200 utódja, de már ez a chip is túlhaladott (viszont visszafele kompatibilis maradt) az ATtiny2313 chippel.
Igazán a SRAM nélküli chipeket ASM-ül lehet programozgatni (A bascomnak van beépített ASM értelmezője) vagy a célirányosabb AVRStudio (ASM).
A legkisebb Bascom alól is jól támogatott chip az ATtiny13 (ebben 64 byte SRAM van).
Talán sikerült segíteni,
Robi
Portállítást, megszakítást le tudsz kezelni (ezekhez nem kell változó), illetve a direkt regiszter írás olvasást lehet használni. A 32 regiszterből kb. 8-12 van szabadon (byte szervezésűek).
Az AT90S2313 volt a AT90S1200 utódja, de már ez a chip is túlhaladott (viszont visszafele kompatibilis maradt) az ATtiny2313 chippel.
Igazán a SRAM nélküli chipeket ASM-ül lehet programozgatni (A bascomnak van beépített ASM értelmezője) vagy a célirányosabb AVRStudio (ASM).
A legkisebb Bascom alól is jól támogatott chip az ATtiny13 (ebben 64 byte SRAM van).
Talán sikerült segíteni,
Robi
Szia!
Kösz a választ, sokat segített!
Titkon reménykedtem, hogy nem így lesz. Amit szeretnék vele, az egy beléptető rendszer. Optikai úton érzékelné hogyha egy személy lép a helységbe (2 IR nyaláb, így az irány is megvan), és pl. felkapcsolja a lámpát. Számolni kellene azt is, hogy hány ember van benn, és az utolsó után lekapcsolni. (Persze meglehet mikrovezérlő nélkül is, csak sokkal bonyolultabb).
Ehhez sajnos elkerülhetetlen az adatok tárolása. Akkor marad az, hogy fix regisztrerekbe írok, van esetleg tipped, hogy melyiket lehetne felhasználni? Van mégegy Mega8-am, de azt nem akarnám erre elhasználni.
Üdv!
Kösz a választ, sokat segített!
Titkon reménykedtem, hogy nem így lesz. Amit szeretnék vele, az egy beléptető rendszer. Optikai úton érzékelné hogyha egy személy lép a helységbe (2 IR nyaláb, így az irány is megvan), és pl. felkapcsolja a lámpát. Számolni kellene azt is, hogy hány ember van benn, és az utolsó után lekapcsolni. (Persze meglehet mikrovezérlő nélkül is, csak sokkal bonyolultabb).
Ehhez sajnos elkerülhetetlen az adatok tárolása. Akkor marad az, hogy fix regisztrerekbe írok, van esetleg tipped, hogy melyiket lehetne felhasználni? Van mégegy Mega8-am, de azt nem akarnám erre elhasználni.
Üdv!
Én rátartással szoktam tervezni, azaz a chipben legyen még hely, ha bővíteni kell a programot.
A bascom alapban 4k-ig fordít (DEMO), ennek fényében a lábszám lehet érdekes.
A Feladatra én a M8-t használnám először, legfeljebb ha kész a kód, akkor nézném meg hogy kisebb chip is elegendő-e (M48 vagy Tiny2313 vagy Tiny25/26/45/85).
Kell-e ragisztrálni _időpontban_ a mozgást. ez memóriaICt + óraIC-t (vagy chipen belüli órát) is jelent....(Ekkor a belső Timer2rerakható 32kHz kvarc is jól jön).
A bascom alapban 4k-ig fordít (DEMO), ennek fényében a lábszám lehet érdekes.
A Feladatra én a M8-t használnám először, legfeljebb ha kész a kód, akkor nézném meg hogy kisebb chip is elegendő-e (M48 vagy Tiny2313 vagy Tiny25/26/45/85).
Kell-e ragisztrálni _időpontban_ a mozgást. ez memóriaICt + óraIC-t (vagy chipen belüli órát) is jelent....(Ekkor a belső Timer2rerakható 32kHz kvarc is jól jön).
Én a következőképpen gondoltam: A két fénysugár jelét digitális 1 v. 0-vá alakítom majd valamelyik portra teszem. A program figyeli a portok állapotát (vagy esetleg megszakítással vagy direktben), eldönti, hogy ki vagy belépésről van-e szó (vagy zavarról) és ennek megfelelően egy számlálóból kivon, vagy hozzáad 1-et. Ha ez különbözik 0-tol a kimenet magas(relé meghúz, lámpa ég), ha nem alacsony.
Az avr belső RC oszcillátora adná az órajelet. Nem szükséges semmilyen regisztráció, egyszerüen csak a villanykapcsolót szeretném kiváltani. Ha a számlálót 1 byte-on tárolom, akkor 255 főig tud számolni, nagy a konyhánk, de hering legyek, ha ennyien beférnek
Szeretném elkerülni a külső memoria használatát, azért a néhány byte-ért, de fogalmam sincs, hogy SRam nélkül melyik regisztrerben tároljam. A mega8-at sajnálnám, túl bika az az IC ehhez (amúgy is optikai fordulatszámmérőbe, vagy oszcilloszkóbba szeretném tenni), szóval marad az 1200. (Nem Pesten lakom, errefelé meg nehézkes beszerezni ilyen cuccokat).
Amúgy nagyon jó, hogy van egy ilyen fórum is, eddig az avr-ekkel sokkal jobb tapasztalatom van, mint a PIC-el.
Üdv!
Az avr belső RC oszcillátora adná az órajelet. Nem szükséges semmilyen regisztráció, egyszerüen csak a villanykapcsolót szeretném kiváltani. Ha a számlálót 1 byte-on tárolom, akkor 255 főig tud számolni, nagy a konyhánk, de hering legyek, ha ennyien beférnek
Szeretném elkerülni a külső memoria használatát, azért a néhány byte-ért, de fogalmam sincs, hogy SRam nélkül melyik regisztrerben tároljam. A mega8-at sajnálnám, túl bika az az IC ehhez (amúgy is optikai fordulatszámmérőbe, vagy oszcilloszkóbba szeretném tenni), szóval marad az 1200. (Nem Pesten lakom, errefelé meg nehézkes beszerezni ilyen cuccokat).
Amúgy nagyon jó, hogy van egy ilyen fórum is, eddig az avr-ekkel sokkal jobb tapasztalatom van, mint a PIC-el.
Üdv!
-
Vendég
Szerintem van benne annyi regiszter, hogy bőven beleférsz.pakibec írta:Én a következőképpen gondoltam: A két fénysugár jelét digitális 1 v. 0-vá alakítom majd valamelyik portra teszem. A program figyeli a portok állapotát (vagy esetleg megszakítással vagy direktben), eldönti, hogy ki vagy belépésről van-e szó (vagy zavarról) és ennek megfelelően egy számlálóból kivon, vagy hozzáad 1-et. Ha ez különbözik 0-tol a kimenet magas(relé meghúz, lámpa ég), ha nem alacsony.
Az avr belső RC oszcillátora adná az órajelet. Nem szükséges semmilyen regisztráció, egyszerüen csak a villanykapcsolót szeretném kiváltani. Ha a számlálót 1 byte-on tárolom, akkor 255 főig tud számolni, nagy a konyhánk, de hering legyek, ha ennyien beférnek![]()
Szeretném elkerülni a külső memoria használatát, azért a néhány byte-ért, de fogalmam sincs, hogy SRam nélkül melyik regisztrerben tároljam. A mega8-at sajnálnám, túl bika az az IC ehhez (amúgy is optikai fordulatszámmérőbe, vagy oszcilloszkóbba szeretném tenni), szóval marad az 1200. (Nem Pesten lakom, errefelé meg nehézkes beszerezni ilyen cuccokat).
Amúgy nagyon jó, hogy van egy ilyen fórum is, eddig az avr-ekkel sokkal jobb tapasztalatom van, mint a PIC-el.
Üdv!
Ha két ember megy be, akkor elvileg ez történik:
-"A" fotocella megszakad (előszoba felöli)
-A program ellenőrzi, hogy "B" fotocella megszakadt-e korábban
-"B" fotocella megszakad, a program ellenőrzi, hogy "A" megszakadt-e korábban, ez "igaz", tehát számlálhoz egyet hozzáad.Majd törli az "A" ill."B" megszakítást jelző biteket.
-Vár, hogy mindkét fotocella ismét müködjön
-ciklus elölről
Jön a következő ember, akinél ugyanígy. Ha a konyhából kifelé jön, akkor más a sorrend, ekkor levon egyet.
Ha két ember megy át egyszerre szorosan összesimulva, vagy egymással szemben az szívás, de szerencsére nem túl széles a bejárat és ez kényelmetlen lenne.
Hogy oldanátok meg a szenzor részt?
-"A" fotocella megszakad (előszoba felöli)
-A program ellenőrzi, hogy "B" fotocella megszakadt-e korábban
-"B" fotocella megszakad, a program ellenőrzi, hogy "A" megszakadt-e korábban, ez "igaz", tehát számlálhoz egyet hozzáad.Majd törli az "A" ill."B" megszakítást jelző biteket.
-Vár, hogy mindkét fotocella ismét müködjön
-ciklus elölről
Jön a következő ember, akinél ugyanígy. Ha a konyhából kifelé jön, akkor más a sorrend, ekkor levon egyet.
Ha két ember megy át egyszerre szorosan összesimulva, vagy egymással szemben az szívás, de szerencsére nem túl széles a bejárat és ez kényelmetlen lenne.
Hogy oldanátok meg a szenzor részt?
$tiny
'$sim
dim X AS iram BYTE, y AS iram BYTE
X = 1 : Y = 2 : X = X + Y
On Int0 Megszakit
Enable Int0 'nosave
Enable Interrupts
Do
X = X + 1
Waitus 100
Loop
Megszakit:
Y = Y + 1
Return
Ez a kod 18%-t veszi el a chipnek.
chip options
chip=1200
hw, sw stack=0
frame=0
a nosave options kellhet, mert ugye regisztermentes nem kell/lehet.
Buktato: 1db int van megstzakitaskor. Viszont port inputra allitva vizsgalhatod h. alacsony v. magas allapotu-e.
A fotocellahoz erosen iranyitott feny kell, hogy a ketto ne zavarjon ossze. Voros lezerrel nagyon jol lehet beloni+fenyenergia is eleg:)))
És lehet a Mission Impossible III-at forgatni.
De ha nem, akkor a limbohinto modern valtozatahoz tuti lenne, csak kell 1 hangchip hogy a rud leeseset is halljad:).
Hulye kerdes:
Mozgaserzekelo+lampa nem egyszerubb?:)
'$sim
dim X AS iram BYTE, y AS iram BYTE
X = 1 : Y = 2 : X = X + Y
On Int0 Megszakit
Enable Int0 'nosave
Enable Interrupts
Do
X = X + 1
Waitus 100
Loop
Megszakit:
Y = Y + 1
Return
Ez a kod 18%-t veszi el a chipnek.
chip options
chip=1200
hw, sw stack=0
frame=0
a nosave options kellhet, mert ugye regisztermentes nem kell/lehet.
Buktato: 1db int van megstzakitaskor. Viszont port inputra allitva vizsgalhatod h. alacsony v. magas allapotu-e.
A fotocellahoz erosen iranyitott feny kell, hogy a ketto ne zavarjon ossze. Voros lezerrel nagyon jol lehet beloni+fenyenergia is eleg:)))
És lehet a Mission Impossible III-at forgatni.
De ha nem, akkor a limbohinto modern valtozatahoz tuti lenne, csak kell 1 hangchip hogy a rud leeseset is halljad:).
Hulye kerdes:
Mozgaserzekelo+lampa nem egyszerubb?:)
Én is gondolkoztam a mozgásérzékelőn, de hát milyen kellemetlen lenne, ha a vacsora közepén kikapcsol a világítás
Amennyire tapasztaltam sajnos elég változó ezeknek az érzékenysége. A másik gond a macska, azért neki nem szeretnék világítani
Lézer jó, csak elég drága, lehet, hogy inkább infravevőt + modulált infra adón gondolkozom, de kérdéses beválik-e.
Köszi a progit, de bevallom őszintén nem látom át a pontos működését. Annyi világos, hogy van egy ciklus, ahol x folyamatosan nő, ha megszakítás következik be, y nő egyel. De hogy lesz ebből beléptető rendszer? x>255 fölött hibát fog jelezni, vagy nem?
A deklaráció nagyon tetszik, ezt kerestem, még ma este kipróbálom.
Üdv!
Amennyire tapasztaltam sajnos elég változó ezeknek az érzékenysége. A másik gond a macska, azért neki nem szeretnék világítani
Lézer jó, csak elég drága, lehet, hogy inkább infravevőt + modulált infra adón gondolkozom, de kérdéses beválik-e.
Köszi a progit, de bevallom őszintén nem látom át a pontos működését. Annyi világos, hogy van egy ciklus, ahol x folyamatosan nő, ha megszakítás következik be, y nő egyel. De hogy lesz ebből beléptető rendszer? x>255 fölött hibát fog jelezni, vagy nem?
A deklaráció nagyon tetszik, ezt kerestem, még ma este kipróbálom.
Üdv!
-
Robert-