Fórum témák
» Több friss téma |
Sikerült megírnom az első progimat. A sok segítség amit kaptam fórumtársaimtól hajtott előre a tanukásban. Most szeretném ha valaki aki okosabb nálam megnézné, hogy jól írtam-e meg a progit.(minden benne van) Megpróbáltam RB-megszakítást használni, de ahoz még többet kell tanulni, hogy tudjam mit miért és hogyan. Szóval ha valaki megnézné a progit és véleményt mondana azt nagyon megköszönném.
Kipróbáltad, működik? Ha igen, akkor: , ha nem, akkor:
Én ezt a sok jelzőt meg villogót úgysem értem, tehát csak KONKRÉT és jól körülhatárolt problémára várj megoldást/tanácsot!
Kipróbáltam. Működik. Az a pontos baj vele, hogy amíg az időzítés megy "DECFSZ SZAM", azalatt a 4s alatt nem csinál semmit,holott a PORTB 0-4-ig valamelyik két bitnek magasnak kellene lennie.Az hogy melyiknek kellene magasnak lennie az attól függ,hogy melyik gomb volt megnyomva. PL: ha az ALAP funkció ment, és a BEJAR funkciót választom ki, akkor valamiért alacsony lesz a PORTB 1,2. Ugyanez van a KIJAR-nál is, de a TOLAT-nál nincs ilyen ott rögtön visszavált, igaz ott nincs számlálás.
Hali
Ez termeszetes mert a kesleltetes alatt nem tud mast csinalni. Egy megoldas lehet a gombok interruptos kezelese. Nem egy nagy ordongosseg megcsinalni. Probalj meg egy egyszeru IT-s programot megirni, de nem ebben a programban, csak ugy egy rovidke programmal. Ha egyszer rajossz hogy mukodik utana mindig azt fogod hasznalni. Neten talalsz millionyi mintapeldat. Nezz szet pedaul a PICLIST oldalon. A masik : el kellene felejteni a 16F84-et. Ennek az aran 2 16F887-et vehetsz es egy kicsit sokkal tobbet tud. Udv Vili
Köszi a választ. Már próbáltam a gombokat megszakítással vezérelni, az is működött csak úgy gondoltam, hogy először csak símán megszakítás nélkül próbálkozom. A16f84-el azért foglalkozom mert van belőle 20-30 db. egy felszámolásból kaptam.
Idézet: Már korábban is próbáltalak meggyőzni róla, hogy minden eseménykezelést egyetlen időzítő hurokra fűzz fel, s minden időzítést az alap időszelet számlálására vezess vissza. Ha közben kiugrálsz GOTO-val (CALL helyett) és extra késleltetéseket iktatsz be, akkor minden felborul. „Az a pontos baj vele, hogy amíg az időzítés megy "DECFSZ SZAM", azalatt a 4s alatt nem csinál semmit”
Próbáltam a gombok kezelését berakni szubrutinba, úgy hogy minden gomb egy-egy szubrutin és nem ment.Az MPLABSIM-ben ment élőben nem.Hiába nyomtam a gombot nem csinált semmit. Utánna úgy is bróbáltam hogy a különböző feladatokat raktam be szubrutinba az eredmény ugyan az, avval a különbséggel, hogy mindig csak az ALAP fukció ment. Hogy miket rontottam el azt nem tudom, mert mindet úgy csináltam ahogy az le van írva. A legrosszabb ez egészben az, hogy az MPLABSIM-ben minden úgy megy ahogy elképzeltem, de élőben semmi.
Idézet: Én sem tudom, de a GOMBOK-at biztosan... „Hogy miket rontottam el azt nem tudom” 1. Megfeledkeztél a státusz adminisztrálásáról (hiába találjuk lenyomott állapotban a gombot, az csak akkor érvényes, ha előtte felengedett állapotban volt!) 2. Fölösleges várakozásokat iktattál be, pedig már tisztáztuk, hogy nem kell külön pergésmentesítés, ha eleve csak bizonyos időközönként (dT > 10-20 ms) nézünk rá. A felengedést sem várjuk ki, hanem mindegyik gombhoz rendelünk egy státuszváltozót és azt rendesen adminisztráljuk. Próbáld tehát ezt a részt valahogy így:
És így tovább!
Az első próba így készült csak én egy státusszal akartam megoldani mind a négy gombot. Szerintem az volt a hiba. Köszönöm a felvilágosítást.
Idézet: Azt is lehet, csak akkor mindegyikhez külön bitet kell rendelni... „én egy státusszal akartam megoldani mind a négy gombot”
Rendeltem is, csak amikor az összes bit alacsony volt megbolondult a progi. PL ... b'00000001' ez volt az egyes gomb, de ha b'00000000' akkor össze vissza ugrált.
Pic16f628 az alany, olvasni tudom, írni nem, illetve az oshon féle programmal sikerült törölni a chipet.
A programozófeszültséget egy 12 és két darab 1,2 voltos aksi sorbakötve szolgáltatja. A tápfeszt meg egy 6 voltos aksi, sorbakötve egy leddel, így kb 4 voltról megy az egész. Mi okozhatja ezet a problémát?
az adatlapja szerint megy 3 volttól megy
de 5 volttal se tudom írni. Volt egy ismeretlen pic is, azt ki tudta olvasni egészenm addig, hogy code protect van rajta. Azt a picet töröltem ki, azóta azt is üresnek látja. namost vagy tönkrement a pic, vagy kitörölte. A foglalat megfelelő lábaira pic nélkül ledeket kötve a program rendesen "villogtatja" a ledeket. tehát a jel kijut a chipre.
Szia!
A programozást a programok a pic törlésévek kezdik, ami a 16F628-nál 4.5V fölött működik csak. A 6V-os akkuról két 1N4148 diódával állítsd elő a pic tápját. A 12V + 2* 1.2 V pedig mehaladja a Vpp maximális előírását. A programozási adatlap szerint 8.5V - 13V között kell legyen a Vpp a MCLR lábon mérve. Használd csak a 12V-os akkumulátort.
Par kerdes ha valaki felvilagositana:
pic 16f877, az AN0 GND-re 0-at ad, 5V tapra 1023-at ha a Vref- 1V-ra kotom akkor 1V-ra fog 0-at adni es ha a Vref+ 2V-ra kotom akkor 2V-ra fog 1023-at adni? masik kerdes hogy alap esetben 5V tap = 1023 ha nagyobb feszultseg van az AN0 labon mint a tap 5V-ja akkor is 1023 ? es mi lehet az maximalis feszultseg amit karosodas nelkul kepes elviselni?
Hali
Sajnos nem ilyen szep a menyasszony. Az igaz, hogy a Vref+ es a Vref- kozotti feszt oszja fel 1023 reszre. Viszont a ketto kozotti kulonbseg nem lehet kisebb 2.2 voltnal. Az AD max bemeno fesze nem haladhatja meg a Vref+t. A masik kerdesre: Altalaban nem szeretik a labak a tapfesznel nagyobb bemeno feszt. Igaz be van epitve a labakra egy-egy vedodioda a taphoz es a GND-hez de ha nincs korlatozva a bemenoaram karosodhat az IC. Egyebkent melegen ajanlom a Microchip oldalt, mert mindenhez van kimerito doksi ingyen. Csak el kell olvasni. Udv Vili
kosz a gyors valaszt.
igen ismerem az oldalt, de van amit nem talalok meg. vagy nem ertem, ezert kerdeztem kosz megegyszer.
Szia!
- A Vref+ és a Vref- közötti feszültségtartományt képzi le a 0...1023 közötti kódokra. A (Vref+) - (Vref-) ne legyen kisebb, mint 2V (romlik a felbontás) és ne legyen nagyobb, mint (Vdd+0,3)V. - A bemeneteken védődiódák vannak, a bemeneten megjelenő Vss-nél kisebb és a Vdd-nél nagyobb feszültség ezeket a diódákat kinyithatja, a bemeneten folyó, a megengedettnél nagyobb áram tönkreteheti azt. Ha nagyobb feszültség is megjelenhet a bemeneten, egy soros áramkorlátozó ellenállással és külső védő áramkörrel kell ellátni a bemenetet.
Hali!
El akarok kezdeni megismerkedni a PIC-kel , vagyis a programozásukkal. Na most van nekem egy 44pines demo panelem a pickit2 -mhöz 16F887 -el szerelve. El is kezdtem én itt a tutorialokat amiket adtak a cd-n de ez nekem még így kicsit sok lesz szerintem. Nem tudna valaki adni valami magyar oldalt ahonnan el tudom kezdeni úgy, hogy mindent megértsek? Vagy építenek kellene valami másik panelt kisebb PIC-el 16F628A -val pl? Lehet azzal kellene nekem kezdeni vagy mindegy?
Van itt a hobbielektronikán néhány PIC-es cikk és téma is, kezdetnek elég lesz azok végigolvasása.
Például:
Bővebben: Link
Sziasztok!
Tesztprogram érdekelne ami leteszteli az összes IO portláb működését. Valaki tudna segíteni?! üdv
Hali
Milyen PIC, es milyen nyelven? Vili
Azért ez így elég meredek... A speciális funkciókat is bele kell venni?
Szerintem egy átfogó ellenörzés kellene, ill az lenne a legjobb, mert a volt tuljadonosa azt állította, hogy meghalt. De én feltudtam programozni írja és olvassa a Hex álományt, tehát müködik. csak a lábak felöl vannak kétségeim.
Egyépként egy 16F877A-ról van szó és ehez kéne a teszt. A program nyelvet nem tudom, de a programozóm az pic klón 2 és Hex állományokat égetgetek. Szerintem a hex asm-ben íródott, aztán lehet , hogy zöldségeket mondok, ezt talán ti jobban tudjátok. minden segítség érdekelne, hogy ezt a 40 lábút megmentsem. üdv szaby |
Bejelentkezés
Hirdetés |