Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   31 / 1320
(#) potyo válasza Csirgli hozzászólására (») Ápr 22, 2007 /
 
A 16F57 adatlapja alapján nekem ez nem tűnik megoldhatónak.
(#) Csirgli válasza potyo hozzászólására (») Ápr 22, 2007 /
 
Megoldható, mert meg volt oldva. Azt kéne reprodukálni.

én valahogy így csináltam:

prescaler: 265, tmr0- timer,


MAIN
7. bit lefutó -> tmr1 regiszter nőljön 1-gyel
...
CALL TEMPO, amikor kell nézni
-> TEMPO
tmr1-et lementem
kimenet a láb
1-es a kimenet
várok, míg feltöltödik a kondi a 270-esen keresztül (számláló csökken míg 0 nem lesz, akkor továbbmegy, egyébként vissza a csökkentéshez)
bemenet a láb
beolvasom a lábat minden cél nélkül(ha nem olvasod be nem működik, nem tudom miért...)
RETLW 0x00

folytatódik
...
GOTO MAIN
END

ha a lábon lefutó él van lementem a tmr1 állapotát
start idő - stop idő = időállandó

a probléma az, hogy a lefutó élet nem lehet érzékelni valamiért ( a feltétel nem teljesül, kicsit nagyon pereg a bemenet)

gondolkoztam azon, hogy integrálom a bemenetet (ha 1 -> +1 a szamlalo2- höz, ha 0 akkor -1 feltéve hogy nem nulla)

ha kisebb mint 2 -> 0-nak veszem a bemenetet, ha nagyobb mint 1 akkor pedig 1-nek az adott pillanatban

és erre lefutó élezek

van egy jelző led, ami jelzi, hogyha a bementet olvasása 1-es (világít) vagy nulla (nem világít)

viszont ez nem villog, de világít, amikor kell (mondjuk nem tudom megmondani ezt biztosra, mert a "műszerem" valami 32 Hz-ig látja a villogást..., a pic meg ugye gyorsabb)



(#) watt válasza Csirgli hozzászólására (») Ápr 22, 2007 /
 
A korábbi programhibáidból kiindulva szerintem valamit nem jól csinálsz, de ne kérd, hogy mi találjuk ki, minden infó nélkül, hogy mit.
Kész megoldásokat kérsz, amik nincsenek.

Ha jól értem a rajzon az az áramkör van, ami eddig is volt a C-s PIC-en? Nem változtattál semmit? Biztosan úgy működött régen ahogy most Te gondolod? Jó lenne, ha mi is tudnánk mit kéne mérned!
(#) Csirgli válasza watt hozzászólására (») Ápr 22, 2007 /
 
Igen, ez volt rajta. ez egy állítási lehetőség volt, hogy az állapototk milyen gyorsan váltogassák egymást.

Hogy hogyan működött? azt nem tudom, nincs meg a régi program. ezért kéne valamit kitalálni.

És mint ahogy írtam, nem kész programot kérek, mert tudom hogy nincs.

egyébként csak ötleteket kértem, hogy egy ilyen kapcsolás esetén a potméter állásával arányos regiszter értéket hogyan lehetne csinálni, a kitétel meg szért volt, hogy ne ilyen választ kapjak rá: írj programot...
(#) watt válasza Csirgli hozzászólására (») Ápr 22, 2007 /
 
Nos a korábbi leírásod szerint nem értem pontosan amit próbáltál, ezért ha ugyanazt írom(csak érthetőbben ), akkor ne essél nekem, hogy ezt próbáltad!

Naszóval. Első körben fel kell tölteni a kondit, ahhoz pedig a lábat kimenetnek kell konfigolni. Ez a 270ohm-on keresztül gyorsan megvan, de időt kell hagyni, hogy megtörténjen rendesen(most nincs kedvem számolgatni, ezt rád bízom).
Ha ez megvan, akkor a lábat bemenetnek kell konfigolni, és várni, míg a kondi az 1megás poti állásától függően kisül. Ha a láb L szintű, akkor ez megtörtént. Nem lehet prell, mert csak egyszer billenhet át a bemenet, utána újból tölteni kell a kondit a következő periódushoz.

Ezt a ciklust be kell építeni a fő ciklusba és folyamatosan figyelni, kezelni a lábat. Egy jelzőbit kell az állapot jelzésére a főprogramban. Ezt a bitet a feltöltéskor törlöd, a kisütés érzékelésekor beállítod, jelezve, hogy itt az idő a ténykedésre...

Nem látom, hogy ez miért ne működne, tehát rajta!
(#) Csirgli válasza watt hozzászólására (») Ápr 22, 2007 /
 
úgy néz ki megvan a baj.

Ilyet ne csináljatok (legalábbis 16F57-tel:

movf regiszter, 0 ;regiszter ->w
:violent:rlf w ,0 :violent: ; w-t w-ben shifterli, eredmény w-ben

(#) watt válasza Csirgli hozzászólására (») Ápr 22, 2007 /
 
Mintha már említve lett volna, hogy ne használjunk számokat, ha lehet betűket is!
0=W, 1=F
........................
(#) potyo válasza Csirgli hozzászólására (») Ápr 22, 2007 /
 
Eszünkbe sem jutott, ugyanis az RLF utasításnál az adatlapban ott van, hogy csak fájlregisztert lehet balra forgatni vele. Amit az RLF w, 0 csinál, az a következő: balra forgatja a nullás regiszter tartalmát, mivel a w konstans, értéke 0. A nullás regiszter pedig az INDF regiszter, ami az indirekt címzés adatregisztere. Hogy valójában mit forgat balra, az attól függ, mi van az FSR regiszterben. Ez pedig bekapcsolás után véletlenszerű értéket vesz fel. Tehát előre nem látható, hogy mi lesz a W-ben a fenti utasítás hatására.
(#) Csirgli válasza potyo hozzászólására (») Ápr 23, 2007 /
 
hogy a work regiszter nullás-e, azt én nem tudhatom, minden esetre ez volt a baj. Amúgy remélem, hogy amit leírtál, azt legalább te érted, minden esetre nem fgom használni a forgatást a W- ben
(#) potyo válasza Csirgli hozzászólására (») Ápr 23, 2007 /
 
Idézet:
„hogy a work regiszter nullás-e, azt én nem tudhatom, minden esetre ez volt a baj. Amúgy remélem, hogy amit leírtál, azt legalább te érted, minden esetre nem fgom használni a forgatást a W- ben”
De tudhatod, mert amikor a kódban te valahová írsz egy w-t egyedül, akkor az nem a work regisztert jelenti, hanem az MPLAB kicseréli a w-t 0-ra, mivel a w konstansként nullának van definiálva. Ha pedig ez vessző előtt (fájlregiszter helyén) áll, akkor a parancs a 0. fájlregiszterrel fog csinálni valamit, ha vessző után áll, akkor pedig azt jelenti, hogy a work regiszterbe fog kerülni a művelet eredménye.
Tehát a work regisztert nem lehet forgatni, mert az nem létezik fizikailag a fájlregiszterek között a kisebb (10F, 12F, 16F) piceknél. Ha a work regiszter tartalmát kell forgatni, akkor muszály először beírni valahová, és utána azt a fájlregisztert forgatni, aminek az eredményét már lehet a work-be tenni. Pl. így:
MOVWF TMP
RLF TMP, W
(#) Csaplar hozzászólása Ápr 24, 2007 /
 
Sziasztok!

Lenne egy technikai jellegű kérdésem!

Van egy 16f877-es próbapanelem és beszereztem hozzá egy 2x4-es billentyű-mátrixot! Hogyan tudnám hozzá csatlakoztatni?
Nem csináltam még ilyet abszolút, úgyhogy le tudnátok "részletesen" írni, hogy mit is kellene csinálnom??? (Mit és hova kell forrasztani?)

Előre is köszi! :vigyor2:

Zotya
(#) Csaplar hozzászólása Ápr 24, 2007 /
 
Az egyszerűség kedvéért belinkelem a 16f877-es doksiját:
http://www.stud.u-szeged.hu/Toth.Peter.3/fd1.pdf
(#) watt válasza Csaplar hozzászólására (») Ápr 24, 2007 /
 
Dehiszen a demo panelen van billentyűzet, az nem jó? Vagy mi okból akarod ezt csatlakoztatni?

Egyébként ha felnézel az oldalamra, akkor a PIC infók között találsz billentyűzetes példát. Az ne zavarjon, hogy 18F-re készült, a lényeget kell megérteni belőle.
(#) Csaplar válasza watt hozzászólására (») Ápr 25, 2007 /
 
Hali!

Bocs a késő reakcióért! Nem, egy külső 2x4-es mátrixot raktam hozzá, mert az lesz a végső készüléken is és így egyszerűbb tesztelnem!

Elnézést a kellemetlenségért, csak egy kis időbe telt, mire rájöttem, hogy a proci melletti lyukakat éppen nekem találták ki!
(#) majorblink hozzászólása Ápr 27, 2007 /
 
Sziasztok!

A Timer2 akarnám beüzemelni, de nem megy. csak szimulátoron keresztül próbálgatom. Nem hajlandó működni.
Nem sok paramétere van így nem tudom mi lehet a baj.

BSF T2CON,T2CKPS0 ;előosztás nincs
BSF T2CON,T2CKPS0
BSF T2CON,TMR2ON ;Timer indítás

Ezután el kéne kezdenie a TMR2-őt inkrementálni az órajel ütemében, nem?? Vagy valamit lehagytam?
(#) majorblink hozzászólása Ápr 27, 2007 /
 
Ezzel is kipróbáltam(a neten találtam). De nem megy. Valaki tudna segíteni?

;TMR2 INICIALIZÁLÁSA
CLRF T2CON ;STOP TMR2, 1:1 el!osztó, 1:1 utóosztó
CLRF TMR2
BSF STATUS,RP0 ;BANK1
CLRF PIE1 ;periféria IT-k tiltása
BCF STATUS,RP0 ;BANK0
CLRF PIR1 ;periféria IT jelz!bitek törlése
MOVLW b'1110010' ;utóosztó 1:15, el!osztó 1:16
MOVWF T2CON ;TMR2 kikapcsolva
BSF T2CON,TMR2ON ;TMR2 indítása
;TMR2 figyelés pollinggal
T2_TULCS_TESZT
BTFSS PIR1,TMR2IF ;túlcsordult?
GOTO T2_TULCS_TESZT
BCF PIR1,TMR2IF ;túlcsordult, jelz!bit törlése
(#) potyo válasza majorblink hozzászólására (») Ápr 27, 2007 /
 
Milyen szimulátorral nézed? MPLAB-ban ha csak ezt az egy sort teszem a kódba, akkor is elindul a Timer2:
  1. BSF T2CON,TMR2ON

Melyik chip?
(#) szabics hozzászólása Ápr 28, 2007 /
 
Keresek olyan kollégát akinek van pic htech forditója!
(#) majorblink válasza potyo hozzászólására (») Ápr 28, 2007 /
 
MPLAB-bal nézem én is (7.3).
PIC16F916 adatlapja szerint van timer2-je...

(#) majorblink válasza majorblink hozzászólására (») Ápr 28, 2007 /
 
Na megvan a hiba... Olyan utasítás után próbálgattam, amelyik másik Bankban volt

Pedig már jártam így...
Azért köszönöm a segítséget!
(#) 5cmarzo hozzászólása Máj 3, 2007 /
 
Hy!

Tud valaki egy egyszerű, működő példaprogramot 16F84-es mikrokontrollerhez? Ha lehet .asm formátumban!
Előre is kössz !
(#) KoLa hozzászólása Máj 3, 2007 /
 
Sziasztok!
Elkészült az égetőm. A következő lépés beszerezni néhány PIC-et és könyvet (Kónya László könyve). Kérdéseim:
-Ír-e PIC-re példákat a szerző, melyik PIC-et vegyem a tanuláshoz?
-16F84-re írt programot nagy varázslat átteni 16F628-ra, illetve 16F628A-ra? Egy LC-mérőről van szó, ami még 16F84-re íródott.
Előre is köszönöm!

(#) bbatka válasza KoLa hozzászólására (») Máj 3, 2007 /
 
1, Igen vannak példák a Kónya könyvében, néhol kicsit hibásak. Jól használható könyv egyébként.

2, A pénztárcádhoz illően vegyél PIC-et meg a feladattól függ hogy milyenre van szükséged. Általában kezdésnek jó a 16f628a. Legyen tartalék is belőle, bár nehéz tönkretenni őket. Egyszer egy 16f627-re 18V-os tápot kötöttem véletlenül. Ment vagy 10s-ig.

3, Át lehet írni. Semmi problem, csak kicsit figyelmes munka. A ChipCAD oldalán a letöltéseknél találsz egy magyar nyelvű leírást róla.

(#) tamas20 hozzászólása Máj 5, 2007 /
 
Sziasztok!

Nincs valami magyar nyelvű oldal ami ír valamit a pic programozásról? Pascalban lehet pic programot írni?

Előre is kösz. Tamás
(#) bbatka válasza tamas20 hozzászólására (») Máj 5, 2007 /
 
Én csak ezt ismerem.
pl.Mikropascalban
(#) potyo válasza tamas20 hozzászólására (») Máj 7, 2007 /
 
Ez egy elég jó leírás. Igaz, hogy 16F84-ről szól, de az alapokat tisztázza.
(#) potyo válasza potyo hozzászólására (») Máj 7, 2007 /
 
(#) WaRL0 hozzászólása Máj 7, 2007 /
 
Én még nagzyon kezdő vok ezen a téren.De nem tudom hogy mivel kezdjem. Valaki tudna rajtam segiteni???
(#) watt válasza WaRL0 hozzászólására (») Máj 7, 2007 /
 
Szerintem itt kéne elolvasnod egy cikket:
www.pic.hobbielektronika.hu/kapcs_pic-ekrol_kezdoknek.html
Aztán potyo és a korábbi linkeken található infókat megérteni, főleg egy adatlapot, pl. 16F84-esét kezdésnek, amit az oldalamon is megtalálsz.(kattints a nick-emre).
Érdemes a terminal elektro fórumon is keresgélni.
Érdemes Kónya László honlapjára rákeresni.
(#) WaRL0 hozzászólása Máj 7, 2007 /
 
kösz hogy segítettél
Következő: »»   31 / 1320
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