Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
final (восстановлен).docx
Скачиваний:
1
Добавлен:
27.08.2019
Размер:
298.79 Кб
Скачать

18. Схема тактування і цикл виконання команди

Вхідна тактова частота, що надходить з виводу OSC1/CLKIN, ділиться усередині на чотири, і з неї формуються чотири циклічні тактові послідовності Q1, Q2, Q3 і Q4, які не перекриваються. Лічильник команд збільшується в такті Q1, команда зчитується з пам'яті програми і замикається в регістрі команд у такті Q4. Команда декодується і виконується протягом наступного циклу в тактах Q1...Q4. Схема тактування та виконання команди зображена на Рис. 1.

Цикл виконання команди складається з чотирьох тактів: Q1...Q4. Вибірка команди і її виконання поєднані в часі таким чином, що вибірка команди займає один цикл, а виконання - наступний цикл. Ефективний час виконання команди складає один цикл. Якщо команда змінює лічильник команд (наприклад, команда GOTO), то для її виконання буде потрібно два цикли, як показано на Рис 2.

.

Цикл вибірки починається зі збільшення лічильника команд у такті Q1. У циклі виконання команди обрана команда замикається в регістр команд у такті Q1. Протягом тактів Q2, Q3 і Q4 відбувається декодування і виконання команди. У такті Q2 зчитується пам'ять даних (читання операнда), а запис відбувається в такті Q4.

19. Мікроконтролери підгрупи ріс16f8x. Організація пам'яті.

Організація пам’яті програм і стеку:

Лічильник команд в мікроконтролері PIC16F8Х має ширину 13 біт і здатен адресувати 8Кх14бит об’єму програмної пам’яті.

В пам’яті процесора є виділені адреси. Вектор сбросу заходиться за адресою 0000h, вектор переривання – за адресою 0004h. Зазвичай за адресою 0004h знаходиться підпрограма ідентифікації і обробки переривань, а за адресою 0000h – команда переходу а мітку, розташовану за підпрограмою обробки переривань.

Організація пам'яті даних:

Пам'ять даних мікроконтролера розбита на 2 області. Перші 12 адрес – область регістрів спеціальних функцій (SFR), а друга – область регістрів загального назначення (GPR). Область SFR керує роботою приладу. Обидві області розбиті на банки 0 і 1. Банк 0 вибирається обнулінням біта RP0 регістра статусу. Кожний банк має протяжність 128 байт. Деякі регістри спеціального призначення про дубльовані в обох банках, а деякі розташовані лише в банку 1 окремо. Регістри з адресами 0Ch-4Fh можуть використовуватися як регістри з загального призначення, які є статичним ОЗП. В регістрі статусу окрім біта RP0 є біт RB1 який дозволяє звертатися до банків майбутніх модифікацій кристала.

До комірок ОЗП можно звертатися прямо, використовуючи абсолютну адресу кожного регістра, або побічно, через регістр вказівник FSR.

20. Мікроконтролери підгрупи ріс16f8x. Лічильник команд та методи адресації пам'яті.

Лічильник команд Лічильник команд PCL і PCLATH має розрядність 13 біт. Молодший байт лічильника (PCL) доступний для читання і запису.Старший байт лічильника команд не може бути безпосередньо записаний або зчитаний і береться з регістра PCLATH.Вміст PCLATH передається в старший байт лічильника команд, коли він завантажується новим значенням. В залежності від того, чи завантажується в лічильник команд нове значення під час виконання команд CALL, GOTO, або в молодший байт лічильника команд (PCL) проводиться запис, - старші біти лічильника команд завантажуються з PCLATH різними способами. Команди CALL і GOTO оперують 11-розрядним адресним діапазоном, достатнім для зміщення в межах сторінки програмної пам'яті об'ємом 2К слів. З метою забезпечення можливості розширення пам'яті команд для майбутніх моделей мікроконтролерів передбачене завантаження двох старших біт лічильника команд з регістра PCLATH <4:3>. При виконанні команди CALL або виконанні переривання весь 13-бітний лічильник команд поміщається в стек. Мікроконтролери підгрупи PIC16F8X ігнорують значення біт PCLATH <4:3>, що використовуються для звернення до сторінок 1, 2 і 3 програмної пам'яті.Застосовувати біти PCLATH <4:3> як осередків пам'яті загального призначення не рекомендується, так як це може вплинути на сумісність з майбутніми поколіннями виробів. Мікроконтролери підгрупи PIC16F8X мають восьмирівневий апаратний стек шириною 13 біт. Область стека не належить ні до програмної області, ні до області даних, а покажчик стека користувачеві недоступний. Поточне значення лічильника команд надсилається в стек, коли виконується команда CALL або проводиться обробка переривання. Стек працює як циклічний буфер.  Ознак положення стека в контролері не передбачено, тому користувач повинен самостійно стежити за рівнем вкладення підпрограм. Пряма і непряма адресації Коли проводиться пряма 9-бітна адресація, молодші 7 біт беруться як пряму адресу з коду операції, а два біта вказівника сторінок (RP1, RP0) з регістра статусу. Ознакою непрямої адресації є звернення до регістру INDF. Будь-яка команда, яка використовує INDF як регістр фактично звертається до покажчика, який зберігається в FSR .  Запис в регістр INDF непрямим чином буде виглядати як NOP, але біти статусу можуть бути змінені. Необхідний 9-бітний адреса формується об'єднанням вмісту 8-бітного FSR регістра і біта IRP з регістра статусу. Деякі регістри спеціальних функцій розташовуються у банку 1. Щоб адресуватися до них, потрібно додатково встановити в одиницю біт RP0 в регістрі статусу.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]