Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 18

Организација на

меморијата на
микроконтролерот
PIC16F84
Организација на меморијата

 PIC16F84има две одвоени


мемории: програмска и
податочна
Програмска меморија

 Програмската меморија е изработена во флеш


технологија што овозможува програмирање на
микроконтролерот повеќе пати, дури и кога е вграден
во некој состав.
 Има големина од 1KB што значи има 1024 локации со
ширина од 14 битови и се наоѓа на адреси од 00h до
3FFh.
 Нултата локација е резервирана за ресет, а
четвртата локација за прекин (interrupt)
 Програмската магистрала е со широчина од 14 бити
и таа во себе содржи 8-битен податок и 6-битна
инструкција
 На сликата е прикажана мапата на
програмската меморија заедно со
програмскиот бројач и таканаречените
стек-нивоа (ги има 8)
 Програмата во оваа меморија се
внесува сериски, бит по бит. За
внесување потребни се компјутер,
програматор, кабел за поврзување на
програматорот со паралелната порта на
компјутерот, корисничка програма
напишана во соодветен
софтвер(MPLAB, FPP)
Програмски бројач
 Овој регистер ја содржи адресата на
инструкцијата што треба да се изврши.
После секое извршување на
инструкциите, се зголемува за еден.
 Тоа е 13-битен регистер, кој адресата ја
добива од PCLATH и PCL регистрите
Стог
 Ги чува повратните адреси при
операции со прекин или при скок во
потпрограма, за да процесорот знае од
каде да продолжи со извршување на
инструкциите
 13-битен е, со 8 нивоа(8 мемориски
локации)
Податочна меморија
 Податочната мемoрија се состои од
EEPROM и RAM меморија.
 EEPROM меморијата има 64 локации со
ширина од 8 бита на кои се пристапува
индиректно преку EEADR и EEDATA
регистрите. EECON е 5-битен регистар
кој содржи контролни битови поврзани
со читањето и пишувањето. Нејзината
содржина не се губи при прекин на
напојувањето
 Во неа се чуваат податоци добиени како
резултат од извршувањето на некоја
корисничка програма
 пр. податок за бројот на паркирани
возила на еден паркинг во текот на едно
деноноќие
 пр. податоци добиени од некоја
оддалечена метеролошка станица
(температура, притисок, количество
врнежи, зрачење на сонцето и сл.)
EEPROM меморија
RAM меморија
 RAM меморијата има 68 8-битни локации кои
во мемориската мапа го завземаат просторот
од 0x0C до 0x4F локации.Локациите на RAM
меморијата се викаат регистри за општа
намена (GPR-General purpose registers)
 SFR(Special function registers) се регистри со
специјална намена и тие се директно врзани
за работата на микроконтролерот. Тие ги
завземаат првите 12 локации во банката 0
банката 1.
Уште една поделба на податочната
меморија
 Податочната меморија уште се дели на
две банки, BANK0 и BANK1. Банките се
одбираат преку RP0 битот во статус
регистерот.Додека е избрана нултата
банка, не може да се пристапува до
локациите од првата банка.
 На пример:

Bcf STATUS, RP0 – избрана е банката 0


Bsf STATUS, RP0 – избрана е банката 1
Директно адресирање

 Адресата за пристап до RAM локацијата


се содржи во самата инструкција
 Се добиваат 9-битни адреси. Со првите
2 бита се бира една од двете банки, а со
другите 7, една локација од веќе
селектираната банка
Индиректно адресирање
 Адресата се наоѓа во специјалниот
регистер FSR кој заедно со седмиот бит
од статус регистарот IRP формираат
адреса за селекција една локација од
RAM-от.
 Податокот може да се прочита и од
регистарот INDF
 пр.: нека општиот регистар со адреса
0FH го содржи податокот 20H.
 Во FSR регистарот ќе се запише
адресата 0FH, а во INDF податокот 20H.
 Податокот може да се прочита и од
адресата 0FH и од регистарот INDF.

You might also like