Fórum témák
» Több friss téma |
Órakvarc a Timer1-re, vagy külső RTC, vagy a gányolás, hogy ha tudod, hogy óránként mennyit siet, kivonod...
A hozzászólás módosítva: Dec 12, 2012
Sziasztok!
Sikerült valamiféle számológépet összehoznom.... Szimulációban tökéletesen működik... Amikor arra kattintok, hogy fordítás hex-be, azt az üzenetet kapom, hogy a folyamatábrát nem tudja lefordítani, mert C kódot tartalmaz... Na most akkor mit, hogy ? (itt a fájl is) Update: Programot újraindítottam és fordított... A hozzászólás módosítva: Dec 12, 2012
Van mikor nem fordítja le elsőre, ilyenkor újra kell próbálkozni néhányszor. Ha végképp nem megy, akkor kell keresni hibát...
Újabb probléma adódott..
Suliból hazahozhattam egy T-bird 2-t plusz a kieg panel... Az útmutatóban azt írják, hogy a keypad úgy működik, hogy a sorokra, aktív jelet adok ( gondolom 1 ) majd kiolvasom az oszlopok jeleit. Flowcode-ban úgy nézne ki hogy: kimenet atmega megfelelő portja és bit - 1 szint (első sor) Ugyanígy a maradék 3 sor. Majd: bemenet megint megfelelő port, bit, és változóba a lenyomott gombot. Így csinálom, de a hiba az, hogy a keypad-től folyamatosan jön valamilyen szám.... Az előző hsz-ben, ott a progi is. Egyébként szépen működik a progi, csak az a baj, hogy nincs időm lenyomni semmilyen gombot a pad-en. Mert ő az első és a mádosik számot is lenyomja... Egy 1est. Az eredmény meg ugye így 2. A hozzászólás módosítva: Dec 12, 2012
Nézd meg, hogy az áramköröd hogyan van megoldva, mert lehet, hogy felhúzó ellenállások vannak a vonalakon. Az sem mindegy melyik vonalat hajtod meg. Ez itt off egyébként, ne itt tárgyaljuk tovább!
Ami a programot illeti nincs időm megnézni, de nem árt időzíteni a billentyűmátrixra adott jeleket, azaz nem a kontroller teljes sebességével pollingolni. Ha ez így van, akkor rendben. A hozzászólás módosítva: Dec 12, 2012
Watt.
Ha lenne pár perced rákukkantanál a progira? Sehogy nem sikerül.. :S Ha a keypad-et működne akkor már nem lenne gond semmivel..
Resetelem a kontrollert, indul a program.
Már az indítás után közvetlenül lenyomok egy számot. pl a 7est. És nyomva is tartom a progi végéig. Megint 1esekkel számol. Eredmény 2. Ha a 2es számot nyomom ugyanígy, akkor első szám 4, második 7... Eredmény 11.. Nem értem. ( van a t-bird-ökhöz útmutató, minden portot bitet helyesen álíltottam be. ) A hozzászólás módosítva: Dec 12, 2012
Most nézem, nekem csak PIC-es flow van...
Módosítottam rajta picit.
Szimulációban emgy szépen. Ha a billentyűzet, sorait 0 szintre helyezem, akkor nem megy tovább a program onnantól hogy bekéri az első számot. Ha a pad sorait 1 szintre rakom, akkor meg jönnek a le nem nyomott számok...
Olvass vissza nemrégen leírtam hogyan lehet pontos megszakítást csinálni tmr2 ben .
Sajnos ez a megközelítés olyan szinten idegen tőlem, hogy nem nagyon tudok javaslatot adni a program "javítására". Az egészet másképpen kéne megoldani és akkor még nem ismerem az áramkört se pontosan, mert attól is sokminden függ! Egy ilyen megoldás önmagában még talán működne is(ha illeszkedne a hardverhez), de mást nem nagyon lehet hozzátenni, mert azonnal megváltozna minden. Egy billentyűkezelésnek úgy kell működnie, hogy mást ne zavarjon és más se zavarja, ellenkező esetben nem fog jól működni. Ehhez ütemezés kell(és nem várakozások), amit Timer megszakításokkal lehet megoldani. 30Hz-es megszakításban lévő ütem elég is lenne a kezeléshez. Flow-ban még nem írtam mátrixos kezelőprogit, ezért konkrétumokat nem tudok mondani, de az irány ez kéne legyen.
Még annyit tennék hozzá, hogy most írok egy programot, amivel már szinte tele van egy 32k-s PIC. Egyetlen egy ugrás nincs benne! A hozzászólás módosítva: Dec 12, 2012
Hm értem. Hát csak most kezdtem az egészet.. De akkor majd olvasgatok.. Köszi!
Egy elég összetett vezérlő programot, menükkel, PID szabályzásokkal, hőelem polinomokkal stb.
Küzdök a 7szegmenses kijelzővel.Egy byte-os változót szeretnék kiírni három digiten.Egy digit az oké de a három nem megy. A gyári példák között nem találtam ilyet. Ha valaki segítene egy példával vagy az elmélettel megköszönném.
Digitekre kell bontani a számot és egymás után kitenni a megfelelő pozícióba. A digitekre bontást korábban LCD-re feltettük, nézz vissza pár oldalt!
A digitekre bontás az megvan de az eredmény a pic-ben nem 654 hanem 666 majd 555 majd 444. A delay-ek csak azért vannak benne hogy lássam mi is történik a valóságban.
Érdekes hogy a szimulátorban jónak tűnik.Mit rontok el?
nálam szépen sorolja
6__ _ 5_ __ 4 A hozzászólás módosítva: Dec 12, 2012
Van e lehetőség Flowcode-ban, hogy AD átalakító nélkül mérjek analóg jelet.
Konkrétan egy 16F628A-val egyenfeszültség szintet. Pl egy potméter egyik vége a Gnd-n, másik vége a +5V-on, csúszka a PIC be. A csúszkán hány V van? Köszi.
A 16F628A rendelkezik komparátorral és Vref modullal, ezek felhasználásával 4 - 5 bit pontosan lehet mérni. Egyszerűbb azonban a lábkompetibilis, A/D átalakítóval rendelkező típus használata: 16F88, 16F819, 16F1826, 16F1827, 16F1847 stb.
Köszi. Erre én is gondoltam, de ebből van 10 db. Másikat venni meg....
Itt a boltban nincs, ha meg postás hozza az minimum 2 ezer. Az alatt nem jön ki. A hozzászólás módosítva: Dec 13, 2012
Esetleg egy feszültség - frekvencia konverter kimenetét egy digitális bemenetre (T0CKI) vinni, és frekvenciamérő programot felhasználni. Lehet, hogy még drágább, mint áttérni a netto 360 Ft -os 16F1826 -ra.
Igazad van. Ez már nem tétel. Ennyibe kerül a 16F1827 is. Az nem volna jobb?
Ha képes kezelni a Flowcode, akkor lehet az is, de a 16F1847 csak pár forinttal drábább (8k program, 1k adat és 256 byte adat EEProm memória)
Kilehet választani, (16F1847) tehát valószínűleg kezeli.
Miben térhetnek el egymástól? PIC16F1847-E/SO -> I/SO A hozzászólás módosítva: Dec 13, 2012
Sziasztok ismét!
Egyszerűen elvagyok már keseredve... Sehogy sem tudom normálisan működtetni a keypad-et. Olvastam már, sokat, hogy lehet AVR-el keypad-et olvasni... Flowcode-ban kíváncsi lennék rá, de senki nem csinált még ilyet... Nincs valakinek véletlenül T-bird csomagja? Segíthetne..
Sziasztok! Olyat szeretnék flowcode-ban hogy 2 soros lcd kijelző felső sorában kijelzek egy feszültség értéket, az alsó sorban pedig bar-graph szerű analó kijelzést szeretnék. Természetesen az érték kijelzéssel nincs gondom, de az "analóg" kijelzés nem megy. Van ötletetek , esetleg példaprogram?
Köszi
Két megoldás is lehet a kijelzésre. Az egyik, hogy teli kockákat rajzolsz egymás után az értéknek megfelelő arányban, amit tartományok szerint elágazásokkal tudsz megoldani.
A másik, hogy definiálsz olyan karaktereket az LCD CGRAM-jába, amik egy digiten belül is fel tudják bontani a tartományt további öt részre és ezeket a karaktereket használva vonalanként is lehetne rajzolni az értéket. Ekkor a korábbi 16 (16karakteres LCD-t feltételezve) karakteres elégazáson belül további 5 elágazást kell iktatni és rajzolni a hozzá tartozó 5 féle karaktert. Ha jól rémlik teli kocka sincs készen a karakter ROM-ban(csak valami hasonló), azt is létre kell hozni a CGRAM-ban, ha csak az első verziót csinálod meg. A CGRAM-ról az LCD adatlapjában találhatsz bővebb infót! Az flow LCD blokkban van parancs a kezelésére. A hozzászólás módosítva: Dec 14, 2012
Szeretném megkérdezni: a Flowcode LCD blokkban mi az a tiszta vonal?
|
Bejelentkezés
Hirdetés |