ПРИМЕНЕНИЕ ПРОГРАММНОГО КОМПЛЕКСА MULTISIM ДЛЯ ПРОЕКТИРОВАНИЯ УСТРОЙСТВ НА МИКРОКОНТРОЛЛЕРАХ
.pdfА. А. ШЕГАЛ
ПРИМЕНЕНИЕ ПРОГРАММНОГО
КОМПЛЕКСА MULTISIM
ДЛЯ ПРОЕКТИРОВАНИЯ
УСТРОЙСТВ
НА МИКРОКОНТРОЛЛЕРАХ
Лабораторный практикум
Министерство образования и науки Российской Федерации Уральский федеральный университет
имени первого Президента России Б. Н. Ельцина
ПРИМЕНЕНИЕ ПРОГРАММНОГО КОМПЛЕКСА MULTISIM ДЛЯ ПРОЕКТИРОВАНИЯ УСТРОЙСТВ НА МИКРОКОНТРОЛЛЕРАХ
Рекомендовано методическим советом УрФУ в качестве лабораторного практикума
студентов, обучающихся по направлению 211000 – Конструирование и технология электронных средств
Екатеринбург Издательство Уральского университета
2014
УДК 004.42:004.415.2(075.8)
ББК 32.973-018.2я73+32.973.26-02я73 Ш38
Рецензенты:
кафедра сетевых информационных систем и компьютерных технологий обучения Российского государственного профессионально-педагогического университета (канд. пед. наук Е. В. Чубаркова); д-р техн. наук, проф. Г. В. Чирков, главный специалист отдела энергосвязи
ООО «Прософт-системы»
Научный редактор – канд. техн. наук, доц. В. И. Иевлев
Шегал, А. А.
Ш38 Применение программного комплекса Multisim для проектирования устройств на микроконтроллерах : лабораторный практикум / А. А. Шегал. – Екатеринбург : Изд-во Урал. ун-та, 2014. –114, [2] с.
ISBN 978-5-7996-1117-0
Изложены теория и практическое решение основных вопросов, связанных с проектированием устройств на микроконтроллерах семейства mcs-51/52 с помощью программного комплекса Multisim-10.
Предназначается для студентов обучабщихся по направлению подготовки «Проектирование и технология электронно-вычислительных средств» при выполнении цикла лабораторных работ по дисциплине «Центральные и периферийные устройства ЭВС» и курсовом проектировании.
Библиогр.: 10 назв. Рис. 76. Табл. 20. Прил. 1.
УДК 004.42:004.415.2(075.8)
ББК 32.973-018.2я73+32.973.26-02я73
ISBN 978-5-7996-1117-0 |
Уральский федеральный |
|
университет, 2014 |
Оглавление
ПЕРЕЧЕНЬ ИСПОЛЬЗУЕМЫХ СОКРАЩЕНИЙ............................................ |
5 |
ВВЕДЕНИЕ................................................................................................................. |
6 |
1. МЕТОД СТРУКТУРНОГО ПРОЕКТИРОВАНИЯ |
|
МИКРОКОНТРОЛЛЕРНЫХ УСТРОЙСТВ....................................................... |
8 |
1.1. Языки программирования микроконтроллеров................................................ |
9 |
1.2. Структурное программирование МК............................................................... |
10 |
2. ОПИСАНИЕ ЛАБОРАТОРНЫХ РАБОТ...................................................... |
14 |
2.1. ЛАБОРАТОРНАЯ РАБОТА № 1. Основы работы с программным |
|
обеспечением Multisim ............................................................................................. |
14 |
2.1.1. Интерфейс пользователя............................................................................. |
14 |
2.1.2. Создание проекта и программного файла................................................. |
30 |
2.1.3. Задания для лабораторной работы............................................................. |
33 |
2.1.4. Содержание отчета....................................................................................... |
35 |
2.1.5. Вопросы для самоконтроля......................................................................... |
35 |
2.2. ЛАБОРАТОРНАЯ РАБОТА № 2. ПОДКЛЮЧЕНИЕ ВНЕШНЕЙ ПАМЯТИ
И ЕЕ ТЕСТИРОВАНИЕ ........................................................................................... |
37 |
2.2.1. Особенности подключения к МК внешней памяти и периферийных |
|
устройств................................................................................................................. |
37 |
2.2.2. Порядок выполнения лабораторной работы............................................. |
39 |
2.2.3. Задания для лабораторной работы............................................................. |
48 |
2.2.4. Содержание отчета....................................................................................... |
49 |
2.2.5. Вопросы для самоконтроля......................................................................... |
49 |
2.3. ЛАБОРАТОРНАЯ РАБОТА № 3. ОРГАНИЗАЦИЯ ЗАДАННЫХ |
|
ИНТЕРВАЛОВ ВРЕМЕНИ...................................................................................... |
50 |
2.3.1. Основы настройки и использования таймеров МК-51............................. |
50 |
2.3.2. Порядок выполнения лабораторной работы............................................. |
53 |
2.3.3. Задания для лабораторной работы............................................................. |
59 |
2.3.4. Содержание отчета....................................................................................... |
60 |
2.3.5. Вопросы для самоконтроля......................................................................... |
60 |
2.4. ЛАБОРАТОРНАЯ РАБОТА № 4. ОСНОВЫ ОРГАНИЗАЦИИ |
|
ПОСЛЕДОВАТЕЛЬНОГО ПОРТА......................................................................... |
61 |
2.4.1. Основные сведения о режимах работы последовательного порта......... |
61 |
2.4.2. Порядок выполнения лабораторной работы............................................. |
64 |
2.4.3. Задания для лабораторной работы............................................................. |
67 |
2.4.4. Содержание отчета....................................................................................... |
68 |
2.4.5. Вопросы для самоконтроля......................................................................... |
68 |
2.5. ЛАБОРАТОРНАЯ РАБОТА № 5. ОТОБРАЖЕНИЕ ИНФОРМАЦИИ В |
|
СИСТЕМАХ С МК-51 .............................................................................................. |
69 |
2.5.1. Общие сведения о семисегментных индикаторах.................................... |
69 |
2.5.2. Ход выполнения лабораторной работы..................................................... |
72 |
3 |
|
2.5.3. Задания для лабораторной работы............................................................. |
76 |
2.5.4. Содержание отчета....................................................................................... |
76 |
2.5.5. Вопросы для самоконтроля......................................................................... |
77 |
ЛАБОРАТОРНАЯ РАБОТА № 6. ИЗУЧЕНИЕ ПРИНЦИПОВ РАБОТЫ |
|
ЦИФРОАНАЛОГОВЫХ ПРЕОБРАЗОВАТЕЛЕЙ................................................ |
78 |
2.6.1. Общие сведения о цифроаналоговом преобразовании............................ |
78 |
2.6.2. Ход выполнения лабораторной работы..................................................... |
83 |
2.6.3. Задания для лабораторной работы............................................................. |
85 |
2.6.4. Содержание отчета....................................................................................... |
85 |
2.6.5. Вопросы для самоконтроля......................................................................... |
85 |
ЛАБОРАТОРНАЯ РАБОТА № 7. ИЗУЧЕНИЕ ПРИНЦИПОВ РАБОТЫ |
|
АНАЛОГО-ЦИФРОВЫХ ПРЕОБРАЗОВАТЕЛЕЙ............................................... |
86 |
2.7.1. Основные сведения об аналого-цифровых преобразователях................ |
86 |
2.7.2. Ход выполнения лабораторной работы..................................................... |
93 |
2.7.3. Задания для лабораторной работы............................................................. |
96 |
2.7.4. Содержание отчета....................................................................................... |
97 |
2.7.5. Вопросы для самоконтроля......................................................................... |
97 |
ЛАБОРАТОРНАЯ РАБОТА № 8. ИССЛЕДОВАНИЕ ШИРОТНО- |
|
ИМПУЛЬСНОЙ МОДУЛЯЦИИ, РЕАЛИЗОВАННОЙ |
|
МИКРОКОНТРОЛЛЕРОМ МК-52.......................................................................... |
98 |
2.8.1. Основы применения микроконтроллера МК-52 для получения ШИМ . 98 |
|
2.8.2. Ход выполнения лабораторной работы................................................... |
102 |
2.8.3. Задания для лабораторной работы........................................................... |
104 |
2.8.4. Содержание отчета..................................................................................... |
105 |
2.8.5. Вопросы для самоконтроля....................................................................... |
105 |
ЗАКЛЮЧЕНИЕ..................................................................................................... |
106 |
БИБЛИОГРАФИЧЕСКИЙ СПИСОК.............................................................. |
107 |
ПРИЛОЖЕНИЕ. НАСТРОЙКА ВИРТУАЛЬНЫХ ПРИБОРОВ: ГЕНЕРАТОРА |
|
СЛОВ, ЛОГИЧЕСКОГО ГЕНЕРАТОРА, ФУНКЦИОНАЛЬНОГО |
|
ГЕНЕРАТОРА ......................................................................................................... |
108 |
4
Перечень используемых сокращений
АЦП – аналого-цифровой преобразователь БД – база данных ЗМР – значение младшего разряда
КМОП – комплементарная логика на транзисторах металл-оксид- полупроводник ЛКМ – левая кнопка мыши
МК – микроконтроллеры МПУ – микропроцессорные устройства
ОЗУ – оперативное запоминающее устройство ПЗУ – постоянное запоминающее устройство ПК – персональный компьютер ПКМ – правая кнопка мыши ПО – программное обеспечение
ТТЛ – транзисторно-транзисторная логика ЦАП – цифро-аналоговый преобразователь ЭВС – электронно-вычислительные средства ШИМ – широтно-импульсная модуляция
NI – National Instruments EWB – Electronics Workbench
SFR – регистры специальных функций
5
Введение
Современный уровень развития промышленности предъявляет повышенный спрос на специалистов в области проектирования и технологии устройств на микроконтроллерах (МК), компьютерных систем и средств связи. Очень важно, чтобы бакалавры и специалисты направления подготовки «Конструирование и технология электронных средств» могли использовать современные приемы компьютерного проектирования, которые повышают производительность и качество разработки с одновременным снижением ее стоимости.
Разработка сложного электронного устройства сопровождается физическим или математическим моделированием. Физическое моделирование часто связано с большими материальными затратами, поскольку требует изготовления макетов и их трудоемкого натурного исследования. В таких случаях, как правило, используют математическое моделированиеприпомощисредствиметодоввычислительнойтехники.
Для того чтобы студенты получили практические навыки в сфере проектирования микроконтроллерных устройств, в учебный план дисциплины «Центральные и периферийные устройства ЭВС» введены лабораторно-практические занятия студентов с использованием элементов компьютерного моделирования ЭВС.
На кафедре имеется лицензионное программное обеспечение компании National Instruments (NI), поэтому подходящим продуктом является среда проектирования Multisim фирмы Electronics Workbench, которая в настоящее время входит в корпорацию NI. Она позволяет строить и анализировать любые электронные схемы: аналоговые, цифро-аналоговые и цифровые. Программа Multisim достаточно легко осваивается и удобна в работе. Важно, что последние версии ПО Multisim позволяют моделировать программируемые цифровые устройства на основе 8-разрядных МК с ядром MCS-51 и PIC-16 фирмы Microchip, поскольку в составе ПО имеются компиляторы с языка С и ассемблера указанных микроконтроллеров.
Предлагаемый цикл лабораторных работ предназначен для изучения принципов построения и функционирования электронновычислительных средств (ЭВС), построенных на базе микроконтроллеров семейства MCS-51 с использованием программного пакета моделирования Multisim.
6
Восьмиразрядные микроконтроллеры семейства MCS-51 выбраны для изучения по нескольким причинам:
наличие программной модели микроконтроллера в базе элемен-
тов Multisim;
простота понимания студентами 3 курса, которые имеют небольшой объем знаний по схемотехнике и программированию;
возможность освоения основных приемов проектирования микроконтроллерных систем;
наличие библиографических источников.
Для успешного выполнения студентами курсовой работы, кото-
рая завершает изучение дисциплины «Центральные и периферийные устройства ЭВС» в лабораторный практикум введены лабораторные занятия по решению часто встречающихся на практике задач, связанных с проектированием МК и разработкой типовых модулей микроконтроллерных устройств:
получение требуемых интервалов времени;
отображение информации на цифровых индикаторах;
настройка и использование последовательного порта для приема / передачи информации;
подключение внешней памяти к ядру МК (что является актуальным для 8-разрядных микроконтроллеров);
цифро-аналоговое и аналого-цифровое преобразования информации, применяемые при построении систем обработки информации и управления;
реализация широтно-импульсной модуляции, которая используется, в частности, при управлении исполнительными устройствами.
Помимо перечисленных выше тем лабораторных занятий в начале лабораторного практикума студенты знакомятся с основами работы в программной среде моделирования Multisim.
При выполнении лабораторных работ студенты должны практически освоить основы организации МК семейства MCS-51, которые рассматриваются в лекционном материале дисциплины [1], а также изложены, например, в [2].
Современным методом проектирования микроконтроллерных устройств является метод структурного проектирования, общие положения которого рассматриваются в следующем разделе.
7
1. Метод структурного проектирования микроконтроллерных устройств
Основная идея метода состоит в том, что при использовании ре-
гламентированной последовательности действий по проектированию аппаратных средств и выборе определенной структуры программы удается разработать микроконтроллерную систему, отвечающую поставленным техническим требованиям.
Следует отметить, что метод структурного проектирования микроконтроллерных устройств хотя и не гарантирует обязательное успешное завершение проекта, но значительно увеличивает вероятность его успешного выполнения.
Рекомендуется использовать следующие этапы структурного проектирования [3]:
1)детальный анализ требований, предъявляемых к проектируемому устройству, на основе которых формулируются технические характеристики разрабатываемого устройства;
2)декомпозиция проектируемой системы на несколько иерархиче-
ски взаимосвязанных функциональных подсистем (модулей) с определением взаимосвязей между ними. Для каждой подсистемы определяется выполняемая функция, входы и выходы, без конкретизации внутренней структуры (модель «черного ящика»); 3) разработка структурной схемы аппаратуры и алгоритма
ее функционирования;
4)определение способа реализации каждого функционального модуля (выбор аппаратных и программных решений);
5)комплексная отладка проектируемого устройства.
Впроектах разной сложности некоторые из перечисленных этапов могут быть объединены, например, 3 и 4.
Вцикле лабораторных работ, выполняемом студентами, тема каждой лабораторной работы связана с проектированием типичного функционального модуля на МК. Совместная реализация определенной совокупности функциональных модулей, разработанных в лабораторном практикуме, обеспечит успешное проектирование микроконтроллерного устройства, отвечающего варианту задания курсовой работы.
8
1.1. Языки программирования микроконтроллеров
Разработчики микроконтроллерных систем пишут свои программы либо на ассемблере (машинно-ориентированном языке), либо на языках высокого уровня (ЯВУ). В настоящее время в организациях разработчиков встраиваемых устройств, как правило, применяется язык программирования С, который обеспечивает хороший доступ к аппаратным ресурсам МК.
Как любой другой язык высокого уровня, язык С позволяет разработать такой исходный текст программы, который обладает свойством переносимости кода. Это означает, что программа, написанная на С для одного МК, затем может быть скомпилирована другим компилятором для МК с отличающимся процессорным ядром. Для того чтобы программа обладала свойством переносимости, синтаксис языка высокого уровня для разных компиляторов должен быть одинаков, таков, например, язык С стандарта ANSI. Основная цель стандартизации состоит в том, чтобы обеспечить разработчику возможность написания типовых функций управления (или функциональных модулей) один раз с последующим их многократным использованием в разных проектах и для разных МК.
Язык С также обеспечивает хорошую читаемость кода. Это свойство обозначает, что программист, не являющийся разработчиком программы, может по исходному тексту программы понять, какой алгоритм реализован и как программа работает. Еще одним преимуществом С как языка высокого уровня является наличие библиотек математических функций над числами, представленными в различных форматах, в том числе и в формате с плавающей точкой.
Ассемблер, по сравнению с языком С, имеет то важное преиму-
щество, что хорошо написанная на ассемблере программа исполня-
ется за меньшее время и занимает в памяти меньший объем, чем программа на С. Именно эти характеристики: время выполнения и размер программного кода, – являются критическими для приложений, где элементная база обладает относительно невысоким быстродействием, а память программ ограничена в объеме.
Практика совместного применения языков С и ассемблера в одном проекте показывает, что такой подход позволяет получить оптимальный результат как с точки зрения экономии времени на разработку, так и времени исполнения программы [3].
9