Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   771 / 1319
(#) icserny hozzászólása Júl 7, 2010 /
 
Biztosan láttátok már a Mikroelektronika PIC16F887 mikrovezérlőről szóló könyvének illusztrációit. Most nekiveselkedtem, és az Inkscape ingyenes vektorgrafikus program segítségével újrarajzoltam az egyik ábrát. Könnyebben ment volna, ha ismerném az Inkscape használatát, meg ha félúton nem töröltem volna ki véletlenül az egyik rajzréteget...
(#) revox hozzászólása Júl 7, 2010 /
 
Köszönöm a segítőkész jó tanácsokat.
Megoldódott a problémám ,kiderúlt ,hogy én gondóltam rosszul ,és ajánlom mindenkinek a tapasztalatomat .
Egyszerüen a szimulátor programok induláskór
a ram területet alapból nullára állítják ,de ez a valóságban nem így van (legalább is a 628-asnál ),úgyhogy senki se felejtse el ,hogy programírásnál tegyen be pár törlő utasítást ,mert bekapcsoláskór nem lesz üres a ram.
Mégegyszer köszönöm a segítségeket
Üdvözlettel : revox
(#) watt válasza revox hozzászólására (») Júl 8, 2010 /
 
Lehet, hogy csak neked nem természetes, hogy inicializáláskor kezdeti értékre állítjuk a regisztereket, de ez teljesen egyértelmű dolog.
(#) icserny válasza - Mixa - hozzászólására (») Júl 8, 2010 /
 
Az analóg funkciók le vannak tiltva?
(#) pako válasza revox hozzászólására (») Júl 8, 2010 /
 
Watt-ot kiegészítve, az adatlapokban le van írva, hogy reset után melyik regiszter milyen értéket vesz fel: 0, és 1 egyértelmű, X-el jelölt pedig véletlenszerű.
(#) Ideiglenes hozzászólása Júl 8, 2010 /
 
Volt itt egy korábbi hozzászólásomban, hogy a Microchipnek létezik egy programja, amivel egyszerűbb programrészleteket meg lehet csinálni aránylag gyorsan. Akkor azt írtam tévesen, hogy az az MpLab része. Most véletlenül rábukkantam.
Innen tölthető le.
Persze ésszel kell használni, nem mostani a program.
(#) revox hozzászólása Júl 8, 2010 /
 
Félre értettetek. Direkt nem regisztereket írtam ,hanem RAM-ot ( átmeneti tárolót ) ahová a részeredmények kerülnek ( 020-tól kisebb megszakításokkal 14f-ig) .Én is azt hittem ,hogy ezeket a kontroller bekapcsoláskór alaphelyzetbe ( nullára ) álítja . De ez nem így van ,ezt próbáltam meg elöző hozzászólásomban leírni.
Üdvözlettel : revox
(#) potyo válasza revox hozzászólására (») Júl 8, 2010 /
 
Szerintem nem értettük félre egymást, csak az adatlapban nincs leírva sehol sem, hogy a RAM milyen értékeket vesz fel induláskor, ezért természetes, hogy mielőtt egy cellából olvasni akarunk, akkor abba előtte be kell írni valamit. Mert ugye felesleges egy változót induláskor nullára állítani, ha a kódban abban tárolunk el egy soros portról bejövő adatot, mert a természeténél fogva előbb történik írás a cellába, és csak utána fogjuk valahol olvasni. Viszont egy ciklusváltozónál amikor a ciklusban csak növelgetjük a változó értékét, akkor ott először olvasás majd növelés és írás van, tehát azt előtte be kell állítani kezdőértékre.
(#) icserny válasza revox hozzászólására (») Júl 8, 2010 /
 
Idézet:
„Direkt nem regisztereket írtam ,hanem RAM-ot”
A RAM-ot úgy hívják, hogy File Registers. Gyakorlatilag az általános felhasználású regisztereknek felelnek meg. Pont ez a PIC egyik nagy erőssége, hogy minden adatmemória rekesz ugyanúgy kezelhető, mint a többi regiszter...
(#) trudnai válasza revox hozzászólására (») Júl 8, 2010 /
 
Orok tanulsag: Mikor felteszel egy kerdest egy problemaval kapcsolatban automatikusan csatoldd a forras kodot es a kapcsolasi rajzot, hogy masok segiteni tudjanak -- mert egy ilyen egyszeru problema valoszinuleg 2 masodperc fejtores egy tapasztalt PIC fejlesztonek... rengeteg idot es energiat sporolhatnal meg vele...
(#) Moderátor hozzászólása Júl 8, 2010
 
Ha valakinek bohóckodni van kedve, irány a Viccek topik. Köszönöm!
(#) icserny hozzászólása Júl 9, 2010 /
 
MPLAB szimulátorát rá lehet venni valahogy, hogy PIC32/C32 választása esetén a printf kimenete jelenjen meg az output ablakban? PIC24/C30 esetén ehhez a Debugger/Settings/Uart1 I/O lapon Enable Uart1 I/O és Output->Window választás kell, és működik. C32 esetén viszont nekem nem ír ki semmit. A program ennyi:
  1. #include <p32xxxx.h>
  2. #include <stdio.h>
  3. int main(void) {
  4.         printf("Hello\n");
  5. }
(#) Hp41C válasza icserny hozzászólására (») Júl 9, 2010 / 1
 
Szia!

A default az uart2, át kell térni az uart1-re. Bővebben a Microchip fórumán...
(#) icserny válasza Hp41C hozzászólására (») Júl 9, 2010 /
 
Köszönöm, így működik!
(#) geri12 hozzászólása Júl 9, 2010 /
 
Üdv mindenkinek!

Szeretnék egy olyan órát készíteni, amin 6db 7 szegmenses kijelző és 6db nixie cső volna. Az adott program külön-külön működik is (7szegmenses kijelzővel vagy nixievel), csak jelenleg át kell írnom a progit, és kijelző panelt kell cserélnem. Az volna a kérdésem hogy ha megvan az adott port szám (16F877-re gondoltam), akkor úgyanazt az időt ki lehetne küldeni mindkét kijelző típusra? Elég deffiniálni a külön két kijelző aztán a programban mondjuk elnevezni display1-nek és display2-nek?

Válaszokat köszönöm!
(#) Hp41C válasza geri12 hozzászólására (») Júl 9, 2010 /
 
Szia!

A Nixie csöveket a feszültség igényük, a led-es kijelzőket az áram igényük miatt nem tudja közvetlenül meghajtani a kontroller. Mindkét esetben szükséges egy közbenső fokozat. Az idő formátuma pedig lehet egyforma is. Az óra programja BCD kódot adjon ki az aktulási számjegyeknek megfelelően.
- Ha Nixi csöves órát szeretnél, akkor a BCD kimenet egy-egy 74140 Nixie meghajtóval vezérelheti a csöveket.
- Ha 7 szegmenses kijelzős órát szeretnél, akkor a kijelzőket egy-egy 7447 BCD - 7 szegmenses dekóder hajtja meg.
A fogyasztás illetve az alkatrész szám csökkentésére a multiplexelt vezérlés ugyanígy megoldható.
A lényeg, hogy az óra programja változatlan lehet...
(#) geri12 válasza Hp41C hozzászólására (») Júl 9, 2010 /
 
Lehet nem fogalmaztam jól. Tehát elektronikailag nincs próbléma. Használok 74140-et is a nixies változatnál. Mindkét verziónál MPSA42 és MPSA92 van az anódoknál. A 7 segmenses kivitelnél végül nem használtam külön meghajtó IC-t a szegmensekre ,mert nem volt rá szükség. Közvetlen a PIC-re van kötve. Ebből adodik hogy nem BCD-s, hanem meg van írva a progiba hogy egy bizonyos számnál melyik szegmens világitson. Lehet most sokan hülyének fognak nézni (valjuk be nem a legjobb, de működik), de a nixies változatnál sem BCD-t adok ki, hanem a 4 lábat használva (ami a 74140-hez megy) megírtam a számokra hogy melyik lábon legyen "0" és "1".

Tehát külön működik! Itt az a lényeges kérdés hogy egy megírt programban lehetséges-e egyszerre a kettőt működtetni?
(#) icserny válasza geri12 hozzászólására (») Júl 9, 2010 /
 
Idézet:
„Itt az a lényeges kérdés hogy egy megírt programban lehetséges-e egyszerre a kettőt működtetni?
Ha belefér a memóriába, akkor miért is ne?!
(#) peti13 hozzászólása Júl 9, 2010 /
 
Sziasztok! Lehet buta kérdés, de hogy lehet kiszámolni, vagy hol lehet megnézni adatlapban hogy egy utasítást mennyi időbe telik a pic-nek elvégezni? Köszönöm!
(#) geri12 válasza icserny hozzászólására (») Júl 9, 2010 /
 
Köszi!

Írogatok valamit a jövöhéten. Ha nem sikerülne összehozni, jelentkezek.
(#) Hp41C válasza peti13 hozzászólására (») Júl 9, 2010 /
 
Szia!

Benne van az adatlapokban az "Instruction set summary" fejezetben.
(#) robotech hozzászólása Júl 9, 2010 /
 
Üdv!
A próba kedvéért vettem egy PIC16F1826-os PIC-et, úgy tűnik a házilag készített PICkit 2-esem nem ismeri fel (no device found).
Mivel lehetne ezt a tipust égetni?
Esetleg elegendő lenne egy software update a PICkit 2-nek?

Köszi előre is!
(#) potyo válasza robotech hozzászólására (») Júl 9, 2010 /
 
Idézet:
„Esetleg elegendő lenne egy software update a PICkit 2-nek?”


Lehetséges
(#) robotech válasza potyo hozzászólására (») Júl 9, 2010 /
 
Köszi a linket!

Nekem is a V2.61 van meg a PICkit2 programmerből, mégsem látja... Lehet, hogy a 18f2550-be kellene hex-et cserélni?
(#) Hp41C válasza robotech hozzászólására (») Júl 9, 2010 /
 
Szia!

Az MpLab -bol nem megy csak PicKit3-mal. A PicKit2 V2.61 programnál "Malual device select" esetén a "Device Family / Midrange / 1.8V Min" alatt magtalálhatod, de fel is kell ismernie.
(#) robotech válasza Hp41C hozzászólására (») Júl 9, 2010 /
 
Én sem MPlab alatt égetek, hanem külön a pickit 2.61-el, de a CHECK COMMUNICATION menüpont 'lenyomására' nem találja az eszközt.
Gondolom ha manual device select-et választom vagy jól beégeti, vagy nem, így ha még azt is hozzáadom, hogy a program lehet hibás is, akkor már elég nagy a dolog bizonytalansági foka...
(#) robotech válasza robotech hozzászólására (») Júl 9, 2010 /
 
Hopp hopp!
Érdekes dolog: a manual device select legördülőjében nem található az eszköz! Sőt, semmilyen négyszámjegyű 16F-es...

Pedig 2.61 a verzió...
A device file version viszont 1.61.
A microchip ajánlás alapján amit potyo belinkelt ennek 1.62.3-nak kéne lennie...
Hogy lehet ezt update-elni?
(#) robotech válasza robotech hozzászólására (») Júl 9, 2010 /
 
Megvan!

Ez van amikor az ember előbb kérdez, minthogy gondolkodik . Sorry.

Mindenesetre mások megsegítésére mellékelni az 1.62.3 device file updatet, amit egy pillanat alatt találtam meg a microchip oldalán (mármint egy pillanat alatt, miután elkezdtem gondolkodni )

Köszi a segítséget!
(#) Hp41C válasza geri12 hozzászólására (») Júl 9, 2010 /
 
Szia!

Az is elképzelhető, hogy induláskor egy lábra menő jumperről beolvassa, hogy melyik módban kell működjön. Ez a láb a továbbiakban akár kimenet is helet, de akkor a láb és a jumper közé egy ellenállás kell...

A Nixie csőhöz 10 db kimenet kell egy digitre - az összeshez, ha multiplexelt, a 7 szegmenseshez csak 7. Ez a 7 azonos lehet a Nixie 10 kivezetéséből 7 -tel...
(#) - Mixa - válasza icserny hozzászólására (») Júl 9, 2010 /
 
Köszönöm, a gond ez volt, meg ahogy nézem az EC11 lesz a másik. Potyo próbálok figyelni az MCLR lábra, adatlapot olvasni, hidegítő kondit rakni a PIC mellé, alkalmazni a gyári ajánlást.

Köszönöm még egyszer a segítségeket, legközelebb többet olvasok.
Következő: »»   771 / 1319
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem