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   1205 / 1206
(#) Hp41C válasza madzagos hozzászólására (») Máj 31, 2024 /
 
Kérdések:
Mekkora a kristály frekvenciája? Hogyan tesztelted? Nyomógomb felengedett állpotban indítva, az RB6 -on kellene négyszög jelet látni vagy nem nulla feszültséget mérni a Vss -hez képest.
Elindul-e az oszcillátor? Lehet az RA7 (16) és a RA6 (15) lábon látni valamilyen jelet vagy mérni nem nulla feszültséget.
A 4MHz egy határ az XT és a HS oszcillátor mód között. Ez eddigi hex -ek XT oszcillátort használtak.. Ez most HS oszcillátoros 4.0 MHz -s.
A hozzászólás módosítva: Máj 31, 2024
(#) Hp41C válasza madzagos hozzászólására (») Máj 31, 2024 /
 
Nem jó a fordító (language tool) elérési útvonala. Project / Set language tool location
(#) madzagos válasza Hp41C hozzászólására (») Máj 31, 2024 /
 
Szia 4MHz a kristály ami benne van. Tápegységre kapcsolva nem csinál semmit. Több db 628 - al is próbáltam. Mindkét üzemmódot.
16f84 - el alapból a 1200-át villog ki ha a nyomógombot benyomva tartom akkor a tesztüzem indul el.
(#) Hp41C válasza madzagos hozzászólására (») Máj 31, 2024 /
 
Fel tudod töltni azt a hex -et, amivel a 16F84 működik?
(#) Hp41C válasza madzagos hozzászólására (») Máj 31, 2024 /
 
Ez a tesztprogram csak a 16F628A RB6 lábán csinál kb. 1kHz -es négyszögjelet. Ez elindul?
A hozzászólás módosítva: Máj 31, 2024
(#) madzagos válasza Hp41C hozzászólására (») Máj 31, 2024 /
 
Kimásoltam a picböl.
(#) madzagos válasza Hp41C hozzászólására (») Máj 31, 2024 /
 
Minden szegmens elkezdett világítani. Kb 30 sec után. A 6-os lábon nincs jel.
(#) Hp41C válasza madzagos hozzászólására (») Máj 31, 2024 /
 
A 16F628A nem indul el. Van jel az RA7 (16) és a RA6 (15) lábon? A MCLR láb fel van húzva a tápra? Talán a 16F628 igényli a kondenzátorokat a quartz kivezetései és a föld kötött. Valamint egy 100nF kerámia kondenzátor is kellene a táp és a föld közé a pic közvetlen közelében elhelyezve.
Esetleg nem is sikerül felprogramozni rendesen.... Programozás közben az RB4 hova van kötve? Eléri-e a Vdd a 4.7V -ot programozás alatt?

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 kontrolleren az LVP engedélyezett.
A hozzászólás módosítva: Máj 31, 2024
(#) madzagos válasza Hp41C hozzászólására (») Máj 31, 2024 /
 
A kvarc mellett ott van a két kondi a pic táplábánál be van téve a100nf. A felprogramozás az működik. Más hexet a beégetek ugyanabba a picbe akkor működik a gyári ajánlás szerint vannak a lábak bekötve.
(#) Hp41C válasza madzagos hozzászólására (») Jún 1, 2024 /
 
Ez egy 7 utasításból álló program, ami a PORTB alsó 7 bitjén négyszöglelet generál. Elindul?
(#) Hp41C válasza madzagos hozzászólására (») Jún 1, 2024 /
 
Még egy kérdés: Mekkora a tápfeszültsgég? Az 16LF84A és a 16LF628A 4MHz -en 2.0V -tal már megy, de a 16F628A -nak 4MHz -en minimum 3V kell.
(#) Tomi111 válasza Hp41C hozzászólására (») Jún 1, 2024 /
 
Szia! A PicKit3 nem tudja sajnos a 93C66A-t! Próbáltam, nem megy.) Aztán néztem, PM3 programozót írnak hozzá. Mindegy, összedobok egy COM portost, aztán az icprog vagy ponyprog talán tudja.
(#) madzagos válasza Hp41C hozzászólására (») Jún 1, 2024 /
 
Szia most értem haza melóbol. A pic 5voltról megy. Meg is van a lábán az 5 volt. A tesztprogramot holnap reggel kipróbálom.
(#) Tomi111 válasza Hp41C hozzászólására (») Jún 1, 2024 / 2
 
Szia! Sikerült a másolás egy COM portra összedobott 3db ellenállásból és 3db zenerből álló "programozóval" és a ponyprogv207c-vel. Egyébként egy Baxi/Westen gázkazán paneljén lévő kivehető memória ("konfigurátor kulcs"). Egy 93C66A Eeprom és egy smd kondi van rajta. Csatoltam a képét, mennyiét adják és még programoztatni kell! 200Ft az alkatrészára, de persze üressel nem indul a kazán. Így egy másikból átmásolva tökéletes!
A hozzászólás módosítva: Jún 1, 2024
(#) madzagos válasza madzagos hozzászólására (») Jún 3, 2024 /
 
Köszönöm a segítséget megtaláltuk a 628 - ra lefordított programot. Az órához.
(#) Hp41C válasza madzagos hozzászólására (») Jún 3, 2024 /
 
Fel tudod tölteni ide a jót, hogy másnak ne kelljen ezt végigjárnia. Köszönöm...
(#) Unfi válasza Hp41C hozzászólására (») Jún 3, 2024 /
 
1 digites vezérlő
(#) kisgy hozzászólása Jún 3, 2024 /
 
Sziasztok!
Gépkocsimba szeretnék belső világítás vezérlést kreálni a fiókomban található 16f684-es PIC-et felhasználva. Itt a oldalon találtam is egy hasonló, némi átalakítással személyemre szabható mintát, amit potyo készített 2008-ban. Link
Ő 12f683-at használt Hi-Tech C fordítóval, én MikroC-t jelenleg, de ez most mindegy is.
Át böngésztem mindkét adatlapot, próbáltam megérteni is, de nagyon kezdőként nem jártam sikerrel.
Működik is, meg nem is.
A CCP modul PWM halványítás működik, viszont a számláló rész egyáltalán nem. Folyamatosan világít a próba ledem. Ami a fenti sárga szövegdobozban találhatő azokat elvégeztem.
Tudna segíteni valaki nekem?
(#) Bakman válasza kisgy hozzászólására (») Jún 4, 2024 /
 
Mutasd meg a teljes programot, hátha valaki látja a hibát.
(#) kisgy válasza Bakman hozzászólására (») Jún 4, 2024 /
 
Csak az első részét másolom be, a többi úgy is lényegtelen, mert már ez sem működik.
Próbáltam már többféleképpen de ugyan azt kaptam lényegében mindig, jelenleg ez az utolsó, ami kb ugyan az mint a potyoé.

Köszi!

  1. void main() {
  2.  
  3. #define bv_ajto         PORTA.RA0
  4. #define bv_nyit         PORTA.RA1
  5. #define bv_gyujtas      PORTA.RA2
  6. #define bv_zar          PORTA.RA4
  7. #define kzp_cst_nyit    PORTA.RA5
  8. // #define led             PORTC.RC5
  9.  
  10. #define VIL_IDO         5000
  11. #define HALV_IDO        3000
  12. #define BIZ_IDO         15000
  13.  
  14. #define HA_IDO          ((HALV_IDO/255)*255-1)
  15.  
  16. static unsigned szamlalo = 0;
  17. static unsigned short c = 0;
  18. static unsigned char ajto = 0, r_ajto = 0, gyujtas = 1;
  19.  
  20.      ANSEL=0;
  21.      CMCON0=0x07;
  22.  
  23.      PORTA=0b00001001;
  24.      TRISA=0b00110111;
  25.  
  26.      PORTC=0b00010100;
  27.      TRISC=0b00011100;
  28.  
  29.      PIE1=0;                                
  30.      T2CON=0b00000101;
  31.  
  32.      INTCON=0;
  33.      INTCON.PEIE=0;
  34.      INTCON.GIE=0;
  35.      CCP1CON=0b00001100;
  36.      CCPR1L=0;
  37.  
  38.      for (;;)
  39.      {
  40.            if (PIR1.TMR2IF)
  41.            {
  42.               PIR1.TMR2IF=0;
  43.               if (szamlalo)
  44.               {
  45.                  szamlalo--;
  46.                  if (szamlalo > HA_IDO)
  47.                  {
  48.                     CCPR1L=255;
  49.                     CCP1CON|=0b00110000;        
  50.                  }
  51.                  else
  52.                  {
  53.                    if (szamlalo > 100)
  54.                    {
  55.                       if (CCPR1L)
  56.                       {
  57.                          if (c)
  58.                          {
  59.                               c--;
  60.                          }
  61.                          else
  62.                          {
  63.                              CCPR1L--;
  64.                              c=HA_IDO/255;
  65.                          }
  66.                       }
  67.                    }
  68.                    else
  69.                    {
  70.                       CCP1CON&=0b11001111;
  71.                       CCPR1L=0;
  72.                    }
  73.                  }
  74.               }
  75.            }
  76.  
  77. //---------------------------BV_AJTÓ-------------------------------------
  78.  
  79.         if ((r_ajto^ajto)&bv_ajto)
  80.             {
  81.                if (ajto&bv_ajto)             // ha kinyílt az ajtó
  82.                {
  83.                      szamlalo = BIZ_IDO;        // biztonsági idő
  84.                }
  85.             }
  86.            else
  87.            {
  88.                if (gyujtas&bv_gyujtas)      // ha gyujtás van
  89.                {
  90.                   szamlalo = HA_IDO;       // elhalványul
  91.                }
  92.                else
  93.                {
  94.                    if (szamlalo > HA_IDO)      // ha nem halványult
  95.                    {
  96.                       szamlalo = VIL_IDO+HA_IDO;     //akkor újra indul
  97.                    }
  98.                }
  99.            }
  100.       }
(#) Bakman válasza kisgy hozzászólására (») Jún 4, 2024 /
 
Van egy ilyened:
  1. static unsigned szamlalo = 0;

Meg egy ilyened:
  1. if (szamlalo)

A feltételes vizsgálat előtt egyszer sem adsz egyéb értéket a "szamlalo" nevű változónak, így az a programrészlet soha nem hajtódik végre.
(#) kisgy válasza Bakman hozzászólására (») Jún 5, 2024 /
 
Valamiért most egyáltalán nem működik az egész, amint sikerült megtalálmon az okát kipróbálom és jelentkezek...
(#) kisgy válasza kisgy hozzászólására (») Jún 5, 2024 /
 
Kitöröltem nullát a szamlalo uán, illetve az if (szamlalo) sort is, de változatlan a működés
(#) sonajkniz válasza kisgy hozzászólására (») Jún 6, 2024 / 2
 
A C nyelv gyönyörei. Ez a feladat assembliben megírva sem hoszú, viszont belelátni a részletekbe.
Én PIC10F322-re írtam meg. Az ajtó becsukása után van egy 15 másodperces várakozás, aminek végeztével 4 másodperc alatt alszik ki teljesen a beltér lámpa.
Ha a motor beindúl, és az ajtó be van csukva, kimarad a 15 másodperc várakozás.
(Bár én nem a motor beindulására, hanem a gyújtás ráadására kötöttem rá.)
  1. ;*******************************************************************************
  2. ;*                         Kikapcsolás késleltető                              *
  3. ;*******************************************************************************       
  4.  
  5.         LIST    P=PIC10F322     ; lista megadása
  6.         RADIX   hex             ; alapértelmezet számrendszer megadása
  7.         #include "p10F322.inc"
  8.  
  9.  
  10.  __CONFIG _FOSC_INTOSC & _BOREN_OFF & _WDTE_OFF & _MCLRE_OFF & _LVP_OFF & _LPBOR_OFF
  11.  
  12.     CBLOCK  0x40
  13.     CIKLUS
  14.     ENDC
  15.  
  16.     org     0x0000
  17.     nop
  18.    
  19. INICIALIZALAS
  20.     CLRF    LATA              ;Kimenetek törlése
  21.     CLRF    ANSELA            ; Analóg bemenetek törlése
  22.     CLRF    ADCON             ;/
  23.     MOVLW   B'00001101'
  24.     MOVWF   TRISA             ;RA2 kimenetnek állítva
  25.     MOVLW   B'00010000'
  26.     MOVWF   OSCCON            ;PIC órajelének beállítása 250KHz-re
  27.     MOVLW   B'00000111'
  28.     MOVWF   OPTION_REG        ;Timer 0 beállítása kb 1 másodpercre.
  29. MAIN    
  30.     BTFSS   PORTA,0           ;Várakozás az ajtó nyitására
  31.     GOTO    MAIN
  32.     MOVLW   B'01111100'       ;T2 bekapcsolása. Utóosztó 16.
  33.     MOVWF   T2CON            
  34.     MOVLW   .124              ;(ami valójában 125) így a PWM frekvencia kb  
  35.     MOVWF   PR2               ;500Hz.
  36.     MOVLW   B'11000000'       ;PWM2 kiválasztása, bekapcsolása (RA1-es láb)
  37.     MOVWF   PWM2CON
  38.     CLRF    PWM2DCL
  39.     MOVLW   .125              ;Kitöltés beállítása 100%-ra (induló érték)
  40.     MOVWF   PWM2DCH
  41.     ;---------------
  42.     MOVLW   .15               ;Lekapcsolás várakozási idő beállítása (15 sec)
  43.     MOVWF   CIKLUS  
  44. BEMENETFIGYELES
  45.     BTFSS   PORTA,0           ;Ha az ajtót becsukják, indúl a késleltetés, majd
  46.     GOTO    KIVARAS           ;a halványítás rutin.
  47.     BTFSC   PORTA,2           ;Ha a motort beindítják kihagyja a késleltetést.
  48.     GOTO    HALVANYITAS
  49.     GOTO    BEMENETFIGYELES
  50. KIVARAS
  51.     BTFSC   PORTA,0           ;Ha az ajtót visszanyitják, a program újraindúl.
  52.     GOTO    MAIN
  53.     BTFSS   INTCON,2
  54.     GOTO    KIVARAS
  55.     BCF     INTCON,2
  56.     DECFSZ  CIKLUS
  57.     GOTO    KIVARAS
  58. HALVANYITAS
  59.     BTFSC   PORTA,0           ;Ha az ajtót visszanyitják, a program újraindúl.
  60.     GOTO    MAIN
  61.     BTFSS   PIR1,1            ;Ezen a ponton egyhelyben pörög a program, amíg
  62.     GOTO    HALVANYITAS       ;timer2 flag bitje bebillen.
  63.     BCF     PIR1,1            ;Töröljük timer0 jelz?bitjét.
  64.     DECFSZ  PWM2DCH           ;Ha a kitöltés 0%, elugrik VEGE rutinra
  65.     GOTO    HALVANYITAS          
  66. VEGE
  67.     CLRF    PWM2CON           ;Itt teljesen kikapcsol a PWM generátor és
  68.     CLRF    LATA              ;törl?dik a kimenet és leáll timer 2.
  69.     CLRF    T2CON            
  70.     GOTO    MAIN              
  71.                              
  72.     END
(#) kisgy válasza sonajkniz hozzászólására (») Jún 6, 2024 /
 
Elhiszem és megértem hogy hardver közeli az assembly, de nagyon kezdőként számomra egy nagy katyvasz, se eleje se vége dolog. Én is gyújtásra kötném majd rá, ez csak a feladat egy részlete lenne, persze ha rájönnék mi is a baj.
(#) Bakman válasza sonajkniz hozzászólására (») Jún 6, 2024 /
 
"Ezt nézd, mekkora az enyém..."
(#) sonajkniz válasza Bakman hozzászólására (») Jún 6, 2024 /
 
Te fordítva ülsz a lovon.
Semmi olyasmit nem írtam, hogy rövidebb lenne. Azt írtam, asm-ben sem hosszú.
Csak épp átlátni a működését.
(#) Bakman válasza kisgy hozzászólására (») Jún 6, 2024 /
 
Kezdjük az elején, mert elvesztettem a fonalat. LED villogtatás megy? Kontroller konfiguráció? Csak a kérdéses rész nem megy vagy semmi nem megy?
(#) Bakman válasza sonajkniz hozzászólására (») Jún 6, 2024 /
 
Kicsit több, mint egy éve már eljátszottátok ezt. Segíteni a konkrét kérdésben, na azt nem. Mutogatni, hogy milyen ügyesek vagytok, azt igen.
(#) sonajkniz válasza Bakman hozzászólására (») Jún 6, 2024 /
 
Na akkor segíts te nekem.
Nem ismerem az adott kontrollert, de gondolom, ha van benne CCPR1L, akkor CCPR1H-nak is kéne lennie.
Márpedig az eddig általam használt kontrollerekben a CCPR1H-t kellett leginkább feltölteni értékkel.
Következő: »»   1205 / 1206
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