Студопедия — Лабораторна робота № 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; просмотров: 512. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Краткая психологическая характеристика возрастных периодов.Первый критический период развития ребенка — период новорожденности Психоаналитики говорят, что это первая травма, которую переживает ребенок, и она настолько сильна, что вся последую­щая жизнь проходит под знаком этой травмы...

РЕВМАТИЧЕСКИЕ БОЛЕЗНИ Ревматические болезни(или диффузные болезни соединительно ткани(ДБСТ))— это группа заболеваний, характеризующихся первичным системным поражением соединительной ткани в связи с нарушением иммунного гомеостаза...

Решение Постоянные издержки (FC) не зависят от изменения объёма производства, существуют постоянно...

Основные симптомы при заболеваниях органов кровообращения При болезнях органов кровообращения больные могут предъявлять различные жалобы: боли в области сердца и за грудиной, одышка, сердцебиение, перебои в сердце, удушье, отеки, цианоз головная боль, увеличение печени, слабость...

Вопрос 1. Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации К коллективным средствам защиты относятся: вентиляция, отопление, освещение, защита от шума и вибрации...

Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...

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