Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   556 / 1210
(#) don_peter válasza Bakman hozzászólására (») Aug 15, 2014 /
 
220 Ohm-os ellenállást teszek a LED és a föld közé az kb 22mA..
Jól írom?
Látom még a szabványokban elérhető a 270 Ohm is szóval még az is megoldható és akkor csak kb 18mA lenne.
A hozzászólás módosítva: Aug 15, 2014
(#) icserny válasza don_peter hozzászólására (») Aug 15, 2014 /
 
Idézet:
„egy 74HC595 shift regiszterre, ha ráaggatok 8db ledet és egyszerre tartósan villogtatóm vagy akár folyamatosan világítanának elbírná a shift regiszter gond nélkül?”

SN74HC595 adatlap legelején ez áll:

FEATURES
• 8-Bit Serial-In, Parallel-Out Shift
• Wide Operating Voltage Range of 2 V to 6 V
• High-Current 3-State Outputs Can Drive Up To
15 LSTTL Loads
• Low Power Consumption: 80-μA (Max) ICC
• tpd = 13 ns (Typ)
• ±6-mA Output Drive at 5 V
• Low Input Current: 1 μA (Max)
• Shift Register Has Direct Clear
(#) don_peter válasza icserny hozzászólására (») Aug 15, 2014 /
 
Ha ezt nézem akkor nem lehetne még 1db ledet sem rátenni, videókon pedig az látom, hogy egyszerre 8-at is rátesznek és gond nélkül működik.
Az adatlap nekem egyébként ezt írja: (csatoltam.)
(#) Hp41C válasza don_peter hozzászólására (») Aug 15, 2014 /
 
Használd inkább ezt: TPIC5B595
(#) nedudgi válasza don_peter hozzászólására (») Aug 15, 2014 /
 
A LED nem csak a megadott maximális nyitóirányú áram esetén világít. Használhatod sokkal alacsonyabb árammal is.
(#) aroxol hozzászólása Aug 16, 2014 /
 
Sziasztok!

Azt szeretném megkérdezni hogy hogyan lehet ebből a 2 számból összeadni úgy hogy 69 legyen az egyesszámjegy?

36 és 39 az eredeti adat. de sehogy nem jövök rá.
  1. LFSR 0,0X303
  2. MOVF INDF0,W   
  3. movwf EGYESSZAMJEGY
  4. movlw 30h
  5. subwf EGYESSZAMJEGY,1   ;KIVONUK 30-AT
  6. LFSR 0,0x304                   
  7. MOVF INDF0,W
  8. movwf TIZESSZAMJEGY            
  9. MOVF TIZESSZAMJEGY,W
  10. ADDWF EGYESSZAMJEGY
A hozzászólás módosítva: Aug 16, 2014
(#) Hp41C válasza aroxol hozzászólására (») Aug 16, 2014 /
 
Idézet:
„Azt szeretném megkérdezni hogy hogyan lehet ebből a 2 számból összeadni úgy hogy 69 legyen az egyesszámjegy?”

Az a kérdés, hogy a '6' és a '9' karakterek kódjából hogyan állítható elő a decimális 69 szám?
  1. LFSR 0,0X303
  2. MOVF POSTINC0,w
  3. andlw 0x0F
  4. movwf EGYESSZAMJEGY
  5. MOVF INDF0,w
  6. andlw 0x0F
  7. mullw .10
  8. movf PRODL,w
  9. addwf  EGYESSZAMJEGY,f
(#) aroxol válasza Hp41C hozzászólására (») Aug 16, 2014 /
 
Köszönöm szépen a segítséget!
(#) don_peter válasza Hp41C hozzászólására (») Aug 16, 2014 /
 
No ez már 500mA
Jóféle

nedudgi: igen ez igaz, de a fényereje minél kisebb áramot engedek neki annál kisebb.
A legrosszabb esetben akkor tranzisztorozok, de azt hittem elkerülhetem...
(#) aroxol válasza Hp41C hozzászólására (») Aug 16, 2014 /
 
Abban tudnál még segíteni hogy a végeredményt (69) hogy kapom meg Hex helyett Decimal-ban? Mert így hex 0X69

  1. LFSR 0,0X303
  2.     MOVF POSTINC0,w
  3.     andlw 0x0F
  4.     movwf EGYESSZAMJEGY
  5.     MOVF INDF0,w
  6.     andlw 0x0F
  7.     mullw .10
  8.     movf PRODL,w
  9.     addwf  EGYESSZAMJEGY,f
  10.         LFSR 0,0x304                   
  11.         MOVF INDF0,W
  12.         movwf TIZESSZAMJEGY    
  13.         movlw 30h
  14.         subwf TIZESSZAMJEGY,1   ;KIVONUKN 30-AT                
  15.         nop
  16.         MOVF TIZESSZAMJEGY,W
  17.         ADDWF EGYESSZAMJEGY,1
(#) Hp41C válasza aroxol hozzászólására (») Aug 16, 2014 /
 
A 10. - 17 sorokat töröld ki. A 9. sor a keresett értéket teszi a EGYESSZAMJEGY nevő változóba.
(#) aroxol válasza Hp41C hozzászólására (») Aug 16, 2014 /
 
Ok. de igy is csak hex-be teszi a dec helyett. Igaz csak 60-at mert nem adtam össze, de ez most lényegtelen.

reg.JPG
    
(#) Hp41C válasza aroxol hozzászólására (») Aug 16, 2014 /
 
Nem tudom, mit csinálsz rosszul, de nekem a szimulátorban az addwf EGYESSZAMJEGY,f utasítás eredménye az EGYESSZAMJEGY változóban 0x45 = decimális 69.
A mullw .10 végzi a szorzást.

26k22.jpg
    
(#) aroxol válasza Hp41C hozzászólására (») Aug 16, 2014 /
 
Nem tudom, nekem nem sikerül. Átküldenéd ezt a pár sort?
(#) Hp41C válasza aroxol hozzászólására (») Aug 16, 2014 /
 
Ennek a hozzászólásnak az első 9 sora.

26k22.asm
    
(#) morzsa15 hozzászólása Aug 17, 2014 /
 
Sziasztok!
Olyan problémám van hogy van egy 16f877 pic és mikor programozni akarok bele eredeti pickit 2-vel ezt a hiba üzenetet dobja: programming failed at program memory address 0x00000 mi lehet a probléma?
(#) Bakman válasza morzsa15 hozzászólására (») Aug 17, 2014 /
 
Másik 16F877 -est fel tudsz programozni? A PIC törlése megy?
(#) morzsa15 válasza Bakman hozzászólására (») Aug 17, 2014 /
 
Sajnos nincs másik. Igen a törlés az megy elméletileg rá is írja, ellenőrzésnél dobja ki a hibát.
(#) Hp41C válasza morzsa15 hozzászólására (») Aug 17, 2014 /
 
Törlés lemegy, a programozás is hibátlan, de amikor az ellenőrzés (Verify) gombot megnyomod, jön a hibejelzés? Nincs véletlenül a konfigurációs regiszterek mellett egy piros felirat? 'All propect' vagy 'Code protect' ?
(#) morzsa15 válasza Hp41C hozzászólására (») Aug 17, 2014 /
 
Én auto import-al szoktam programozni, és ott ráírja is mikor ellenőrzi akkor dobja ki ezt a hibát. Nincsen bekapcsolva semmilyen protect.
(#) Hp41C válasza morzsa15 hozzászólására (») Aug 17, 2014 /
 
Egy képet tölts fel a hibáról.
(#) morzsa15 válasza Hp41C hozzászólására (») Aug 17, 2014 /
 
Tessék itt a kép.

hiba.jpg
    
(#) Hp41C válasza morzsa15 hozzászólására (») Aug 17, 2014 /
 
Első lehetőség: Azt írod, hogy a PIC 16F877, de a képen 16F877A van. Milyen típus is a kérdéses kontroller? Ha 16F877 - mégiscsak van kódvédelem, jayítsd ki a konfigurációt 3F4A -ra.
A hozzászólás módosítva: Aug 17, 2014
(#) morzsa15 válasza Hp41C hozzászólására (») Aug 17, 2014 /
 
Igen 16F877A elírtam bocsi. Milyen kontroller.e gondolsz?
(#) aroxol válasza Hp41C hozzászólására (») Aug 17, 2014 /
 
Rájöttem hogy én fogalmaztam rosszul. 0x36 az hex és abból kellene hogy 60 legyen, de Dec.-ben. W-t hogy lehet Decimal-ba írni?
A hozzászólás módosítva: Aug 17, 2014

filereg.JPG
    
(#) Hp41C válasza aroxol hozzászólására (») Aug 17, 2014 /
 
Idézet:
„0x36 az hex és abból kellene hogy 60 legyen, de Dec.-ben.”

0x36 binárisan értelmeze 3*16 + 6 = 54 (decimális). 0x36 BCD -ben értelmeze 3+10+6 = 36 (decimális). Hogyan kellene kijönnie a decimális 60 -nak?
Watch ablakban a Decimal mezőbe kell beírni.
(#) aroxol válasza Hp41C hozzászólására (») Aug 17, 2014 /
 
Térjünk vissza a kályhához:
EGYESSZAMJEGY HEX: 0X39
TIZESSZAMJEGY HEX: 0x36 Ezt a 2 számot kell összeadni úgy hogy a végeredmény: Decimal-ban legyen 69. Watch ablakban a 0X39, és a 0X36 hex mezőben van.
(#) Hp41C válasza aroxol hozzászólására (») Aug 17, 2014 /
 
Ezt írtam le itt, csak a 0x303 -ban volt az egyes (0x39) és a 0x304 -ben volt a tízes (0x36) helyiérték, az eredmény pedig az EGYESSZAMJEGY -be került.
A képen látható rutin esetén a bemenet az EGYESSZAMJEGY (0x39) és a TIZESSZAMJEGY (0x36) az eredmény pedig a VEGEREDMENY változóba kerül.
De mi is olyan bonyolult ebben a feladatban????

26K22.jpg
    
(#) morzsa15 válasza Hp41C hozzászólására (») Aug 17, 2014 /
 
Akkor mi legyen? Mit tudok neki csinálni?
(#) Hp41C válasza morzsa15 hozzászólására (») Aug 17, 2014 /
 
Ellenőrizni kell a következőket:
- ICSP bekötés, tápfeszültség és a föld bekötése mind a két - két lábra, 100nF kerámia a táp és a föld közé. PGM láb alacsony szintre húzása. Rövid ICSP kábel használata, Fast programming mód kikapcsolása. A PICkit2 Tools / Troubleshoot menü végigmérése kontroller (16F877A) csatlakoztatása nélkül. Kipróbálni másik kontrollerrel és / vagy PICkit2 -vel.
Következő: »»   556 / 1210
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