20
PIC mikrokontroller Loeng 4 Alar Ainla 5.oktoober.2004

PIC mikrokontroller Loeng 4

  • Upload
    nenet

  • View
    64

  • Download
    9

Embed Size (px)

DESCRIPTION

PIC mikrokontroller Loeng 4. Alar Ainla 5.oktoober.2004. Käsud (2). Kuidas k äsud paiknevad mälus ?. Käsukoodid. Pisikene ülesanne. Korrutada 00011001*00001010=? Vastus 11100001=225=25*9 Kuidas realiseerida korrutamist? Kuidas realiseerida jagamist?. Mäluarhitektuurid. - PowerPoint PPT Presentation

Citation preview

Page 1: PIC mikrokontroller Loeng  4

PIC mikrokontrollerLoeng 4

Alar Ainla

5.oktoober.2004

Page 2: PIC mikrokontroller Loeng  4

Käsud (2)

Page 3: PIC mikrokontroller Loeng  4

Kuidas käsud paiknevad mälus ?

Page 4: PIC mikrokontroller Loeng  4

Käsukoodid

Page 5: PIC mikrokontroller Loeng  4

Pisikene ülesanne• Korrutada 00011001*00001010=?• Vastus 11100001=225=25*9• Kuidas realiseerida korrutamist?• Kuidas realiseerida jagamist?

Page 6: PIC mikrokontroller Loeng  4

Mäluarhitektuurid• Vaatleme seda, kuidas protsessor näeb ja

kasutab mälu!• Muutuja mälu• Programmi mälu• Stack (pinu) mälu• Data EEPROM

Page 7: PIC mikrokontroller Loeng  4

Muutuja mälu• Muutuja mäluruumis on ka

erifunktsioonidega registrid• Käsu tasemel erifunktsioonidega registrid

ei eristu tavalisest mälupesast• Hetkel PIC16 seerias ülimalt 368baiti mälu • Ka meie PICil (PIC16F876A) on 368baiti

mälu• Kui sellele lisada veel registrid, siis on vaja

vähemalt 9 biti aadressiks ... :S

Page 8: PIC mikrokontroller Loeng  4

Muutuja mälu (2)• Lahendus!!!• Mälu on jagatud

bankadeks ja nende valimiseks on kuskil bitid

Page 9: PIC mikrokontroller Loeng  4

Muutuja mälu• SFR• GPR• CommonRAM

Page 10: PIC mikrokontroller Loeng  4

Muutuja mälu adresseerimine

• Otsene (direct)• Viidaga (indirect)

Page 11: PIC mikrokontroller Loeng  4

indirect adresseerimine• Aadress peab

olema kirjutatud spetsiaalsesse registrisse (FSR 0x04)

• Tulemuse lugemine toimub teisest spetsiaalsest registrist (INDF 0x00)

• IRP (1-2/2-3 bank)

Page 12: PIC mikrokontroller Loeng  4

Adresseerimise mehhanism

Page 13: PIC mikrokontroller Loeng  4

Pisikene ülesanne

Page 14: PIC mikrokontroller Loeng  4

Programmi mälu• Programmi mälus on programm!• Meie PICil on 14336 baiti = 8192x14bitti• Selleks et seda addresseerida on vaja 13bitti ...!• 13bitine loendur (PC)• Programmis (goto, call) ülimalt 11bitti• On 2k käsused blokid. (0-7FF,800-FFF,1000-17FF,1800-

1FFF)• PCLATH (Program Counter Latch High).• Järjestik programm läheb algusest kuni lõpuni• Kui vähem mälu siis liiga kaugele

adresseeriminewraparound

Page 15: PIC mikrokontroller Loeng  4

Programmi mälu (2)

Page 16: PIC mikrokontroller Loeng  4

Programmi mälu (3)• Reset vector 0x0000 (ja PCLATH=0)• Interrupt vector 0x0004 (PCLATH

muutumatu)• Kallibratsiooni informatsioon (retlw)

Page 17: PIC mikrokontroller Loeng  4

Programmi loendur (PC)• 13-bit• Madalam bait on PCL• Kõrgem on PCH (muudetav vaid läbi

PCLATH)

Page 18: PIC mikrokontroller Loeng  4

Programmi loendur (PC)(2)

Page 19: PIC mikrokontroller Loeng  4

GOTO arvutamine• Näiteks ADDWF PCL

Page 20: PIC mikrokontroller Loeng  4

Stack