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   796 / 1210
(#) pajti2 válasza eSDi hozzászólására (») Máj 19, 2016 /
 
Nem is olyankor van problémám, amikor nyilvánvalóan csipesszel érdemes tartani a cuccot, hanem amikor nem is figyelek rá, mert valamit éppen kézzel érdemesebb megfogni, és csak pillanatra.. AÚÚÚÚ szóval valahogy így megy
(#) pajti2 válasza cross51 hozzászólására (») Máj 19, 2016 /
 
Oké, azóta már rátaláltam a hasonló termékek keresőjére is. Szerintem berendelek az egyikből egy 10-es csomagot, csak még annyi a zavaró, hogy azok az ellenállások / kondik, amik még a panelen vannak, jó lenne hozzá valami schematic (nem találtam olyan linket), és nem találom, hogy az ebay-en hogyan írhatok üzenetet az eladónak (megkérdezném tőle, de ahhoz sem találok linket).
A hozzászólás módosítva: Máj 19, 2016
(#) eSDi válasza pajti2 hozzászólására (») Máj 19, 2016 /
 
No igen, de erre is van megoldás. Mégpedig a kesztyű.
(#) pajti2 válasza don_peter hozzászólására (») Máj 19, 2016 /
 
Ha éppen nem a 68k-hoz akarod azt a nor flash-t hozzápakolni, ahol is promptra kell az adat szinkronban időzítve, hanem a pic vezérelné teljesen, lassanként te is neki fogsz esni az sd kártyáknak
(#) diablo válasza pajti2 hozzászólására (») Máj 19, 2016 /
 
Én felhúzó ellenállásoknak nézem őket és tápszűrő kondiknak.
(#) don_peter válasza pajti2 hozzászólására (») Máj 19, 2016 /
 
Ez látod könnyen megeshet, de egyelőre még nem akarok belekezdeni mert félek tőle kicsit. Mármint az SD vezérlésétől.
Az Inicializálást már megírtam, de az csak a könnyebb része volt, a fájl rendszer nehezebb lesz.

usane: na igen, ha így számolom ,akkor persze sokat elmegy még így is, de azért úgy tervezem, hogy több mint 5évig legyen használható.
A NOR FLASH-re 100e-t hoz, szóval legalább ezt ki kellene bírnia a PIC-nek is.
Amúgy a bootloader használata nem rövidíti ezt a ciklust? (persze ez is relatív, de ha már homár...)
(#) kriszrap hozzászólása Máj 20, 2016 /
 
Sziasztok
ennek a piknek:pic
belső órajele 16mhz????
A hozzászólás módosítva: Máj 20, 2016
(#) nedudgi válasza kriszrap hozzászólására (») Máj 20, 2016 /
 
Nem egészen. Az oszcillátor működik 16MHz frekvencián, a PLL bekapcsolásával 64MHz órajel állítható elő.
(#) usane válasza don_peter hozzászólására (») Máj 20, 2016 /
 
A bootloaderrel a programmemóriába írod a programot, te meg az adatmemóriába akarsz írni.
Az 5 év az eléggé eltúlzott adatokkal jött ki. Meddig fogod naponta töltögetni? Időd sem lesz rá, meg egy irő után már nem újdonság aztán elfelejted. Persze ez megint csak az én egyéni nézőpontom. Lehet, hogy te olyan megszállot vagy, hogy az év 365 napján minden nap használod és 10 percenként cseréled a programot.
Még ha nem így van is attól még tehetsz rá eepromot, nem nagy ügy, egy 8 lábú kütyü.
Viszont a PIC32-t drágáltad most meg hozzá akarsz adni újabb 1000-1200Ft-ot, valószínűleg feleslegesen. Igaz lehet úgy is nézni, hogy lesz egy kis tapasztalatod a soros eeprom kezelésben is, de az is eljöhet később is. Ismét hozzátenném se le- se rábeszélni nem akarlak. Te ismered a vágyaidat és persze a pénztárcádat is
(#) don_peter válasza usane hozzászólására (») Máj 20, 2016 /
 
Igen, még mindig drágállóm ezt a PIC-et.
De elvileg Microchip jóvoltából kapok belőle most jó pár darabot ingyen, és el tudom dönteni, hogy merre tovább.
Soros eepromokkal már dolgoztam, szóval ez nem lenne ügy, és van is itthon egy rakat, ezért az ingyenes is lenne, de abban igazad van teljesen, hogy minden csoda 3 napig tart.
Meglátom, hogy miképpen, de szerintem marad a PIC memóriája és majd meglátjuk meddig bírja szusszal
(#) petike199600 hozzászólása Máj 20, 2016 /
 
Sziasztok!

Azt szeretném megkérdezni, hogy van olyan a PIC-ben, hogy bekapcsolás bit?
Arra gondolok, hogy bekapcsoláskor fusson csak le az inicializálás, de ha mondjuk a watchdog resetel, akkor ne.
(#) Hp41C válasza petike199600 hozzászólására (») Máj 20, 2016 /
 
Van valami:
16F: STATUS TO és PD bitjei,
12F1, 16F1: PCON RI, POR és BOR bitjei és STATUS TO és PD bitjei
18F: RCON RI, TO, PD, POR és BOR bitjei,
(#) don_peter válasza petike199600 hozzászólására (») Máj 20, 2016 /
 
Erre való egy kapcsoló, vagy ha minden kép PIC-es gombnyomás akkor a Wake Up funkció.
(#) petike199600 válasza Hp41C hozzászólására (») Máj 20, 2016 /
 
Köszi!

Amúgy ezek hogy működnek? Fizikai bekapcsoláskor egy ideig magas, majd alacsony?

don_peter!
Neked is köszi, de ez micsoda, és hogy kell használni?
A hozzászólás módosítva: Máj 20, 2016
(#) kriszrap válasza nedudgi hozzászólására (») Máj 20, 2016 /
 
Mennyi akkor a belso orajel ????
Vagy nincs neki semmifele belso orajele ???
A hozzászólás módosítva: Máj 20, 2016
(#) kriszrap válasza kriszrap hozzászólására (») Máj 20, 2016 /
 
Vagy PLL hogy lehet bekapcsolni??? micro c brogramoznám
(#) Pali79 válasza kriszrap hozzászólására (») Máj 20, 2016 /
 
Idézet:
„Mennyi akkor a belso orajel”

Amennyit beállítasz.
(#) icserny válasza kriszrap hozzászólására (») Máj 20, 2016 /
 
Idézet:
„Mennyi akkor a belso orajel ????”

Az adatlapban az oszcillátor modul leírása (szűkszavűan) 20 oldal. Ugye, nem várod el, hogy ide bemásoljuk? Ha csak a maximális órajel érdekel: külső kvarccal (HS mode) vagy anélkül (HFINTOSC mode) 16 MHz a maximális frekvencia. A PLL ebből 64 MHz-et csinál. De a PIC18 mikrovezérlőknél a rendszer órajel (az utasításciklusok frekvenciája) az oszcillátor modul kimenő frekcenciájának a negyede: Fcy = Fosc/4. Így végeredményben az uasításciklusok frekvenciája max. 16 MHz.

Idézet:
„Vagy PLL hogy lehet bekapcsolni?”
HFINTOSC esetén az OSCTUNE regiszter PLLEN bitjének 1-be állításával. Külső kvarc vagy külső órajel esetén a konfigurációs biteket is nézd meg (CONFIG1H PLLCFG bitje)
A hozzászólás módosítva: Máj 20, 2016
(#) pompidu hozzászólása Máj 20, 2016 /
 
Sziasztok!

Egy kis segítséget szeretnék kérni, a napokban próbálunk egy RFID olvasót tesztelni, de valamiért az lcd-t nem tudjuk initalizálni mikroC-ben. Az lcd-t úgy kötöttük be, hogy csak 4 portot használ szóval D4-D7-ig van bekötve. A D0-D3-ig le van húzva földre az R\W lábbal együtt.
A program a következő:
  1. // LCD module connections
  2. sbit LCD_RS at RD0_bit;
  3. sbit LCD_EN at RD1_bit;
  4. sbit LCD_D4 at RD2_bit;
  5. sbit LCD_D5 at RD3_bit;
  6. sbit LCD_D6 at RD4_bit;
  7. sbit LCD_D7 at RD5_bit;
  8.  
  9. sbit LCD_RS_Direction at TRISD0_bit;
  10. sbit LCD_EN_Direction at TRISD1_bit;
  11. sbit LCD_D4_Direction at TRISD2_bit;
  12. sbit LCD_D5_Direction at TRISD3_bit;
  13. sbit LCD_D6_Direction at TRISD4_bit;
  14. sbit LCD_D7_Direction at TRISD5_bit;
  15. // End LCD module connections
  16.  
  17.  
  18.  
  19.  
  20. void main()
  21. {
  22.  
  23.   Lcd_Init();
  24.   Lcd_Cmd(_LCD_CLEAR);               // Clear display
  25.   Lcd_Cmd(_LCD_CURSOR_OFF);          // Cursor off
  26.   Lcd_Out(1,6,"Hello");
  27.  
  28.  
  29. }


A bekötést többször átnézem már, nem találtam benne hibát. Ez egy P16F877-es pic.
Valamit a programban rontunk el, vagy esetleg máshol keressük a hibát?
(#) usane válasza kriszrap hozzászólására (») Máj 20, 2016 /
 
Ha elolvasod az adatlap ide vonatkozó részét akkor válágossá válna amit nedudgi mondott.
Az órajel ás az oszcillátor nem ugyanaz. Enek a PIC-nek 16MHz-es belső oszcillátora van, és van benne egy 4x-es "többszöröző" amit ha bekapcsolsz akkor az órajeled 64MHz lesz. Viszont van előosztó is az oszcillátorhoz amit kettesével tudsz leosztani. 16, 8, 4, 2, 1MHz... vagy ha bekapcsolod a 4x-es PLL-t akkor ezek 4x-esei lesznek az órajelek. Az órajeleket az OSCCON regiszterekben szokás állítani, a PLL-t be lehet kapcsolni a config bitekkel is akkor mindíg megy, de ha ott ki van kapcsolva akkor szoftverből is lehet kapcsolni az OSCCON regiszter megfelelő bitjével.

Szerk: Látom icserny fórumtárs gyorsabb volt.
A hozzászólás módosítva: Máj 20, 2016
(#) nagym6 válasza pompidu hozzászólására (») Máj 20, 2016 /
 
LCD inicializálást nem látok, a program elején kell lennie. Ez kell, csak a portkiosztások amit linkeltél. Gyanítom, a mikroc sem automatikusan fordít bele init, hanem külön nekünk kell beírni. Help-ben mintaprogram segít.
A mikrobasic válozatnál az inicializálást alább, gondolom a mikroc-ben is hasonló lehet:
  1. Lcd_Init()                     ' Initialize Lcd
  2.  Lcd_Cmd(_LCD_CLEAR)            ' Clear display
  3.   Lcd_Cmd(_LCD_CURSOR_OFF)       ' Cursor off
  4.  delay_ms (100)

És még a kontraszt beállítás ha nem jó, működés esetén sem látni semmit. Állítsd félállásra, ahol halványan látszanak a kockák, akkor a működés biztosan látható. Ha már jó, akkor lehet pontosítani a kontrasztot.
A hozzászólás módosítva: Máj 20, 2016
(#) pompidu válasza nagym6 hozzászólására (») Máj 20, 2016 /
 
Ezt beírtam, ha lejjebb görgetsz a kódnál a void main után van.
(#) nagym6 válasza pompidu hozzászólására (») Máj 20, 2016 /
 
Késleltetés is segíthet, proci indulás után próbaképpen 100ms, és init után is 100ms késleltetéssel próbáld. Azaz init előtt és után 100ms.
(#) pompidu válasza nagym6 hozzászólására (») Máj 20, 2016 /
 
Megpróbálom este úgy is, ahogyan mondtad remélem ez segít.
(#) mrobi válasza pompidu hozzászólására (») Máj 20, 2016 /
 
Megnéztem mit fordít a mikroc. Jól gondoltam. A void main az ugye egy végtelen függvény. A programod azt csinálja, hogy inicializálja az lcd-t majd kiírja amit kell, és kezdi előröl. Valószínűleg Ez a gond. Tegyél be egy 20 másodperces késleltetést a 26. sor után. Akkor látni fogod, hogy miről beszélek.
(#) pompidu válasza mrobi hozzászólására (») Máj 20, 2016 /
 
Értem miről beszélsz, erre nem is gondoltam, ezt is megpróbálom.
(#) don_peter válasza pompidu hozzászólására (») Máj 20, 2016 /
 
Inkább egy szokásos while(1); ciklust tegyél a az init után.
(#) pompidu válasza don_peter hozzászólására (») Máj 20, 2016 /
 
És akkor a while ciklusba írjam az egész programot? Még egy dolog, a portoknak ilyenkor nem kell TRIS paranccsal megmondani, hogy amire az lcd kötve van az be vagy ki menet mert alapból értelmezi nem?
(#) don_peter válasza petike199600 hozzászólására (») Máj 20, 2016 /
 
Ezzel gyakorlatilag altatni lehet, (stand by) PIC-et és, egy külső gomb (megszakítás) felébreszti és megkezdi a program futtatását.
Az, hogy miképpen kell használni az adatlapban megtalálod, de még a google is fog sok segítséget, akár kész kódot is feldobni.
Elég egyszerű a használata, de a te programnyelveden nem tudom, hogy pontosan milyen utasítást kell kiadni. (sleep-re keress)
(#) don_peter válasza pompidu hozzászólására (») Máj 20, 2016 /
 
A main() függvényben gyakorlatilag a beállításokat futtatod le, de a főprogramod a while() ciklusba fog futni.
Most neked csak az kell, hogy lásd hogy ki írja a szöveget az LCD kijelzőre.
  1. void main()
  2. {
  3.  
  4.   Lcd_Init();
  5.   Lcd_Cmd(_LCD_CLEAR);               // Clear display
  6.   Lcd_Cmd(_LCD_CURSOR_OFF);          // Cursor off
  7.   Lcd_Out(1,6,"Hello");
  8.  
  9.  while(1);    // végtelen ciklus
  10. }

Ezzel elkerülöd a végtelen resetelését a PIC-nek, mert beragad a while() ciklusban és ott elpörög magába...
A hozzászólás módosítva: Máj 20, 2016
Következő: »»   796 / 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