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



Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Сравнительно-исторический метод в языкознании сравнительно-исторический метод в языкознании является одним из основных и представляет собой совокупность приёмов...

Концептуальные модели труда учителя В отечественной литературе существует несколько подходов к пониманию профессиональной деятельности учителя, которые, дополняя друг друга, расширяют психологическое представление об эффективности профессионального труда учителя...

Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...

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

Примеры задач для самостоятельного решения. 1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P   1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P...

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

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