Студопедия — Лабораторна робота № 11. Система команд микроконтроллера PIC16FXХ
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Лабораторна робота № 11. Система команд микроконтроллера PIC16FXХ






Система команд микроконтроллера PIC16FXХ

Мета роботи: вивчення системи команд мікроконтролера (МК)
PIC16F7Х; отримання навичок програмування МК на мові Ассемблер.

Програмне забезпечення: програмне забезпечення комп'ютерного моделювання електронних схем (програма Proteus (ISIS), MPLAB IDE).

 

Короткі теоретичні відомості і методичні вказівки

PIC16CXX - це 8-розрядні МК з RISCархітектурой, вироблені фірмою Microchiр Technology. Це сімейство МК відрізняється низькою ціною, низьким енергоспоживанням і високою швидкістю.

Мікроконтролери мають вбудовані ЕППЗУ програми, ОЗУ даних і випускаються в 18 і 28 вивідних корпусах.

PIC OTP - це одноразово програмовані користувачем контролери, призначені для повністю протестованих і закінчених виробів, в яких не буде відбуватися подальших змін коду. Ці контролери випускаються в дешевих пластикових корпусах із заздалегідь заданими типом зовнішнього генератора - кварцовим або RC. Для налагодження програм і макетування випускається варіант контролерів з ультрафіолетовим стиранням.

Ці контролери допускають велике число циклів запису / стирання і мають дуже малий час стирання (звичайно 1-2 хв). Проте ціна таких контролерів істотно вище, ніж однократно програмувальних, тому їх невигідно встановлювати в серійну продукції.

Для виробів, програма яких може мінятися або містить будь-змінні частини, таблиці, параметри калібрування, ключі і т. д., випускається електрично стирається і перепрограмувальний контролер PIC16F84. Він також містить електрично перепрограммируемое ПЗУ даних.

Основним призначенням МК PIC16/17, як випливає з абревіатури PIC (Periрheral Interface Controller), є виконання інтерфейсних функцій. Цим пояснюються особливості їх архітектури:

 

· RISC-система команд, що характеризується малим набором одноадресних інструкцій (33, 35 або 55), кожна з яких має довжину в одне слово (12, 14 або 16 біт) і більшість виконується за один машинний цикл. В системі команд відсутні складні арифметичні команди (множення, ділення), гранично скорочений набір умовних переходів;

· Висока швидкість виконання команд: при тактовій частоті 20 МГц час машинного циклу складає 200 нс (швидкодія дорівнює 5 млн операцій / с);

· Наявність потужних драйверів (до 24 мА) на лініях портів введення / виводу;

· Низька споживана потужність;

· Орієнтація на цінову нішу гранично низької вартості, яка визначає використання дешевих корпусів з малою кількістю виводів (8, 14, 18, 28), відмова від зовнішніх шин адреси і даних (крім PIC17C4X), використання спрощеного механізму переривань і апаратного (програмно недоступного) стека.

 

Аналіз архітектури МК PIC з точки зору їх програмування і налагодження систем дозволяє зробити наступні висновки.

RISC-система команд забезпечує високу швидкість виконання інструкцій, але викликає труднощі і зниження продуктивності при програмуванні нетривіальних алгоритмів. Оскільки всі інструкції в системі команд є одноадресних, завантаження константи в будь-який з регістрів вимагає двох інструкцій. Спочатку потрібно завантажити константу в робочий регістр W, а потім переслати його вміст в потрібну комірку пам'яті даних:

 

movw 12h

movwf REG

 

Аналогічно, всі бінарні арифметико-логічні операції доводиться виконувати із залученням робочого регістра W.

Висока швидкодія в значній мірі досягається за рахунок використання конвеєра команд.

Мікроконтролери сімейства PIC мають дуже ефективну систему команд, що складається всього з 35 інструкцій. Всі інструкції виконуються за один цикл, за винятком умовних переходів і команд, що змінюють програмний лічильник, які виконуються за 2 циклу. Один цикл виконання інструкції складається з 4 періодів тактової частоти. Таким чином, при частоті 4 МГц час виконання інструкції складає 1 мкс. Кожна інструкція складається з 14 біт, які поділяються на 2 поля: код операції та операнд (можлива маніпуляція з регістрами, осередками пам'яті і безпосередніми даними).

Висока швидкість виконання команд в PIC досягається за рахунок використання двохшинної гарвардської архітектури замість традиційної одношинної фоннеймановской. Гарвардська архітектура грунтується на наборі регістрів з розділеними шинами і адресним простором для команд і для даних. Hабор регістрів означає, що всі програмні об'єкти, такі як порти вводу / виводу, осередки пам'яті і таймер, являють собою фізично реалізовані апаратні регістри.

Пам'ять даних (ОЗУ) для PIC16CXX має розрядність 8 біт, пам'ять програм (ЕППЗУ) має розрядність 12 біт для PIC16C5X і 14 біт для PIC16C7X. Використання гарвардської архітектури дозволяє досягти високої швидкості виконання бітових, байтових і реєстрових операцій. Крім того, Гарвадської архітектура допускає конвеєрне виконання інструкцій, коли одночасно виконується поточна інструкція і зчитується наступна.

У традиційній же фоннеймановской архітектурі команди і дані передаються послідовно в часі через одну поділювану або мультиплексируемость шину, тим самим знижуючи швидкодію МК.

 

Набір команд PIC

 

Перейдемо до опису всього набору команд МК сімейства PIC. Попередньо Зробити деякі зауваження.

По-перше, синтаксис написання команди передбачає зазначення двох полів: мнемонічне позначення коду операції та операнд, для якого використовується узагальнене позначення у вигляді символу f. Це означає, що залежно від способу адресації в поле операнда може перебувати:

1) адреса операнда (пряма адресація); дуже часто замість адреси вказується символічне ім'я операнда, однак у цьому випадку за допомогою псевдокоманди equ цьому імені ставиться у відповідність адреса вільної комірки пам'яті, наприклад: Cnt equ 20h;

2) ім'я регістра INDF (непряма адресація); в цьому випадку адреса операнда знаходиться в спеціальному регістрі непрямої адресації FSR;

3) операнд (безпосередня адресація).

 

По-друге, в командах, в яких передбачена операція з двома операндами, перший операнд знаходиться в комірці пам'яті, зазначеної за допомогою символу f, другий операнд завжди міститься в робочому регістрі W.

По-третє, в ряді команд крім результату формуються ознаки результату, які записуються в спеціальний регістр

STATUS. Ознака С (CARRY) встановлюється в 1 при виникненні переносу зі старшого (знакового) розряду при додаванні і при відсутності позички при відніманні. Ознака DC (DIGIT CARRY) встановлюється в 1 при виникненні перенесення з молодшої тетради в старшу при додаванні. Ознака Z (ZERO) встановлюється в 1, якщо результат операції дорівнює 0.

Нарешті, в ряді команд після символу f через кому знаходиться символ d, званий бітом напряму. Він вказує місце, куди буде поміщений результат операції, виконаної в команді: якщо d = 0 (або W), результат записується в робочий регістр W (без зміни вмісту комірки пам'яті), якщо d = 1 (або f), результат записується в комірку пам'яті.

 

NOP

 

Не виконується ніяких дій. Ця інструкція зазвичай використовується в циклах тимчасової затримки або для точного налаштування часу виконання певної ділянки програми.

 

CLRW

 

Ця команда очищує робочий регістр W.

 

CLRF f

CLRF робить для будь-якого регістра те саме, що CLRW робить для робочого регістра W.

 







Дата добавления: 2015-10-15; просмотров: 508. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

Виды и жанры театрализованных представлений   Проживание бронируется и оплачивается слушателями самостоятельно...

Что происходит при встрече с близнецовым пламенем   Если встреча с родственной душой может произойти достаточно спокойно – то встреча с близнецовым пламенем всегда подобна вспышке...

Принципы, критерии и методы оценки и аттестации персонала   Аттестация персонала является одной их важнейших функций управления персоналом...

Пункты решения командира взвода на организацию боя. уяснение полученной задачи; оценка обстановки; принятие решения; проведение рекогносцировки; отдача боевого приказа; организация взаимодействия...

Что такое пропорции? Это соотношение частей целого между собой. Что может являться частями в образе или в луке...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия