PIC - PowerPoint PPT Presentation

About This Presentation
Title:

PIC

Description:

PIC utame PIC i Felch Mida PIC i ??? Microchipi PIC-protsessorid on: Kiired, mugavad kasutada, populaarsed Harwardi arhitektuur, RISC, v he k ske Hea ... – PowerPoint PPT presentation

Number of Views:140
Avg rating:3.0/5.0
Slides: 13
Provided by: Felc2
Category:
Tags: pic

less

Transcript and Presenter's Notes

Title: PIC


1
PICutame PICi
  • Felch

2
Mida PICi ???
  • Microchipi PIC-protsessorid on
  • Kiired, mugavad kasutada, populaarsed
  • Harwardi arhitektuur, RISC, vähe käske
  • Hea rauasisaldusega
  • A/D-muundid
  • Komparaatorid
  • PWM
  • Ja palju muud

3
Mis on karu kõhus?
PC
Programmimälu
RAM
ALU
Pordid
perifeeria
PIC(16F628) sisikonna blokkskeem
4
FLASH
Pinumälu (STACK)
RESET ehk koodi algus
Katkestusvektor
Kasutaja kood, tabelid jne
5
RAM
Jaotatud 4-ks pangaks
movlw 0x04 kirjutame arvu 4
registrisse W movwf 0x20 mällu
aadressile 0x20 bsf STATUS,RP0 siirdume panka
1 movwf 0xA0 nüüd aadressile 0xA0 bcf
STATUS,RP0 tagasi panka 0
Kaudne adresseerimine
movlw 0x20 viitame adr-le 0x20
movwf FSR see kaudse adr.
reg.-sse movlw A täht A movwf
INDF kirjutame mällu _at_ 0x20
6
Pordid
2 porti A ja B Muudetav suund Muudetav otstarve
  • Suuna juhtregister TRISA (TRISB)
  • Pordi register PORTA (PORTB)
  • movlw B'00001111' laeme registrisse
    W konstandi 00001111
  • movwf TRISA kirjutame
    selle port A juhtregistrisse TRISA
  • movlw B'00000011 pordi viigud
    kõrgeks (1) ja madalaks (0)
  • movwf PORTA läks

7
Hällou, wörld
LED-ide vilgutamine
  • Viited koodiga
  • Viited taimeriga

8
Taimerid
  • 3 ja enam tükki, mõni ka 16-bitine
  • Annab võimaluse täpseid viiteid tekitada
  • Töötavad ka pulsiloenditena (sagedusmõõtja!)
  • Eriti kasulikud katkestuste puhul

9
Taimeri koodinäide
  • aja viitmise alamprogramm
  • viide movlw viiteaegH
    laeme taimeri sobiva jagamisteguriga
  • movwf TMR1H
  • movlw viiteaegL
  • movwf TMR1L
  • bcf PIR1,TMR1IF
    igaks juhuks taimeri
    ületäitumise lipp nulli
  • bsf T1CON,TMR1ON
    paneme taimeri käima, ajaarvetus
    algab sellest hetkest
  • viide_1 btfss PIR1,TMR1IF
    ootame ületäitumist
  • goto viide_1
  • bcf T1CON,TMR1ON
    taimer seisma
  • return pöördume tagasi põhiprogrammi
  • konfime viitetaimeri T1
  • movlw B'00110000'
    eeljagur 18, sisemine takt, taimer hetkel veel
    seisab
  • movwf T1CON laeme
    taimeri juhtregistrisse.
  • Eelpool arvutatud taimeri laadimise numbrid teeme
    kompilaatorile ka teatavaks
  • define viiteaegH 0x0B määrab
    ära LED'i vilkumise kestuse
  • define viiteaegL 0xDC

10
Katkestused
  • Tekivad nt. taimeri ületäitumisel, serial pordi
    sümboli vastuvõtul jne
  • Vaikimisi keelatud
  • Sisuliselt sama programmikood mis ülejäänugi
  • Kutsutakse välja alati aadressilt 0x0004
  • Seatud lippude järgi määra, mis oli katkestuse
    põhjus
  • Võimaldavad prosel vabalt toimetada ja reageerida
    sünmustele vaid siis kui need esinevad
  • Nõuavad ettevaatust koodi kirjutamisel (konteksti
    seivimine)

11
Koodist kivisse
  • Tekst kõrgkeeles või assembleris
  • Tulemus teisendatakse masinkoodi
    (kompileeritakse)
  • Saadud .hex fail valmis kivisse siirdamiseks
  • Kirjutab seade nimega programmaator
  • Parem serial-porti mitte pruukida
  • PPWIN IC-prog
  • www.kitsrus.com oma soft

12
Head PICutamist
/Felch
Write a Comment
User Comments (0)
About PowerShow.com