Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   929 / 1320
(#) adamhollos hozzászólása Márc 3, 2011 /
 
A WPB-ben minden inverz pipát kiszedtem, az írást a leglassabbra állítottam , és késleltetést is tetem a program elejére. Mégsem írja a PIC-re!

Egyébként miért kell ki-be kapcsolni (mikor a program kiírja a képernyőre) égetés közben a Vpp-t?
(#) pic_nagyistvan hozzászólása Márc 3, 2011 /
 
Sziasztok!

Szeretnék egy kis segítséget kérni.
Hexában mit jelent ez a pár sor:
0x0000007F
0x00001F00 vagy pl.
0x000007FF

Köszönöm előre is!
(#) watt válasza pic_nagyistvan hozzászólására (») Márc 3, 2011 /
 
Bármit jelenthet. Pont azt, aminek értelmezi valami.
Hol láttad ezeket a sorokat?
(#) pic_nagyistvan válasza watt hozzászólására (») Márc 3, 2011 /
 
Egy PIC-es programot elemzek!
(#) rogers hozzászólása Márc 3, 2011 /
 
Hello.

Szeretnék kérdezni 1 eccerü dolgot de nekem most ez nem az.

Az alábbi kapcsolás van kialakitva 1 készülékbe. A lényeg hogy 5v-ot kapcsolok a picre 1k ellenálláson keresztül le kellene kezeljem hogy nem 0v van a bemeneten. Hogy tudnám c be lekerdezni mert itt ugye nem 1 vagy 0 van a code-ba ja és 8 lábu pic nincs analog bemenet rajta.

Köszi előre is
(#) Zsora válasza rogers hozzászólására (») Márc 3, 2011 /
 
Mit is szeretnél pontosan?
A logikai szintre vagy kiváncsi, vagy hogy a bemeneti feszültség adott határokon belül van-e?
Ha csak az 5V megléte a kérdés (és a pontos értéke lényegtelen), akkor elegendő a láb logikai szintjének lekérdezése: if PORTA { }

Megj.: A helyesírásod nem teljesen helyes...
(#) trudnai válasza rogers hozzászólására (») Márc 4, 2011 /
 
Ez egyszeru: Digitalis bemenetre kapcsolod a megfelelo labat, es megnezed azon a porton 0 vagy 1 van-e. Bemenet tipusatol fuggoen ha TTL-es akkor 1.8V kornyeke felett mar 1-nek latszik, ha ST-s (Smitt Triggeres) akkor valahol 4V kornyeken fog felkapcsolni -- adatlapbl ezek az ertekek kiderithetoek.

Ha rajzolsz egy kapcsolasi rajzot (nem ezt az abrat, hanem igazi kapcsi rajzot), akkor abbol tobbre megyunk. Legyen feltuntetve minden akatresz, legyenek bekotve Vdd Vss is stb szoval komplett aramkor kellene a pontos valaszhoz.
(#) icserny válasza pic_nagyistvan hozzászólására (») Márc 4, 2011 /
 
Idézet:
„Hexában mit jelent ez a pár sor: 0x0000007F 0x00001F00 vagy pl. 0x000007FF?”
32 bites számkonstansokat.
(#) icserny válasza rogers hozzászólására (») Márc 4, 2011 /
 
Idézet:
„8 lábu pic nincs analog bemenet rajta.”
Pedig akár lehetne is! (pl. PIC12F675)
(#) NickE hozzászólása Márc 4, 2011 /
 
Próbáltátok már a Microchip MCP79410 óra IC-t? Az appnote-okban található ajánlások alapján megépítettem, működik, de a 02h (hours) regiszter 5-ik bitje nekem billeg, ha tapizom a kvarcot vagy közel teszem a kezem. Sőt sokszor rosszul indul, be van billenve alapból az 5-ik bit, pedig nem kellene... Csináltam többet is, mind egyformán működik.

Elvileg a hours regiszterbe soha nem lehetne 00110001b érték, mert ez így 24h módban van és 31 óra az időpont.

Minden más jó eddigi teszek alapján, csak ez a 02h reg problémás.
(#) rogers válasza trudnai hozzászólására (») Márc 4, 2011 /
 
Köszi mindenkinek aki segit.

Rajzoltam hozzá 1 rajzot. A bemeneten 2,75v van vagy 0V.Nem tudtam 1 vagy 0 értéket olvasni a porton.Vagy lehet hogy nem jól látom?



Köszi

pic1.JPG
    
(#) vilmosd válasza rogers hozzászólására (») Márc 4, 2011 /
 
Hali
Ez a lab tobb funkcioval rendelkezik, tehat ha bemenetkent akarod hasznalni, a tobbi funkciot le kellene tiltani. Pl belso oszci modban lehet orajel kimenet, lehet T1G, vagyis a TMR1 kapuzas, lehet komparator. Tehat minden egyeb funkciot elobb le kellene tiltani, es utana megnezni mit csinal. Lehetne esetleg latni a forrast amivel probalkozol?
(#) palipityu hozzászólása Márc 4, 2011 /
 
Segítséget kérek az MPLAB-IDE C18-as program működéséhez.
PICKIT2-őt építenék, de nem pic18f2550-el.
A csavar csak annyi lenne hogy PIC18f4550-el (azonos család). Az eredeti microchip.com oldalról leszedett progit sem tudom beforgatni(MPLAB IDE 8.46 C18) ,ami a 2550-es kontrollerhez lett írva, de, nincs hex . Mindig valami hibát jelez! Kicsit idegesítő!
Nem szaporítanám a szót, ennyi a fordító üzenete :
Executing: "D:\MCC18\bin\mcc18.exe" -p=18F2550 /i"C:\PICkit_2\Firmware" -I"c:\mcc18\h" "main.c" -fo="C:\PICkit_2\Firmware\_output\main.o" -D__DEBUG -O- D:\Program Files\Microchip\Project_mintak\Minta_4\main.c:41:Error [1027] unable to locate 'typedefs.h' D:\Program Files\Microchip\Project_mintak\Minta_4\main.c:42:Error [1027] unable to locate 'usb.h' D:\Program Files\Microchip\Project_mintak\Minta_4\main.c:45:Error [1027] unable to locate 'usb_compile_time_validation.h' D:\Program Files\Microchip\Project_mintak\Minta_4\main.c:46:Error [1027] unable to locate 'pickit.h' D:\Program Files\Microchip\Project_mintak\Minta_4\main.c:47:Error [1027] unable to locate 'vpp.h' Halting build on first failure as requested. ----------------------------------------------------------------------
Köszönöm a segítséget.
(#) Hp41C válasza palipityu hozzászólására (») Márc 4, 2011 /
 
Szia!

- Lényegesen rövidebb elérési útra van csak lehetőség a fordító programban.

- Ha a PORTE 0..2 és a PORTD 7..0 lábait nem hagyod lebegni, akkor minden további következmény nélkül be lehet programozni a 18F2550 -re fordított kódot a 18F4550 -be is.
(#) nedudgi válasza palipityu hozzászólására (») Márc 4, 2011 /
 
Szerintem Te is elvesztetted a fonalat a különböző fejlesztőrendszer telepítések között! Nekem is volt hasonló problémám, amikor meg akartam adni, hova települjenek az IDE programjai. A legjobb, ha az ember hagyja az alapértelmezett helyre telepíteni a dolgokat.
Az 'autoexec.nt' nevű fájlt sajnos kézzel kell helyretenni.
(#) adamhollos hozzászólása Márc 4, 2011 /
 
Sziasztok

Hogyan tudom le elenőrizni, hogy müködik-e egy pic(16f690) vagy sem?
(#) Ideiglenes válasza adamhollos hozzászólására (») Márc 4, 2011 /
 
Én úgy szoktam, hogy valamelyik lábára küldök ki váltakozva alacsony és magas értéket. Aztán egy led-del láthatóvá lehet tenni, hogy van változás vagy nincs.
(#) vicsys válasza Ideiglenes hozzászólására (») Márc 5, 2011 /
 
Igen, de ekkor csak az I/o van ellenőrizve. A többi perifériához több program kell.
(#) Attila86 hozzászólása Márc 5, 2011 /
 
Bő két órányi szenvedés után rájöttem hogy valamiért nem működik jól a 24bit bináris->8digit BCD átalakító rutinom amit még anno valamikor valahonnan lőttem a netről. Kerestem másikat de az meg még rosszabb, vagy csak én nem tudom életre kelteni.

Tud valaki mutatni nekem egy olyat ami tuti hogy jó? Assembly-ben kellene és 18F-re...
Mindjárt feladom és inkább írok egyet magam.
(#) Hp41C válasza Attila86 hozzászólására (») Márc 5, 2011 /
 
Szia!

Ha jól emlékszen a shift -előst csináltad meg, abban az a buktató, hogy a BCD digitek változó területének címe 4-gyel osztható címen kell kezdődnie. Talán beszúrtál elé néhány változót?.?

Ha nem tudod garantálni a cÍmet, akkor a belső ciklusban az
  1. btfss   FSR0L,2,A
utasítás helyett azt kellene vizsgálni, hogy eljutott-e a terület végére.
(#) Attila86 válasza Hp41C hozzászólására (») Márc 5, 2011 /
 
Szia!

Ezt használtam eddig, ez a hibás:
  1. KONV_24bit_8digit
  2.  ; Convert 24 bit binary number
  3.   ; in TEMP+7:TEMP+6:TEMP+5
  4.   ; to a 32 bit packed BCD number
  5.   ; in TEMP+3:TEMP+2:TEMP+1:TEMP
  6.  
  7. ; 24 bit binary to BCD converter
  8.         rcall   ClearTemps
  9.         movwf   PRODL
  10.    
  11.         bcf             STATUS,C,A
  12.         bra             BIN2BC2
  13.    
  14. BIN2L:
  15.         lfsr    FSR2,TEMP
  16. BCDADJ:
  17.         movlw   0x33
  18.         addwf   INDF2,F,A
  19.         btfsc   INDF2,3,A
  20.         andlw   0xF0
  21.         btfsc   INDF2,7,A
  22.         andlw   0x0F
  23.         subwf   POSTINC2,F,A
  24.         btfss   FSR2L,2,A
  25.         bra             BCDADJ
  26.    
  27. BIN2BC2:
  28.         rlcf    TEMP+5,F,A    ; Shift Binary bytes
  29.         rlcf    TEMP+6,F,A
  30.         rlcf    TEMP+7,F,A
  31.    
  32.         rlcf    TEMP,F,A      ; Shift BCD    bytes
  33.         rlcf    TEMP+1,F,A
  34.         rlcf    TEMP+2,F,A
  35.         rlcf    TEMP+3,F,A
  36.    
  37.         decfsz  PRODL,F,A     ; Loop for 24 times
  38.         bra             BIN2L
  39.  
  40.         swapf   TEMP+3, w
  41.         andlw   0x0F
  42.         movwf   digit8
  43.         movf    TEMP+3, w
  44.         andlw   0x0F
  45.         movwf   digit7
  46.  
  47.         swapf   TEMP+2, w
  48.         andlw   0x0F
  49.         movwf   digit6
  50.         movf    TEMP+2, w
  51.         andlw   0x0F
  52.         movwf   digit5
  53.  
  54.         swapf   TEMP+1, w
  55.         andlw   0x0F
  56.         movwf   digit4
  57.         movf    TEMP+1, w
  58.         andlw   0x0F
  59.         movwf   digit3
  60.  
  61.         swapf   TEMP, w
  62.         andlw   0x0F
  63.         movwf   digit2
  64.         movf    TEMP, w
  65.         andlw   0x0F
  66.         movwf   digit1
  67.  
  68.         RETURN
  69.    
  70. ClearTemps:
  71.         clrf    TEMP,A
  72.         clrf    TEMP+1,A
  73.         clrf    TEMP+2,A
  74.         clrf    TEMP+3,A
  75.         retlw   .24

Nem tudom már hogy honnan van. Az FSR0-ás mutatót én írtam át FSR2-re mert az előbbit más célra használom. Illetve én bontottam ki az eredményt a nyolc külön bájba.
(#) Hp41C válasza Attila86 hozzászólására (») Márc 5, 2011 /
 
Szia!
Én írtam át a belinkeltet 16C73 -ra írt verziót 18F252 -re és 18F2523 -ra. Tényleg a változó elhelyezésével lesz a gond:
  1. CBLOCK  0x000                           ; ACCESS BANK Can be accessed ACCESS, BANKED or indirectly
  2.                 TEMP:   .8                              ; Temporary reg

Esetleg a PRODL regisztert egy megszakítás használja?
Melyik számra nem működik jól?
(#) Attila86 válasza Hp41C hozzászólására (») Márc 5, 2011 /
 
PRODL-t szerintem nem használok megszakításban, de utánanézek.

Például a 19144-el nem működik:
digit8=0
digit7=0
digit6=0
digit5=0
digit4=11
digit3=15
digit2=4
digit1=4
(#) Hp41C válasza Attila86 hozzászólására (») Márc 5, 2011 /
 
A .19144 = 0x4AC8. A TEMP címe 0x000. Ha a (TEMP+5)=0xC8, (TEMP+6)=0x4A (TEMP+7)=0x00 a rutin hívásakor, a
  1. decfsz  PRODL,F,A; Loop for 24 times
  2. bra   BIN2L

után megállítva
(TEMP+0) = 0x44, (TEMP+1) = 0x91, (TEMP+2)=0x01, (TEMP+3) = 0x00, azaz a BCD szám 00019144 lesz.
(#) Attila86 válasza Hp41C hozzászólására (») Márc 5, 2011 /
 
Köszönöm!
A TEMP regisztereket az UDATA_ACS direktíva után tettem közvetlen és így már jónak tűnik.
(#) Hp41C válasza Attila86 hozzászólására (») Márc 5, 2011 /
 
Örülök, hogy megvan a hiba... Már több, mint fél éve megy a rutin a frekvenciamérőmben (18F252, 18F2523)...
(#) Attila86 válasza Hp41C hozzászólására (») Márc 5, 2011 /
 
Nekem meg a panelmérőimben. Tulajdonképpen akkor az ő ellenállás-méréseik is hibásak... Érdekes hogy eddig ez nem tűnt fel.
(#) Attila86 válasza (») Márc 5, 2011 /
 
Persze, mert belső oszcillátorról megy.
(#) emmzolee hozzászólása Márc 5, 2011 /
 
Egy kérdésem lenne.

Az ATTINY2313-20PU , és az ATMEGA8 .
Fel programozható-e a Szilva féle Pickit klónnal?

Köszi előre is.
(#) trudnai válasza emmzolee hozzászólására (») Márc 6, 2011 /
 
Alapjaban veve a pickit2 nem AVR-ek programozasara lett kitalalva, de PK2AVRISP-vel nincs kizarva, hogy lehetseges. Jobb lenne azonban ha egy speci AVR programozot szereznel be vagy epitenel meg.
Következő: »»   929 / 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