Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   933 / 1320
(#) Hp41C válasza dtocy hozzászólására (») Márc 11, 2011 /
 
Az RB0 nem kimenetnek van beállítva véletlenül?
(#) dtocy válasza El_Pinyo hozzászólására (») Márc 11, 2011 /
 
A hardvert már megvizsgáltam, és biztos jó.
(#) dtocy válasza Hp41C hozzászólására (») Márc 11, 2011 /
 
Bemenetnek állítottam, de leírom az egész konfigurációt:
trisa=%11111011
trisb=%00000011
ansel=%00000011
intcon=%00000000
adcon1=%00000000
adcon0=%11000101
option_reg=%10000000
ccp1con=%00000000
(#) Zsora válasza dtocy hozzászólására (») Márc 11, 2011 /
 
CONFIG1 regiszter beállítása?
-CCPMX bit
(#) dtocy válasza Zsora hozzászólására (») Márc 11, 2011 /
 
Az a bit 0-n van.
(#) Zsora válasza dtocy hozzászólására (») Márc 11, 2011 /
 
A beállítások ezekszerint rendben vannak.
Esetleg:
- Elnézted a PIC lábát
- Zárlatban van a láb valamivel
- Hibás a PIC
- a programban valahol mégis hibás beállítást kap
- hiányzik a felhúzás

Kipróbáltad az RB0 lábat kimenetként is? Tudsz vele pl. LED-et villogtatni?
(#) dtocy hozzászólása Márc 11, 2011 /
 
Biztos vagyok benne, hogy a programban van a hiba. A hardver jó!
(#) Zsora válasza dtocy hozzászólására (») Márc 11, 2011 /
 
Akkor feldobhatnád ide a programkódot...
(#) dtocy válasza Zsora hozzászólására (») Márc 11, 2011 /
 
  1. program gomb
  2. dim szam as word
  3. dim szamok as string[3]
  4.  
  5. sub procedure hozzaad()
  6.   szam = szam + 1
  7.   if szam = 451 then
  8.     szam = 1
  9.   end if
  10. end sub
  11.  
  12. sub procedure kivon()                        
  13.   szam = szam - 1
  14.   if szam = 0 then
  15.     szam = 450
  16.   end if
  17. end sub
  18.  
  19. sub procedure szam()
  20.   WordToStr(szam, szamok)
  21.   Lcd_out(1, 10, szamok)
  22. end sub
  23.  
  24. main:
  25.   trisa=%11111011  
  26.   trisb=%00000011
  27.   ansel=%00000011
  28.   intcon=%00000000
  29.   adcon1=%00000000
  30.   adcon0=%11000101
  31.   option_reg=%10000000
  32.   ccp1con=%00000000
  33.   Lcd_Init(PORTB)
  34.  
  35.   szam = 50
  36.  
  37.   while TRUE
  38.     szam()
  39.  
  40.     if Button(PORTB, 0, 1, 0) then  
  41.       hozzaad()
  42.       szam()
  43.     end if
  44.  
  45.     if Button(PORTB, 1, 1, 0) then      
  46.       kivon()
  47.       szam()
  48.     end if
  49.  
  50.     Delay_ms(200)
  51.   wend
  52. end.
(#) jdani hozzászólása Márc 11, 2011 /
 
Hali. MCRL-re 1K vagy inkább 10K ellenállás?
(#) Zsora válasza dtocy hozzászólására (») Márc 11, 2011 /
 
Ez az Lcd_Init(PORTB) parancs nekem nagyon gyanús!
Nem fogja így használni az LCD-re írás a 0. bitet?
Nincs sehol definiálva hogy melyik bitet mire használod.

Példa:
  1. dim LCD_RS as sbit at LATD0_bit
  2. dim LCD_EN as sbit at LATD1_bit
  3. dim LCD_D4 as sbit at LATB0_bit
  4. dim LCD_D5 as sbit at LATB1_bit
  5. dim LCD_D6 as sbit at LATB2_bit
  6. dim LCD_D7 as sbit at LATB3_bit
  7. dim LCD_RS_Direction as sbit at TRISD0_bit
  8. dim LCD_EN_Direction as sbit at TRISD1_bit
  9. dim LCD_D4_Direction as sbit at TRISB0_bit
  10. dim LCD_D5_Direction as sbit at TRISB1_bit
  11. dim LCD_D6_Direction as sbit at TRISB2_bit
  12. dim LCD_D7_Direction as sbit at TRISB3_bit
  13. ...
  14. Lcd_Init()
(#) Zsora válasza jdani hozzászólására (») Márc 11, 2011 /
 
MCLR.
Több dologtól is függ az alkalmazott érték, de ebbe most nem akarok belemenni.
Én inkább a nagyobb R és kisebb C párost részesítem előnyben tehát: 10k. De akár választhatod a középutat is: 4,7k.
Ez nem túl tudományos válasz, mi?
(#) jdani válasza Zsora hozzászólására (») Márc 11, 2011 /
 
10K nem jó? Én olyat szoktam, de nem tudom hogy jó-e
(#) potyo válasza jdani hozzászólására (») Márc 11, 2011 /
 
Alapvetően az a baj, hogy halvány lila gőzöd nincs arról, hogy mi a szerepe annak az ellenállásnak, és hogy a szerepéből következően nincs egy fix érték, ami oda kell, hanem az oda alkalmas érték akár 4-5 nagyságrendben is lehet...
(#) Zsora válasza jdani hozzászólására (») Márc 11, 2011 /
 
Épp az előbb írtam hogy én is a 10kΩ-ost részesítem előnyben.
(#) potyo válasza trudnai hozzászólására (») Márc 11, 2011 /
 
Arra gondolsz, hogy van mondjuk 4 darab eeprom, de csak kétféle címük lehet, ezért mindig épp az aktuálisan használni akart példányt állítjuk az aktív címre, míg az összes többit a passzív címre állítjuk? Végülis működik, csak épp az I2C veszti el a szerepét...
(#) Zsora válasza potyo hozzászólására (») Márc 11, 2011 /
 
Azért 4...5 nagyságrend már nem megengedett, ugyanis van minimális és maximális érték, ami a szivárgási áramokból, a logikai szintekhez tartozó feszültségekből, ill. az egyéb kiegészítőalkatrészek értékéből adódik.
(#) potyo válasza Zsora hozzászólására (») Márc 11, 2011 /
 
0-100k között simán lehet attól függően, hogy mi az igény az áramkör többi része felé, az meg épp 5 nagyságrend.
(#) Zsora válasza potyo hozzászólására (») Márc 11, 2011 /
 
Épp emiatt. Ha ICSP-t is akarunk használni, akkor nem lehet az értéke túl kicsi, mert a programozó nem tudja a lábat lerántani alacsony szintre, ill. tápzártalot csinálunk. A túl nagy értéknél pedig a szivárgási áram miatt nem tud beállni a magas szint, ezért nem indul el a vezérlő vagy bizonytalanul működik.
(#) watt válasza Zsora hozzászólására (») Márc 11, 2011 /
 
Idézet:
„attól függően, hogy mi az igény az áramkör többi része felé”

Ez szerintem egyértelmű, nincs mit magyarázni. Lehet 0..100k. És mi is a 10k-t használjuk leginkább, és nem értjük jdani miért kérdezi meg, miután vagy 100ezerszer leírtuk itt, és biztos vagyok benne, hogy ő is itt járt akkor is...
(#) dtocy válasza Zsora hozzászólására (») Márc 12, 2011 /
 
Kösz!

Tényleg az lcd volt a hibás. Átraktam az RW-t egy másik lábra és már tökéletesen működik!
(#) SzT3 hozzászólása Márc 13, 2011 /
 
SZiasztok

Kérdésem lenne a Conrádba lehet venni ezt a panelt namost én ezt megvettem pár éve, de elkevertem a programját. . . esetleg megtudná valaki mondnai hogy mi tartozott hozzá? valami kiscd-n volt! esetleg ha valaki áttudná küldeni.
Előre is köszönöm
(#) icserny válasza SzT3 hozzászólására (») Márc 13, 2011 /
 
A "barátod" ezt az oldalt ajánlotta.
(#) Pepebá hozzászólása Márc 14, 2011 /
 
Hali!
Kezdő értetlensével teszem fel a következő kérdésemet,
(átolvastam a témával kapcsolatos fórum témákat) a Piccoló projekten keresztűl próbálom megérteni a PIC rejtelmeit, PIC 18F4550 mikrovezérlővel.
Sajna a C és az angol nyelv ismereteim enyhén szólva hiányosaak.
Konkrét kérdésem:
A projekt I2C támogatói függvényei és makrói a DS18B20 szenzor esetében is használhatóak? hasonlóan mint az LM75 esetében?
(Azt tudom hogy a két szenzor eltér egymástól)
Van esetleg valakinek 'szájbarágós' DS18B20 szenzor alkalmazására publikálható C forráskódja?
Üdv.
(#) kissi válasza Pepebá hozzászólására (») Márc 14, 2011 /
 
A Bővebben: Link C fordítója nagyon beszédes példákat mutat emlékeim szerint a DS1820-ra is ! és korlátozottan használható ingyenesen!

Steve
(#) Pepebá válasza kissi hozzászólására (») Márc 14, 2011 /
 
Hali!
Lehet hogy figyelmetlen vagyok, de csak LM75-re találtam.
Megnézem ismét.
Üdv.
(#) Pepebá válasza kissi hozzászólására (») Márc 14, 2011 /
 
Hali!
Köszi, igen megtaláltam. Remélem boldogulok is vele.
Üdv.
(#) icserny válasza Pepebá hozzászólására (») Márc 14, 2011 /
 
Idézet:
„A projekt I2C támogatói függvényei és makrói a DS18B20 szenzor esetében is használhatóak?”
Nem használhatóak, mert a DS18B20 hőmérő 1-wire kommunikációt használ, ami teljesen más, mint az I2C.

A "Dallas sorozatból" például a DS1621 és a DS1631 használható I2C buszon.
(#) Pepebá válasza icserny hozzászólására (») Márc 14, 2011 /
 
Hali!
Köszönöm ez érthető, akkor milyen porton és módon lehet 18F4550 esetén beolvasni a DS18B20-t?
(jelenleg ilyen szenzorom van)
Hasonló módon mint a példaprogramban 16F877 esetén?
Üdv.
(#) icserny válasza Pepebá hozzászólására (») Márc 14, 2011 /
 
Az AN1199 alkalmazási mintapéldából talán kiderül. Én nem találkoztam még ilyen eszközzel.
Következő: »»   933 / 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