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   1058 / 1203
(#) glaci válasza usane hozzászólására (») Dec 10, 2018 /
 
Ha az RE3 láb 0-t érzékel, vagyis az ok gomb megnyomásra kerül, akkor az LCD-n meg kéne jelennie a főmenünek. Ez nem történik meg.

  1. /*  kazánvezérlő */
  2.  
  3. //Pic18f46k80 belső RC oszcillátor 16Mhz
  4.  
  5.  
  6. // LCD module connections
  7. sbit LCD_RS at LATD2_bit;
  8. sbit LCD_EN at LATD3_bit;
  9. sbit LCD_D4 at LATD4_bit;
  10. sbit LCD_D5 at LATD5_bit;
  11. sbit LCD_D6 at LATD6_bit;
  12. sbit LCD_D7 at LATD7_bit;
  13.  
  14. sbit LCD_RS_Direction at TRISD2_bit;
  15. sbit LCD_EN_Direction at TRISD3_bit;
  16. sbit LCD_D4_Direction at TRISD4_bit;
  17. sbit LCD_D5_Direction at TRISD5_bit;
  18. sbit LCD_D6_Direction at TRISD6_bit;
  19. sbit LCD_D7_Direction at TRISD7_bit;    
  20. #define ok PORTA.RA3   // nyomógomb program megáll menü előugrik
  21. #define elore PORTA.RA0    //nyomógomb balra visszamozgat számol  +
  22. #define vissza PORTA.RA1   //nyomógomb jobbra előremozgat számol
  23. #define  szelect PORTA.RA2     //nyomógomb szelect
  24. #define start PORTA.RA5   // program futása
  25.  
  26.  
  27.  
  28.  
  29. //Timer0
  30. //Prescaler 1:64; TMR0 Preload = 3036; Actual Interrupt Time : 1
  31.  
  32. //Place/Copy this part in declaration section
  33. void InitTimer0(){
  34.   T0CON         = 0x84;           //megszakítási idő 1 sec
  35.   TMR0H         = 0x0B;
  36.   TMR0L         = 0xDC;
  37.   GIE_bit         = 1;
  38.   TMR0IE_bit         = 1;
  39. }
  40.  
  41. void Interrupt(){
  42.   if (TMR0IF_bit){
  43.     TMR0IF_bit = 0;
  44.   TMR0H         = 0x0B;
  45.   TMR0L         = 0xDC;
  46.     //ezt kell csinálnia
  47.     LATD.RD0= ~LATD.RD0;
  48.     meresi_ido++;
  49.   }
  50. }
  51. void uzem()
  52. {
  53.  Lcd_Out(1,1,"Fu:230C >230C Ve:70%");
  54.  Lcd_Out(2,1,"Tu:450C >450C  Kulso");
  55.  Lcd_Out(3,1,"B:23.5C >23.5C  ho");
  56.  Lcd_Out(4,1,"Viz:68C >68C  -15.5C");
  57.  
  58. }
  59. void main()
  60. {  
  61.  
  62.  
  63.     TRISA=1;                    //kezdetben a 0. láb és az 1. láb input, majd induláskor a begyujtás miatt output vagyis TRISA=60
  64.     TRISB=224;                   // az 5,6,7 lábak áramfigylő bemenetek lesznek, a többi láb motorvezérlő kimenet
  65.     TRISC=0;                     // minden láb kimenet
  66.     TRISD=0;                     //minden láb kimenet
  67.     TRISE=9;                     //az 1. és a 4. láb bemenet a többi kimenet. a 4. láb vagy analóg bemenet vagy digitális
  68.  
  69.    
  70.      LATB=0;
  71.      LATC=0;
  72.      LATD=0;
  73.      
  74.     InitTimer0();
  75.     Lcd_Init();      
  76.     Lcd_Cmd(_LCD_CLEAR)
  77.     Lcd_Cmd(_LCD_CURSOR_OFF);
  78.     uzem();
  79.  delay_ms(1000);
  80.  
  81.    
  82.  while(1)
  83.  {
  84.       if (!ok)
  85.       {
  86.         delay_ms(150);
  87.         Lcd_Cmd(_LCD_CLEAR);
  88.         fomenu();
  89.      }
  90.  }
  91. }
(#) bbb válasza glaci hozzászólására (») Dec 10, 2018 /
 
Egyetlen apró keresztkérdés ezzel kapcsolatban. Az LCD-n amúgy megy valami kijelzés mielőtt a gombot nyomnád? Vagyis biztosan a láb értékének változását nem detektálja? Nem "csak" a visszajelzésedben van a gond?
Az ilyen láb állapotváltozás nem működik dolgot egy sokkal egyszerűbb visszajelzéssel (LED megvillantása) ellenőrizném a helyedben.
(#) Elektro.on válasza glaci hozzászólására (») Dec 10, 2018 /
 
Szia!
Így gyorsan belenézve több mindent nem értek. Bár lehet , hogy csak az idő hiányom miatt.
-
Idézet:
„Ha az RE3 láb 0-t érzékel, vagyis az ok gomb megnyomásra kerül”

Ennek ellenére az összes #difine sorod valamelyik RA portra irányul.
TrisA =1 tehát RA.0 bemenet a többi kimenet. (RA.3 is amide definiáltad a nyomógombot)
Azonkívül itt nincs szerepe ebben a programrészletben, de...
Idézet:
„TRISE=9; //az 1. és a 4. láb bemenet a többi kimenet. a 4. láb vagy analóg bemenet vagy digitális”

a decimális 9 = bínáris 00001001 ami ugye RE port 0 és 3 bemenet a többi kimenet. A hozzáfűzött kommentel ellentétben.

Bocs ha valamit félre néztem a sietségben.
(#) usane válasza glaci hozzászólására (») Dec 10, 2018 /
 
Eddig jónak tűnik. Két hozzáfűznivalóm lenne.
1. - Esetleg más lábbal kipróbáltad működik-e tényleg a főmenű funkcoó mint azt bbb is kérdezte?
2. - Nem ismerem a mikroc lelkivilágát ezért kérdezem, biztos lehet tagadni egy definiált értéket? (!ok)
A hozzászólás módosítva: Dec 10, 2018
(#) glaci válasza bbb hozzászólására (») Dec 10, 2018 /
 
Igen az LCD-n az RE3 megnyomása előtt vannak kiírt sorok és amikor a gomb megnyomása megtörténik, akkor ez a kiírás törlődik és íródna ki egy másik sor, ami most egy másik gombra való átrakással működik is. Próbáltam ellenőrizni leddel is de az se villant. De a mellékelt mclre2 képen látható hogyha kikapcsolom az mclre bitet akkor az RG5 van engedélyezve, ami nincs is.
(#) glaci válasza usane hozzászólására (») Dec 10, 2018 /
 
1. - Igen egy másik nyomógombbal működik. Csak tudod egy picen mindig kevés láb van.
2. - Igen mert az if azt nézi hogy igaz e az állítás és ha igaz hogy a nyomógomb megnyomása 0-t ad, vagyis az ok negálása igaz.
(#) Bakman válasza glaci hozzászólására (») Dec 10, 2018 / 1
 
Idézet:
„mindig kevés láb van”
Nextion éintőképernyő? UART kapcsolat (csak két láb), annyi gomb, amennyi a kijelzőre ráfér. Vagy. Alternatív gombkezelés, lásd melléklet.

000480.jpg
    
(#) usane válasza glaci hozzászólására (») Dec 10, 2018 /
 
Értem. Még 2 dolgot tudok elképzelni. Mivel a képen amit csatoltál rossz gomb van hozzárendelve, lehet, hogy a mikroc valamit rosszul állít be. Próbáld kódban beállítani.
A másik amit Bakman is említett, hogy a 2x-es szériára kiiírt hiba az erratában kiterjed a 4x-es szériára is csak rossz az errata. A második esetben az a láb használhatatlan digitális bemenetként.

Szerk. esetleg ha nyákon van a cucc, forrasztási hiba vagy szakadás vagy ilyesmi.
A hozzászólás módosítva: Dec 10, 2018
(#) ttindian hozzászólása Dec 10, 2018 /
 
Hello. Segítséget kérek elindulni egy pic16f818 felprogramozására , mit kell figyelembe vegyek ? Csak úgy be akartam írni egy hex fájlt de ezt írta ki . lásd kép.

Bővebben: Link

wincip1.jpg
    
(#) pipi válasza ttindian hozzászólására (») Dec 10, 2018 /
 
Hali!
A kutya elásva az ablakod aljába van. Nem látja a programozót.
(#) ttindian válasza pipi hozzászólására (») Dec 10, 2018 /
 
Mielőtt elrontottam volna kiírtam , ezt nézd, ha bele nyúlok az eredetibe ( a kép felső része) nem sikerül, a kép alsó része mikor vissza írom a sajátját.

wincip111.jpg
    
(#) pipi válasza ttindian hozzászólására (») Dec 10, 2018 /
 
A második lehet hogy besült, de a tartalom???? , ott van 6144 hiba a hex beolvasásában.
Próbálj egy teljes törlést, utána ellenőrizd üres-e.
Csak úgy "egy akármilyen" hex fájlt nem biztos hogy be tudsz sütni, cím prioblémák is lehetnek...
Erre a procira készült a hex?
(#) ttindian válasza pipi hozzászólására (») Dec 10, 2018 /
 
A hex-et eböl olvastattam ki , igaz próbálkoztam más hexe-kel de mind pic16f818-ashoz voltak.

dumped.hex
    
(#) pipi válasza ttindian hozzászólására (») Dec 10, 2018 /
 
A képeden a 3. sor: kódvédett a pic...
Nézz bele a hex fájlodba szövegszerkesztővel, "üres/szemét" tartalom van benne.
Szóval ha valamit kiszedsz a szemétből, azt nem biztos hogy vissza tudod ugyanoda gyúrni
(#) ttindian válasza pipi hozzászólására (») Dec 10, 2018 /
 
mi a teendő? Valami úgyis történt vele mert most nem írja azt a hülyeséget , színesbe egyet játszik majd feketén forog.
(#) pipi válasza ttindian hozzászólására (») Dec 10, 2018 /
 
Bármi lehet rossz égető, rossz pic, a prg lábakon valami egyéb is csücsül, rossz a táp, rossz hex ami így elsőre eszembe jut. Milyen égetőd van, amit a winpiccel jasználsz?
Az ebayon/alin 2-3e ft egy pickit2/pickit3 klón, ennyiért nem éri meg mással kinlódni, vagy építeni, sajnos a postára várni kell...
Próbáld valahogy egyesével kizárni a lehetőségeket
(#) ttindian válasza pipi hozzászólására (») Dec 11, 2018 /
 
Működnek a winpicel? Van alieypres fiokom.Rendelek egyet.
(#) pipi válasza ttindian hozzászólására (») Dec 11, 2018 /
 
Miért kéne hogy a winpiccel működjön? Ott a pickit saját szoftvere, vagy mplab.
(#) jocking hozzászólása Dec 11, 2018 /
 
Üdv!
A következő problémával kapcsolatban kérnék segítséget.
Adott egy PicKit2 és egy 16F628A PIC. Előbbivel szerenék az utóbbiba programot "égetni". Igazából korábban már csináltam ilyet, de csak egyszer. Most megtaláltam az akkor használt égető panelt, amivel csak az a gondom, hogy nem tudom, mi alapján csináltam és hogy működik...

Tehát 2 kérésem/kérdésem lenne, ha bármelyik megvalósítható a kettő közül, az nekem már bőven elég.

1) Van valakinek kapcsolási rajza (esetleg panelrajz) 40 lábas univerzális égető panelhez? Az általam anno készített ilyen (3 sor lábfoglalattal, hogy keskeny és széles IC-k is belemenjenek), de nem tudom, hogy működik-e, nem épp azok a lábak vannak összekötve rajta, amikre a 16F628A-nak szüksége lenne.

2) Találtam rajzokat a 16F628A-hoz, amiken az látszik, hogy csak 5 lábbal kell kezdeni valamit:
- PicKit 1-es láb -> 16F628A 4-es láb, "Vpp"
- PicKit 2-es láb -> 16F628A 14-es láb, "Vdd"
- PicKit 3-as láb -> 16F628A 5-ös láb, "GND"
- PicKit 4-es láb -> 16F628A 13-as láb, "PGD"
- PicKit 5-ös láb -> 16F628A 12-es láb, "PGC"
- PicKit 6-os láb nincs használatban.
Ezek szerint ha a 16F628A fenti 5 lábat bekötöm a PicKit2-be, akkor működnie kell az égetésnek/programírásnak? Más lábat nem szükséges valamilyen fix jelre kötni?

Előre is köszönöm a segítséget.
(#) lóri válasza jocking hozzászólására (») Dec 11, 2018 /
 
Szia! Néha szokott hirdetni az apróban egy srác, aki árul ilyen univerzál is panelokat pic-ekhez. Igen, öt láb kell. Nincs a 6-os használva.
(#) Hp41C válasza jocking hozzászólására (») Dec 11, 2018 / 1
 
Idézet a 16F628A programozási leírásából:
Idézet:
„If LVP is not being used for programming and the LVP Configuration bit is set (i.e., LVP feature is enabled), the PGM pin must not be allowed to toggle while programming. The PGM pin is edge sensitive and if an edge is detected during programming, it may cause the PC to reset. If the LVP feature is disabled, the PGM pin will have no effect on programming.”

(Egy törölt kontrollerben az LVP engedélyezett.)
Ahhoz, hogy sikeres legyen a programozás az PGM lábat alacsony szinten kell tartani. Lehet ellenállással és lehet a PICkit AUX (6) lábbával is.
A hozzászólás módosítva: Dec 11, 2018
(#) ttindian válasza pipi hozzászólására (») Dec 11, 2018 /
 
Találtam hasonlot Bővebben: Link
igy tudsz mondani valamit rola?
(#) pipi válasza ttindian hozzászólására (») Dec 11, 2018 /
 
Nem értem a kérdést.
Ennek a gömbnek mi köze a winpic/pickithez?
(#) ttindian válasza pipi hozzászólására (») Dec 11, 2018 /
 
nem a gomb , alatta a következő termek arról beszélgetünk
(#) gerleimarci hozzászólása Dec 13, 2018 /
 
Sziasztok!

Van egy PICkit 3 programozóm. Egyik gépen tökéletesen működik (Win10), másik kettő gépen (Win7) pedig az alábbi hibát produkálja. Ha csatlakoztatva van a géphez és úgy próbálom meg elindítani a PICkit 3 Programmer nevű szoftvert akkor egyszerűen nem indul el csak miután kihúzom. Ha pedig a Tools/Check communication-ra rányomok, akkor pedig a képen látható hibaüzenetet dobja.

Ötlet?

pickit.PNG
    
(#) Hp41C válasza gerleimarci hozzászólására (») Dec 13, 2018 /
 
Még egyszer:
El kell felejteni a PICkit3 kezelő programjait. Kicseréli a firmware -t a programozóban, lényegében egy PICkit2 -t csinál belőle. Az a firmware, amivel megy nem kompatibilis az MpLab illetve az MpLabX programokkal.
Programozni az MpLabX alól vagy a MpLAbX IPE programjával.
Most lehet majd azzal szórakozni, hogyan lehet visszaállítani az MpLab kompatibilis módba.
A hozzászólás módosítva: Dec 13, 2018
(#) Elektro.on válasza Hp41C hozzászólására (») Dec 13, 2018 /
 
Én már eljátszottam ezt. PK3 klónom is van, de azt már csak az IPE vel használom.
Vissza lehet gyógyítani az eredeti firmware-t. de most éppen nem találom hová tettem.

Félve mondom, de talán a csatolt file? Régen játszottam vele, nem vagyok már biztos benne.
A hozzászólás módosítva: Dec 13, 2018
(#) gerleimarci válasza Hp41C hozzászólására (») Dec 13, 2018 /
 
A működő gépről elvileg vissza tudom állítani ugyanebből a szoftverből. Vagy az úgy nem lesz jó?
Akkor HEX file feltöltéséhez melyiket javasoljátok?
(#) usane válasza gerleimarci hozzászólására (») Dec 13, 2018 /
 
Idézet:
„Programozni az MpLabX alól vagy a MpLAbX IPE programjával.”
(#) Elektro.on válasza gerleimarci hozzászólására (») Dec 13, 2018 /
 
Én amikor ráhúztam a PK3 firmware-t és ezzel PK2 -sítettem, utána úgy tudtam visszaállítani, hogy a PK3 progival ráhúztam a gyárit. Utána természetesen a PK3 már nem látta. Azután használtam az MplabX IPE -t.
Következő: »»   1058 / 1203
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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