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   1180 / 1180
(#) llaczo hozzászólása Aug 22, 2022 /
 
Sziasztok.
Nem tudom konfigurálni a PIC18F452-met. Egyszerű villogó van ráprogramozva. Szimulátorban megy. Valóságban nem. Valamennyire villog ha kézzel érintem a kristály lábait.
MCLR felhúzva, PGM lehúzva.
Esetleg valami észrevétel hol lehet a bibi?
Elküldöm a programot és a konfigurációt.

A segítséget nagyon szépen köszönöm.

  1. ;LIST P=18F452
  2. #INCLUDE "P18F452.INC"
  3. #define _XTAL_FREQ 20000000_HQ_WDT=OFF_LVP=OFF_FOSC=HS
  4. ;ORG 4
  5. R2  EQU 0x2
  6. R3  EQU 0x3
  7. R4  EQU 0x4
  8. T4  EQU 0x5
  9. T1  EQU 0x6
  10. T2  EQU 0x7  
  11. KIRAK94  EQU 0x8
  12. T6  EQU 0x9
  13. ;--------------------------------
  14. YEAR  EQU 0xE2
  15. MOUNTH  EQU 0xE3
  16. DAY  EQU 0xE4
  17. HOUR  EQU 0xE5
  18. MIN  EQU 0xE6
  19. SEC  EQU 0xE7
  20.  
  21. ORG 0x30
  22.  
  23. bsf T1CON, T1OSCEN
  24. MOVLW   b'00000011'
  25. MOVWF   TRISA
  26. MOVLW   b'00100000'
  27. MOVWF   TRISB
  28. MOVLW   b'00010000'
  29. MOVWF   TRISC
  30. MOVLW 0x0000
  31. MOVWF INTCON2
  32.  
  33.                 BSF     PORTC,3
  34. ;--------------------------------------------------------------
  35. GERINC
  36.                 CALL    DELAY
  37.                 CALL    DELAY
  38.                 BCF     PORTC,3
  39.                 BCF     PORTB,3
  40.                 CALL    DELAY
  41.                 CALL    DELAY
  42.                 BSF     PORTC,3
  43.                 BSF     PORTB,3
  44.                 GOTO    GERINC
  45. ;.....................................
  46.  
  47. DELAY    MOVLW    d'240'
  48.          MOVWF    T1
  49. DEL:     MOVLW    d'250'
  50.          MOVWF    T2
  51. DEL1:    NOP
  52.          NOP
  53.          NOP
  54.          NOP
  55.          NOP
  56.          NOP
  57.          NOP
  58.          NOP
  59.          NOP
  60.          NOP
  61.          NOP
  62.          NOP
  63.          NOP
  64.          NOP
  65.          NOP
  66.          NOP
  67.          NOP
  68.          NOP
  69.          NOP
  70.          NOP
  71.          NOP
  72.          NOP
  73.          NOP
  74.          NOP
  75.          NOP
  76.          NOP
  77.          NOP
  78.          NOP
  79.          NOP
  80.          DECFSZ   T2,f
  81.          GOTO     DEL1
  82.          DECFSZ   T1,f
  83.          GOTO     DEL
  84.                 RETURN
  85.  
  86.  
  87.         END

config452.png
    
(#) benjami válasza llaczo hozzászólására (») Aug 22, 2022 /
 
A WDT-t és az LVP-t kapcsold ki.
(#) llaczo válasza benjami hozzászólására (») Aug 22, 2022 /
 
Sajnos semmi változás.
Nincs valakinek egy működő 452-es assembly programja? megnéznénk hogy ott mi van beállítva.
(#) benjami válasza llaczo hozzászólására (») Aug 22, 2022 / 1
 
A proci reset után a 0x0000 címen levő utasítással kezdi a működést. Ide nem raktál semmit, tegyél egy goto-t a 0x0000 címre.
A 23. sorral nem tudom mit akarsz, szerintem törölhető, a 30-31. sor is törölhető (mondjuk ezek hibát nem okoznak, csak feleslegesek).
(#) Hp41C válasza llaczo hozzászólására (») Aug 22, 2022 / 1
 
Szia!

Több hiba is van a programban.
- A 0. címre egy ugrás kell az inicializáló részre:
  1. org 0x0
  2.  goto INIT

- A megszakítási rutin a 0x8 ill. 0x18 címeken kezdődik a PIC18 -akon
- Az XTAL_FREQ nem adható meg egy sorban a konfirurációs beállításokkal.
  1. #define _XTAL_FREQ 20000000


Konfiguráció megadása:
  1. CONFIG OSC =HS
  2.  CONFIG WDT = OFF
  3.  CONFIG LVP = OFF
stb...
(#) llaczo válasza Hp41C hozzászólására (») Aug 22, 2022 /
 


Köszönöm a segítséget. Örök hála.
(#) llaczo hozzászólása Aug 22, 2022 /
 
Lenne még egy kérdésem:
Az MPLAB IDE programban van e olyan lehetőség mint az arduinónál, hogy több ablakba osztunk egy programot?
Például az unalmas adatok egyik ablakban, a program meg egy másikban.

köszönöm a választ.
(#) Hp41C válasza llaczo hozzászólására (») Aug 23, 2022 / 1
 
A program abban az állományban kell legyen, amit a projectben megadsz forrásként.
Ebben lehet más állományt is hivatkozni:
  1. #include "constants.asm"
(#) llaczo válasza Hp41C hozzászólására (») Aug 27, 2022 /
 
Köszönöm a választ.
Megcsináltam, de nem akar működni. Mindég hibaüzenetet ír, de ha nem is ír akkor sem működik a program azon része amit az új fájlba írtam.
Esetleg incs kéznél egy rövid minta program? Az mindég meglendíti a tanulási folyamatot.
Köszönöm szépen.
(#) Hp41C válasza llaczo hozzászólására (») Aug 27, 2022 /
 
Milyen hibaüzenetet ír ki?
Példaprogramot a propeller óra topikban találsz.
A hozzászólás módosítva: Aug 27, 2022
(#) llaczo válasza Hp41C hozzászólására (») Aug 28, 2022 /
 
A propeller óra topik szép emlékeket idéz. Még ma is működik a propeller órám
488 oldalas. Netán emlékszel e még hogy az elején vagy a végén keressem?

Iderakom a programot és a hibaüzeneteket. Ilyet még nem láttam. Olyan sorokra hivatkozik amik nem is léteznek.

  1. #INCLUDE "P18F452.INC"
  2. #include "7segmax1.asm"
  3. #define _XTAL_FREQ 25000000
  4.  
  5. CONFIG OSC =HS
  6. CONFIG WDT = OFF
  7. CONFIG LVP = OFF
  8.  
  9. ORG 0x0
  10.         GOTO    INIT
  11.  
  12. T1  EQU 0x1
  13. T2  EQU 0x2
  14.  
  15. ORG 0x10
  16. INIT
  17. MOVLW   b'00000011'
  18. MOVWF   TRISA
  19. MOVLW   b'00000000'
  20. MOVWF   TRISB
  21. MOVLW   b'00010000'
  22. MOVWF   TRISC
  23.  
  24. ;
  25. ;--------------------------------------------------------------
  26.                 CALL    DELAY
  27.                 CALL    DELAY
  28. GERINC
  29.                 CALL    DELAY
  30.                 CALL    DELAY
  31.                 BCF     PORTA,3
  32.                 CALL    DELAY
  33.                 CALL    DELAY
  34.                 BSF     PORTA,3
  35.  
  36.                 call    PROBA
  37.                 GOTO    GERINC
  38. ;................................................
  39.  
  40. DELAY    MOVLW    d'240'
  41.          MOVWF    T1
  42. DEL:     MOVLW    d'200'
  43.          MOVWF    T2
  44. DEL1:    NOP
  45.          NOP
  46.          NOP
  47.          NOP
  48.          NOP
  49.          NOP
  50.          NOP
  51.          NOP
  52.          DECFSZ   T2,f
  53.          GOTO     DEL1
  54.          DECFSZ   T1,f
  55.          GOTO     DEL
  56.                 RETURN
  57.  
  58. end


Mellék file:
  1. #INCLUDE "P18F452.INC"
  2.  
  3. ORG 0X100
  4. PROBA
  5.                 BSF             PORTA,4
  6.                 RETURN
  7.  
  8. END

hiba.jpg
    
(#) Hp41C válasza llaczo hozzászólására (») Aug 28, 2022 / 2
 
Szia!
Több probléma is akad:
- A fordítót állítsd "Absolute" módba.
- A #include direktíva a megadott állományt szóról szóra beleilleszti a forrásba. A hiba abból adódik, hogy a fő forrás már beillesztette a P18F452.INC állományt amikor a mellékprogram első sora is be kívánja illeszteni. A P18F452.INC -beli definíciók így kétszer szerepelnek a kódban.
- A mellékprogram végére nem kell a END direktíva.
- A forrásokban az első oszlopban csak címkék kezdődhetnek, az utasításokat, direktíxákat legalább egy betűközzel beljebb kell kezdeni.
(#) llaczo válasza Hp41C hozzászólására (») Aug 28, 2022 /
 
Köszi szépen. Ezzel egy darabig elleszek
(#) Hp41C válasza llaczo hozzászólására (») Aug 29, 2022 /
 
A fordításkor keletkezik egy .lst állomány is, abban jól látható az include működése.
Következő: »»   1180 / 1180
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