- •А.В. Шарапов
- •1. Основные этапы выполнения курсового проекта по проектированию микропроцессорных систем
- •1.1 Конкретизация технического задания
- •1.2. Разработка функциональной схемы устройства,
- •1.3. Разработка схемы алгоритма прикладной программы
- •1.4. Разработка принципиальной электрической схемы
- •1.5. Разработка прикладной программы
- •1.6. Оформление и защита проекта
- •2. Варианты заданий на курсовое проектирование
- •3. Средства разработки программы на языке си, компиляторы и симуляторы
- •4. Язык си для микроконтроллеров
- •Структура программы на языке Си
- •Пункт 4. Объявление переменных
- •5. Загрузка программы в микроконтроллер
- •6. Моделирование работы микроконтроллера avrс помощью симулятораvmlab
- •Программа работы
- •Xdisp lcd(16 2 250k) pa0 pa1 pa2 pa7 pa6 pa5 pa4 nc3 nc2 nc1 nc0
- •Void main(void){
- •If(pind.6){
- •Контрольные вопросы
- •8. Пример выполнения курсового проекта измеритель частоты сети
- •Обоснование алгоритма решения задачи
- •Разработка прикладной программы
- •Version : от 17 до 120 Гц
- •0X41,0xA0,0x42,0xA1,0xE0,0x45,0xA3,0xA4,
- •Моделирование работы устройства с помощью proteus
- •Приложение а
- •2009 Приложение б
- •Приложение в
- •Приложение г
- •Приложение д
- •Приложение ж
- •Приложение и
- •Приложение к
- •Литература
Void main(void){
DDRB=0xFF; //Настройка порта В на вывод
PORTD=0x40; // 6 линия порта D - вход с подтяжкой
m1:
If(pind.6){
PORTB=1;
while (PORTB!=0){
delay_ms(10);
PORTB=PORTB<<1;};}
else {
PORTB=128;
while (PORTB!=0){
delay_ms(10);
PORTB=PORTB>>1;};}
goto m1;}
; файл z5_vm.prj
.MICRO "ATmega16"
.TOOLCHAIN GENERIC"
.TARGET "z5.hex"
.COFF "z5.cof"
.SOURCE "z5__.c"
.CLOCK 4meg
.POWER VDD = 5 VSS = 0
K0 PD6 VSS LATCHED ; кнопка 0 панели Control Panel
; Эмулятор имеет 8 светодиодов -
; подключаем их к выводам порта B
D1 VDD PB0
D2 VDD PB1
D3 VDD PB2
D4 VDD PB3
D5 VDD PB4
D6 VDD PB5
D7 VDD PB6
D8 VDD PB7
Модифицировать программу в соответствии со своим вариантом индивидуального задания и произвести ее отладку:
При нажатии кнопки 1 (пятая линия порта А) должна меняться частота мигания светодиодов порта С.
В одном положении кнопки 2 (седьмая линия порта А) должен наблюдаться эффект бегущего огонька на светодиодах порта D, в другом положении – светодиоды должны тухнуть.
При нажатии кнопки 3 (первая линия порта D) эффект бегущего огонька на светодиодах порта А должен измениться на эффект бегущей тени.
В одном положении кнопки 4 (шестая линия порта А) должен наблюдаться эффект бегущего огонька со сменой направления на светодиодах порта В, в другом положении – светодиоды должны тухнуть.
При нажатии кнопки 5 (первая линия порта А) эффект бегущего огонька на светодиодах порта C должен измениться на их постоянное горение.
При нажатии кнопки 6 (пятая линия порта А) должна меняться частота мигания светодиодов порта D (эффект реализовать за счет смены горящих тетрад порта).
Эффект «елочка» (последовательное заполнение огнями линий порта С и их общее погасание) при нажатии кнопки 7 (первая линия порта D) должен измениться на эффект бегущей тени.
Эффект «елочка» (последовательное заполнение огнями линий порта D и их общее погасание) при нажатии кнопки 8 (вторая линия порта В) должен измениться на эффект бегущего огонька.
Контрольные вопросы
Назовите нагрузочную способность линий портов AVR.
Какими ассемблерными вставками можно разрешать и запрещать глобально прерывания в программе для AVR на языке Си?
Запишите результат выполнения арифметических операций: 245/37 и 245%37.
К линиям порта В через дешифраторы подключены два цифровых семисегментных индикатора. Записать команду на языке Си, выводящую на индикаторы число (от 00 до 99), соответствующее значению переменной period.
Дать комментарий к команде PORTA=~(per++);
Объявите переменную mnogo, если она может принимать значения от нуля до миллиона.
Прокомментировать результат выполнения команды ADCSRA|=0x40;
7. МОДЕЛИРОВАНИЕ РАБОТЫ МИКРОКОНТРОЛЛЕРА AVR С ПОМОЩЬЮ СИМУЛЯТОРА PROTEUS VSM
Proteus VSM – программа-симулятор микропроцессорных устройств. Поддерживает МК: PIC, 8051, AVR, HC11 и другие распространенные процессоры. PROTEUS содержит огромную библиотеку электронных компонентов: более 6000 популярных аналоговых и цифровых моделей устройств. PROTEUS VSM позволяет очень достоверно моделировать и отлаживать достаточно сложные устройства, в которых может содержаться несколько МК одновременно и даже разных семейств в одном устройстве. PROTEUS VSM великолепно работает с компилятором CodeVisionAVR. Proteus VSM является средой сквозного проектирования. Это означает создание устройства, начиная с его принципиальной схемы и заканчивая изготовлением печатной платы. Достаточный набор инструментов и функций, среди которых вольтметр, амперметр, осциллограф, всевозможные генераторы, способность отлаживать программное обеспечение микроконтроллеров, делают Proteus VSM хорошим помощником разработчика электронных устройств.
Proteus VSM состоит из двух самостоятельных программ: ISIS и ARES. ARES – это трассировщик печатных плат. Основной программой является ISIS, в ней предусмотрена горячая связь с ARES для разводки платы.
При запуске программы появляется основное окно (рис.6). Самое большое место отведено под окно редактирования. Именно в нем происходят все основные процессы создания, редактирования и отладки схемы устройства. В самом низу основного окна расположена панель управления активной симуляцией (ПУСК-ПОШАГОВЫЙ РЕЖИМ-ПАУЗА-СТОП).
На рис. 6 приведена схема моделирования цифрового термометра на микроконтроллере ATmega16 с термодатчиками фирмы DALLAS SEMICONDUCTOR и выводом информации на LCD-дисплей. Микросхема DS18S20 обеспечивает 9-битные температурные измерения по шкале Цельсия. Микросхема DS18S20 подключается через 1-проводную шину, которая по определению требует только одной линии данных (а также общей) для взаимодействия с центральным процессором. Она имеет рабочий температурный диапазон от -55°C до +125°C и точность ±0.5°C в диапазоне от -10°C до +85°C.
Модель термометра DS18S20 позволяет задавать температуру термодатчика (в данном примере +100.0 и -32.0 оС). При указании свойств микроконтроллера подключается файл прикладной программы с расширением .hex, подготовленный компилятором CVAVR.

Рисунок 6 – Моделирование цифрового термометра для измерения
комнатной и наружной температуры
C помощью встроенного в среду моделирования Proteus осциллографа можно снять управляющие сигналы микроконтроллера и информационный сигнал датчика. Временные диаграммы сигналов (протокол 1-Wire) представлены на рисунках 7 и 8 соответственно. Уровни напряжения можно видеть на всех выводах компонентов непосредственно (лог.1 - красный цвет, лог.0 - синий, неподключенные выводы - серый цвет). В данном примере моделирование позволило показать работоспособность устройства при измерении высоких и низких температур.

Рисунок 7 – Осциллограмма управляющих сигналов микроконтроллера

Рисунок 8 – Осциллограмма информационного сигнала датчика
Экспериментально в рамках группового проектного обучения студентами четвертого курса специальности «Промышленная электроника» Алексеем Качаловым, Дмитрием Резепиным и Ильхамом Кадышевым была проверена работа устройства, предназначенного для лекционной аудитории с индикацией комнатной и наружной температуры, а также даты и текущего времени. Устройство предварительно было смоделировано в симуляторе Proteus VSM (рис.9).

Рисунок 9 – Моделирование работы устройства в симуляторе
ProteusVSM
Cхема компонуется в рабочем окне подобно тому, как это делается в Electronics Workbench. При указании свойств микроконтроллера подключается файл прикладной программы с расширением .hex, подготовленный компилятором CVAVR.
Функционирование часов осуществляется при помощи специализированной микросхемы DS1307 (малопотребляющие полные двоично-десятичные часы-календарь, включающие 56 байтов энергонезависимого статического ОЗУ). Адреса и данные передаются последовательно по двухпроводной двунаправленной шине, при использовании протокола I2C.
Теми же авторами проведен эксперимент с выводом информации на индикаторную панель в режиме динамической индикации (рис. 10). Ниже показан заголовок прикладной программы.
Основные компоненты схемы:
Термодатчик фирмы Dallas Semiconductor DS18S20.
Индикаторная панель фирмы Kingbright CA25-12GWA.
Микроконтроллер фирмы Atmel Mega 8.

Рисунок 10 – Моделирование работы цифрового термометра
/*****************************************************
This program was produced by the
CodeWizardAVR V1.25.5 Professional
Project : Digital Termometr
Version :
Date : 17.05.2008
Author : Kachalov Alexey, Rezepin Dmitriy, Kadyshev Ilham
Company : TUSUR, PrE, GPO
Comments:
Chip type : ATmega8
Program type : Application
Clock frequency : 1,000000 MHz
Memory model : Small
DataStacksize: 256
*****************************************************/
