- •«Техникум радиоэлектроники и информационных технологий» Методические указания
- •Ижевск, 2014
- •Введение
- •Теоретические сведения Микроконтроллеры. Основные определения.
- •Программирование микроконтроллеров. Компиляторы.
- •Получение файла прошивки
- •Программаторы
- •Общая постановка задач на курсовое проектирование
- •Варианты заданий
- •Пример выполнения курсового проекта
- •Моделирование работы схемы в Proteus vsm 7.7.
- •Список литературы
Программаторы
Большинство программ-программаторов могут быть настроены для работы с разными схемами программаторов-адаптеров. Программатор-адаптер подключается к компьютеру через какой-либо порт ввода-вывода. В настоящее время существуют три наиболее распространённых возможности подключения программатора к компьютеру по какому-либо порту:
LPT
COM
USB
В течение последних лет параллельный порт принтера LPT и последовательный COM-порт были вытеснены USB-портом. Тем не менее, все еще имеются в продаже отдельные платы расширения для LPT- и/или COM-порта. Такие карты можно дополнительно установить в уже имеющийся компьютер.
Схема программатора EXTRA-PIC имеет следующий вид (рис. 1):
Рис. 1 Схема программатора EXTRA-PIC
Общая постановка задач на курсовое проектирование
произвести поиск аналогов по выбранной теме курсового проекта;
разработать описание алгоритма работы разрабатываемой микропроцессорной системы;
разработать функциональную схему системы;
осуществить разбиение микропроцессорной системы на аппаратную и программную части;
определить входы и выходы аппаратных и программных блоков;
провести анализ и выбор аппаратных модулей;
разработать электрические схемы микропроцессорной системы;
провести моделирование разработанной системы с использованием моделирующих программ.
Варианты заданий
Вариант №1. Разработать вольтметр на базе микроконтроллера с диапазоном измерений от 0 до 10в.
Вариант №2. Разработать измеритель частоты с диапазоном измерений от100 до10000 Гц.
Вариант №3. Разработка АЦП в составе микропроцессорной системы.
Вариант №4. Разработка цифрового спидометра на основе микроконтроллера.
Вариант №5. Разработка электронного термометра на основе МК.
Вариант .№6. Разработка пожарной сигнализации на основе МК.
Вариант №7. Автомобильные часы на основе МК.
Вариант №8. Охранная сигнализация на основе МК.
Вариант №9 Разработка МПС регулировки температуры в аквариуме.
Вариант №10. Автоматический определитель номера на основе МК.
Вариант №11. Цифровой тахометр на основе МК.
Вариант №12 Устройство управления электроплитой на основе МК.
Вариант №13 Микропроцессорная система регулировки зажигания двигателя.
Вариант №14 Измеритель временных интервалов.
Пример выполнения курсового проекта
Для выполнения курсового проекта в качестве примера выбран вариант разработки аналого-цифрового преобразователя на основе микроконтроллера фирмы MicroChip PIC12F683. Написание программы будет производиться в среде разработки PIC C Compiler (CCS PCWHD) на языке Си. Моделирование работы схемы будет производиться в среде Proteus VSM 7.7. Для моделирования необходим файл прошивки микроконтроллера с расширением .hex. Для вызова справки, просмотра всех встроенных функций компилятора, типов данных и примеров работы с различными модулями периферии, нужно нажать клавишу F1.
Получение файла прошивки
Открыть компилятор PIC C Compiler (файл E:\PICC\Pcw.exe).
Выбираем пункт меню Project – Pic Wizard.
Выбираем путь для сохранения проекта main.pjt.
Выбираем на вкладке General Device PIC12F683 и Oscillator Frequency 2 000 000 Hz.
На вкладке Communications выбираем:
Далее нажимаем кнопку Ок.
В открывшееся окно вставляем следующий текст программы:
#include <12F683.h> //MK PIC12F683
#DEVICE ADC=10 //10-разрядный АЦП
#FUSES NOWDT //сторожевой таймер не используем
#FUSES INTRC_IO //используем внутреннюю RC-цепочку без CLKOUT
#FUSES NOMCLR //не используем Master Clear Pin
#FUSES NOCPD //защита данных в памяти EEPROM отключена
#FUSES NOPROTECT //код не защищен от чтения
#use delay(clock=2000000) //Частота работы микроконтроллера 2 МГц
#use RS232 (baud=19200, parity=N, xmit=PIN_A5, bits=8) //инициализируем //последовательный порт, работающий по стандарту RS232;
//скорость передачи данных 19200, контроль по четности отсутствует,
//вывод для передачи данных А5, разрядность 8.
void main()
{
long value,value2; //Переменные для хранения результата АЦП
value2=5000;
SETUP_ADC(ADC_CLOCK_INTERNAL); //Работает от внутреннего генератора
SETUP_ADC_PORTS(sAN0); //GP0 для входа аналогового сигнала
set_adc_channel (0); //Инициализируем канал 0 для АЦП
delay_us(10); //Небольшая задержка после инициализации
while (1)
{
value = read_adc(); //считываем значение АЦП
delay_ms(20);
if (value!=value2) //Выводим значение АЦП только в том случае, если оно //изменилось
{ printf("%lu \n\r",value);
value2 = value;}
}
}
Компилируем проект (Вкладка Compile – кнопка Compile).
Далее в папке с проектом появится файл с расширением .hex. (E:\PICC\projects\main.hex). Путь к нему нужно будет указать при моделировании в Proteus VSM 7.7.
