- •Электроника и микропроцессорная техника
- •Содержание
- •Лабораторная работа 1 однофазные выпрямители и сглаживающие фильтры
- •1 Цель работы
- •2 Теоретическая часть
- •2.1 Основные определения
- •2.2 Принцип действия однофазного однополупериодного выпрямителя
- •2.3 Принцип действия однофазного двухполупериодного выпрямителя
- •2.4 Сглаживающие фильтры
- •3 Практическая часть
- •3.1 Описание лабораторной установки
- •3.2 Порядок выполнения работы
- •4 Контрольные вопросы
- •Лабораторная работа 2 усилительный каскад
- •1 Цель работы
- •2 Теоретическая часть
- •2.1 Основные определения
- •2.2 Назначение элементов
- •2.3 Методика расчета усилительного каскада
- •2.4 Пример расчета
- •3 Практическая часть
- •3.1 Описание лабораторной установки
- •3.2 Порядок выполнения работы
- •4 Контрольные вопросы
- •Лабораторная работа 3 усилительный каскад на полевом транзисторе с общим истоком
- •1 Цель работы
- •2 Теоретическая часть
- •2.1 Основные определения
- •2.2 Характеристики мдп-транзистора
- •2.3 Назначение элементов усилительного каскада на полевом транзисторе с общим истоком
- •2.3 Методика расчета усилительного каскада
- •2.3 Пример расчета
- •3 Практическая часть
- •3.1 Описание лабораторного стенда.
- •3.2 Порядок выполнения работы
- •4 Контрольные вопросы
- •Лабораторная работа 4 регулируемый источник переменного напряжения
- •1 Цель работы
- •2 Теоретическая часть
- •2.1 Основные определения
- •2.2 Принцип действия системы импульсно-фазового управления
- •3 Практическая часть
- •3.1 Описание лабораторной установки
- •3.2 Порядок выполнения работы
- •4 Контрольные вопросы
- •Лабораторная работа 5
- •1 Цель работы
- •2 Теоретическая часть
- •2.1 Основные определения
- •2.2 Инвертирующий усилитель
- •2.3 Дифференциатор
- •2.3 Интегратор
- •3 Практическая часть
- •3.1 Описание лабораторной установки
- •3.2 Порядок выполнения работы
- •Лабораторная работа 6 схемы на основе операционного усилителя с положительной обратной связью
- •2.2 Мультивибратор
- •3 Практическая часть
- •3.1 Описание лабораторной установки
- •3.2 Порядок выполнения работы
- •Лабораторная работа 7
- •2.3 Логическое умножение (операция «и», конъюнкция)
- •2.4 Логическое отрицание (инверсия)
- •2.5 Исключающее или (сложение по модулю 2)
- •2.6 Образование новых элементов
- •3 Практическая часть
- •3.1 Описание лабораторного стенда.
- •3.2 Порядок выполнения работы
- •4 Контрольные вопросы
- •Лабораторная работа 8 аналого-цифровой преобразователь
- •2.3 Квантование
- •2.4 Цифровое кодирование
- •3 Практическая часть
- •3.2 Порядок выполнения работы
- •Лабораторная работа 9 цифро-аналоговый преобразователь
- •2.2 Принцип действия цап
- •3 Практическая часть
- •3.1 Описание лабораторного стенда
- •3.2 Порядок выполнения работы
- •Лабораторная работа 10 архитектура и система команд микроконтроллера pic16f873a
- •2.2 Организация памяти. Система команд
- •Прочие команды
- •3 Практическая часть
- •3.1 Описание лабораторного стенда
- •3.2 Порядок выполнения работы
- •4 Контрольные вопросы
- •Лабораторная работа 11 среда программирования mplab ide
- •3 Практическая часть
- •3.1 Порядок выполнения работы
- •Лабораторная работа 12
- •2.2 Режимы работы портов
- •3 Практическая часть
- •3.1 Порядок выполнения работы
- •;Подпрограммы
- •4 Контрольные вопросы
- •Лабораторная работа 13 прерывание от кнопки
- •1 Цель работы
- •2 Теоретическая часть
- •2.1 Основные определения
- •2.2 Макросы
- •3 Практическая часть
- •3.1 Порядок выполнения работы
- •4 Контрольные вопросы
- •Лабораторная работа 14 прерывание от таймера
- •1 Цель работы
- •2 Теоретическая часть
- •2.1 Основные определения
- •2.2 Установка предделителя
- •3 Практическая часть
- •3.1 Порядок выполнения работы
- •Лабораторная работа 15 режим широтно-импульсной модуляции модуля «захват/сравнение/шим»
- •2.2 Настройка модуля «Захват/Сравнение/шим» (сср1) в режиме широтно-импульсной модуляции
- •3 Практическая часть
- •3.1 Порядок выполнения работы
- •4 Контрольные вопросы
- •Лабораторная работа 16 настройка модуля ацп
- •1 Цель работы
- •2 Теоретическая часть
- •2.1 Основные определения
- •2.2 Настройка модуля ацп
- •3 Практическая часть
- •3.1 Порядок выполнения работы
- •4 Контрольные вопросы
- •Лабораторная работа 17 динамическая индикация
- •1 Цель работы
- •2 Теоретическая часть
- •2.1 Основные определения
- •2.2 Динамическая индикация
- •3 Практическая часть
- •3.1 Порядок выполнения работы
- •4 Контрольные вопросы
- •Лабораторная работа 18
- •Последовательного порта
- •2.2 Режимы ведущего и ведомого
- •3 Практическая часть
- •3.1 Порядок выполнения работы
- •4 Контрольные вопросы
- •Библиографический список
- •Учебное издание
- •Лабораторный практикум
- •140400Б Электроэнергетика и электротехника, профиль Электроснабжение (все формы обучения) в авторской редакции
Лабораторная работа 10 архитектура и система команд микроконтроллера pic16f873a
1 ЦЕЛЬ РАБОТЫ
Изучить архитектуру и систему команд микроконтроллера PIC16F873A, а также устройство лабораторного стенда.
2 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
2.1 Основные определения
Микроконтроллер — микросхема, предназначенная для управления электронными устройствами. По сути, это однокристальный компьютер, способный выполнять относительно несложные задачи.
Наибольшее распространение микроконтроллеры получили во встроенных системах контроля и управления. Большой популярностью у разработчиков пользуются восьмиразрядные микроконтроллеры PIC фирмы Microchip Technology Inc.
Рисунок 10.1 – Архитектура микроконтроллера PIC
Микроконтроллеры семейства PIC построены по гарвардской архитектуре, что подразумевает физическое разделение памяти данных и команд, а также их шин. Это дает возможность микроконтроллеру за один такт выполнять обращение к памяти данных и к памяти команд. Кроме того, осуществляется раздельное хранение данных и команд в ОЗУ (RAM память данных) и ПЗУ (FLASH память программ) соответственно.
Сердцевиной микроконтроллера являются арифметикологическое устройство (АЛУ) и рабочий регистр. В АЛУ осуществляются арифметические и логические операции, а через рабочий регистр – обмен данными между всеми регистрами микроконтроллера, в том числе и портами, связывающими микроконтроллер с внешними устройствами.
В микроконтроллерах PIC реализована четырехтактная конвейерная обработка команд, что обеспечивает одновременное исполнение текущей команды и выборку из памяти данных следующей. Все команды микроконтроллера, кроме команд безусловного и условного переходов, выполняются за один машинный цикл. Операции безусловного и условного перехода, включая команды вызова подпрограмм и возврат из них, исполняются за два машинных цикла.
Микроконтроллеры имеют в своем составе различные периферийные устройства, что дает возможность подобрать микроконтроллер, который бы максимально подходил к конкретным условиям эксплуатации. В данном цикле лабораторных работ будут изучены следующие периферийные устройства микроконтроллера: порты ввода/вывода, модуль «Захват/Сравнение/ШИМ», модуль АЦП, модуль ведущего синхронного последовательного порта. И этим, конечно же, не исчерпываются возможности микроконтроллера.
2.2 Организация памяти. Система команд
В микроконтроллере PIC16F873A имеется три вида памяти: память программ, память данных и память EEPROM.
Память данных содержит ряд регистров специального назначения и 192 регистра общего назначения. Объем памяти программ – 4096 слов. Память EEPROM относится к периферии и представляет собой перепрограммируемое постоянное запоминающее устройство.
Программирование микроконтроллера обычно осуществляется на языках ассемблера или Си. Для отладки программ используются программные симуляторы. Полный перечень команд микроконтроллера приведен в таблице 10.1. Обратим внимание на то, что под термином «бит» здесь и далее понимается не объем информации, а отдельно взятый разряд регистра.
Таблица 10.1 Команды микроконтроллера PIC16F873A
№ |
Мнемоника команды |
Описание команды |
Бит-ориентированные команды |
||
1. |
bcf f,b |
Очистить бит b в регистре f |
2. |
bsf f,b |
Установить бит b в регистре f |
Команды пересылки |
||
3. |
movf f,d |
Переслать f |
4. |
movwf f |
Переслать w в f |
5. |
movlw k |
Переслать константу k в W |
Команды сдвига |
||
6. |
rlf f,d |
Циклический сдвиг f влево через перенос |
7. |
rrf f,d |
Циклический сдвиг f вправо через перенос |
8. |
swapf f,d |
Поменять местами полубайты в регистре f |
Команды очистки |
||
9. |
clrf f |
Очистить f |
10. |
clrw |
Очистить w |
11. |
clrwdt |
Очистить WDT |
Арифметические команды |
||
12. |
addwf f,d |
Сложение w и f |
13. |
addlw k |
Сложить константу k с w |
14. |
subwf f,d |
Вычесть w из f |
15. |
sublw k |
Вычесть w из константы |
16. |
incf f,d |
Прибавить 1 к f |
17. |
decf f,d |
Вычесть 1 из f |
Логические команды |
||
18. |
andwf f,d |
Побитное «И» W и f |
19. |
andlw k |
Побитное «И» константы k и w |
20. |
iorwf f,d |
Побитное «ИЛИ» w и f |
21. |
iorlw k |
Побитное «ИЛИ» константы k и w |
22. |
xorwf f,d |
Побитное Исключающее ИЛИ w и f |
23. |
xorlw |
Побитное Исключающее ИЛИ константы k и w |
24. |
comf f,d |
Инвертировать f (Операция «НЕ») |
Команды переходов |
||
25. |
goto k |
Безусловный переход |
26. |
btfsc f,b |
Проверить бит b в регистре f, пропустить следующую команду, если 0 |
27. |
btfss f,b |
Проверить бит b в регистре f, пропустить следующую команду, если 1 |
Окончание таблицы 10.1
Прибавить 1 к f и пропустить следующую коincfsz f,d
манду, если 0
Вычесть 1 из f и пропустить следующую команdecfsz f,d
ду, если 0
call k Вызов подпрограммы
return Возврат из подпрограммы
Возврат из подпрограммы с разрешением преretfie
рываний
Возврат из подпрограммы с загрузкой retlw k
константы k в W
