Создание устройства автомата подачи звонков в учебном заведении на основе ПК
Внешний вид и устройство современного микроконтроллера фирмы ATmega. Создание файла прошивки устройства, сборки собственной схемы и симулирование полученного устройства. Принципиальная схема устройства. Алгоритмы работы программы. Исходный код прошивки.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 26.11.2013 |
Размер файла | 1,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ
1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
1.1 Постановка задачи
1.2 Теоретические сведения
2. ПРАКТИЧЕСКАЯ ЧАСТЬ
2.1 Принципиальная схема устройства
2.2 Алгоритмы работы программы
2.3 Текст программы
2.4 Результаты тестирования (симулирования) устройства
2.5 Анализ полученных результатов
ЗАКЛЮЧЕНИЕ
ПРИЛОЖЕНИЕ
ВВЕДЕНИЕ
Микроконтроллер -- микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает в себе функции процессора и периферийных устройств, может содержать ОЗУ. Кроме ОЗУ, микроконтроллер может иметь встроенную энергонезависимую память для хранения программы и данных. Другие модификации контроллеров обладают возможностью многократной перезаписи энергонезависимой памяти [2, стр.21].
Первый патент на однокристальную микро-ЭВМ был выдан в 1971 году инженерам Кочрену и Буну, сотрудникам американской Texas Instruments. Именно они предложили на одном кристалле разместить не только процессор, но и память с устройствами ввода-вывода.
В 1976 году американская фирма Intel выпускает микроконтроллер i8048. В 1978 году фирма Motorola выпустила свой первый микроконтроллер MC6801, полностью совместимый с системой команд выпущенного ранее микропроцессора MC6800. Через 4 года, в 1980 году, Intel выпускает следующий микроконтроллер: i8051. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтроллеру успех на рынке. С точки зрения технологии микроконтроллер i8051 являлся для своего времени очень сложным изделием -- в кристалле было использовано 128 тысяч транзисторов, что в 4 раза превышало количество транзисторов в 16-разрядном микропроцессоре i8086 [2, стр.12].
На сегодняшний день существует более 200 модификаций микроконтроллеров, совместимых с i8051, выпускаемых двумя десятками компаний, и большое количество микроконтроллеров других типов. Популярностью у разработчиков пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, 16-битные MSP430 фирмы TI, а также 32-битные микроконтроллеры, архитектуры ARM, которую разрабатывает фирма ARM Limited и продаёт лицензии другим фирмам для их производства [3, стр.17].
Одно и то же устройство, которое раньше собиралось на традиционных элементах, будучи собрано с применением микроконтроллеров, становится проще, не требует регулировки и меньше по размерам. Кроме того, с применением микроконтроллеров появляются практически безграничные возможности по добавлению новых функций и возможностей к уже существующим устройствам.
При проектировании микроконтроллеров приходится соблюдать баланс между размерами и стоимостью с одной стороны и гибкостью и производительностью с другой. Для разных приложений оптимальное соотношение этих и других параметров может различаться очень сильно. Поэтому существует огромное количество типов микроконтроллеров, отличающихся архитектурой процессорного модуля, размером и типом встроенной памяти, набором периферийных устройств, типом корпуса и т. д. В отличие от обычных компьютерных микропроцессоров, в микроконтроллерах часто используется гарвардская архитектура памяти, то есть раздельное хранение данных и команд в ОЗУ и ПЗУ соответственно.
Целью данной курсовой работы является создание устройства автомата подачи звонков в учебном заведении на основе ПК. Задачей данной курсовой работы является создания файла прошивки устройства, сборки собственной схемы и симулирование полученного устройства.
1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
1.1 Постановка задачи
Реализовать работу автомата подачи звонков в учебном заведении на atmega8, провести симуляцию, получить результаты, проанализировать их. При выполнении данной задачи должны использоваться средства разработки:
CodeVisionAVR C compiler - для создания исходного кода прошивки микроконтроллера.
Proteus - для создания, симулирования и отладки электронной схемы устройства.
Вышеперечисленные программы являются удобными и многофункциональными в своем классе решаемых задач.
1.2 Теоретические сведения
Как и все микроконтроллеры AVR фирмы «Atmel», микроконтроллеры семейства ATmega являются 8-разрядными микроконтроллерами, предназначенными для встраиваемых приложений. Они изготавливаются по малопотребляющей CMOP-технологии, которая в сочетании с усовершенствованной RISC-архитектурой позволяет достичь наилучшего соотношения быстродействия/энергопотребления [3, стр.24].
Микроконтроллеры являются сердцем многих современных устройств и приборов. Самой главной особенностью микроконтроллеров является то, что с их помощью легче и зачастую гораздо дешевле реализовать различные схемы.
Внешний вид современного микроконтроллера фирмы ATmega показан на рисунке 1.1.
Рисунок 1.1 - Микроконтроллер фирмы ATmega
К числу особенностей микроконтроллера AVR семейства ATmega относятся:
FLASH-память программ объемом 8 - 128 Кбайт;
Оперативная память (статическое ОЗУ) объемом 1 - 4 Кбайт;
Память данных на основе ЭСППЗУ (EEPROM) объемом от 512 байт до 4 Кбайт;
Возможность защиты от чтения и модификации памяти программ и данных;
Наличие детектора снижения напряжения питания (brown-out-detector, BOD) [1, стр.37].
Все характеристики подсистемы ввода/вывода микроконтроллеров семейства ATmega такие же, что и у микроконтроллеров других семейств:
Программное конфигурирование и выбор портов ввода/вывода;
Выводы могут быть запрограммированы как входные и как выходные независимо друг от друга;
Входные буферы с триггером шмитта на всех выводах;
Возможность подключения ко всем входам внутренних подтягивающих резисторов (сопротивление резисторов 35 - 120 кОм).
Порты ввода/вывода AVR имеют число независимых линий "Вход/Выход" от 3 до 53. Каждый разряд порта может быть запрограммирован на ввод или на вывод информации. Мощные выходные драйверы обеспечивают токовую нагрузочную способность 20 мА на линию порта (втекающий ток) при максимальном значении 40 мА, что позволяет, например, непосредственно подключать к микроконтроллеру светодиоды и биполярные транзисторы. Общая токовая нагрузка на все линии одного порта не должна превышать 80 мА (все значения для напряжения питания 5 В) [4, стр.55].
Интересная архитектурная особенность построения портов ввода/вывода у AVR заключается в том, что для каждого физического вывода существует 3 бита контроля/управления, а не 2, как у распространенных 8-разрядных микроконтроллеров (Intel, Microchip, Motorola и т.д.).
Микроконтроллеры семейства ATmega имеют наиболее богатый набор периферийных устройств (ПУ). При этом в большинстве моделей имеются все ПУ, которые вообще встречаются в составе микроконтроллеров AVR. Этими устройствами являются:
8-разрядные таймеры/счетчики (таймеры Т0 и Т2). В ряде моделей эти таймеры/счетчики могут работать в качестве часов реального времени (в асинхронном режиме). У некоторых моделей они могут использоваться в качестве одно- или двухканального 8-битного генератора ШИМ-сигналов. Количество регистров, обслуживающие таймеры, зависит от их сложности и функциональности.
16-разрядные таймеры/счетчики (таймеры Т1 и Т3). Как и 8-разрядные таймеры/счетчики, они используются для подсчета внешних событий, формирование сигналов, генерация ШИМ, но уже переменной разрядности, и в дополнение может сохранять свое текущее состояние в отдельном регистре по внешнему событию.
Сторожевой таймер WDT. Он предназначен для защиты микроконтроллеров от сбоев в процессе работы и имеется во всех моделях семейства. Этот таймер работает даже в режимах пониженного энергопотребления, т.к. имеет независимый тактовый генератор, работающий на частоте 1МГц при напряжении 5В.
Генераторы сигнала с ШИМ разрядностью 8 бит (один из режимов работы 8-разрядных таймеров/счетчиков Т0 и Т2).
Одноканальные, двухканальные и трехканальные генераторы сигнала с ШИМ регулируемой разрядности (один из режимов работы 16-разрядных таймеров Т1 и Т3). Разрешение ШИМ-сигнала для разных моделей составляет 8 - 10 бит или 1 - 16 бит.
Аналоговый компаратор. Он позволяет сравнивать значения напряжений, присутствующих на двух выводах контроллера. Результатом сравнения является логическое значение, которое может быть получено программой. По результатам может быть сгенерировано прерывание, а также осуществлен захват значение счетного регистра таймера/счетчика Т1, что позволяет измерить длину аналоговых сигналов.
Многоканальный 10-разрядный АЦП как с несимметричными, так и с дифференциальными входами. Он преобразовывает входной аналоговый сигнал в цифровое входное значение, которое соответствует входному сигналу относительно некоторого операторного напряжения. АЦП бывают: идеальный, совершенный и реальный.
Полнодуплексный универсальный асинхронный приемопередатчик (UART).
Полнодуплексный универсальный синхронный/асинхронный приемопередатчик (USART).
Последовательный синхронный интерфейс SPI.
Последовательный двухпроводный интерфейс TWI [3, стр.78].
Ядро микроконтроллеров AVR семейства ATmega выполнено по усовершенствованной RISC-архитектуре (enhanced RISC). Арифметико-логическое устройство (АЛУ), выполняющее все вычисления, подключено непосредственно к 32-м рабочим регистрам, объединенным в регистровый файл. Благодаря этому АЛУ выполняет одну операцию (чтение содержимого регистров, выполнение операции и запись результата обратно в регистровый файл) за один машинный цикл. Практически каждая из команд (за исключением команд, у которых одним из операндов является 16-разрядный адрес) занимает одну ячейку памяти программы [1, стр.144].
В микроконтроллеры AVR реализована Гарвардская архитектура, которая характеризуется раздельной памятью программ и данных, каждая из которых имеет собственные шины доступа к ним. Такая организация позволяет одновременно работать как с памятью программ, так и с памятью данных. Разделение шин доступа позволяет использовать для каждого типа памяти шины различной разрядности, причем способы адресации и доступа к каждому типу памяти также различны [2, стр.98].
2. ПРАКТИЧЕСКАЯ ЧАСТЬ
2.1 Принципиальная схема устройства
Принципиальная схема устройства изображена на рисунке 2.1.
Рисунок 2.1 - Схема устройства
Основные составляющие созданного устройства:
Микропроцессор ATmega8;
Преобразователь MAX232;
Конденсаторы;
Com порт;
Динамик (buzzer).
Алгоритмы работы программы
Блок-схема основной функции устройства автомата подачи звонков в учебном заведении показана на рисунке 2.2.
Размещено на http://www.allbest.ru
Рисунок 2.2 - Блок-схема работы устройства
2.3 Текст программы
Исходный код прошивки написан в среде CodeVisionAVR C Compiler и находится в приложении. Основная функция программы представлена ниже.
void main(void)
{
DDRB.0=1;
init(); // визов функции int (инициализация всего)
while(1){
ADCSRA=0b11001011;
if(owf_flag)
{
PORTB.0=1;
while(buf_cnt){
buf_cnt--;
printf("%d",buff[buf_cnt]);
putchar(0x0D); // на новую строку УАРТА
}
owf_flag = 0;
}
}
микроконтроллер устройство программа код
2.4 Результаты тестирования (симулирования) устройства
Для эмулирования работы программы микроконтроллера использовались среда разработки Proteus, где была собрана схема устройства и приложение написанное на языке C#. Начальное состояние схемы в эмуляторе представлено на рисунке 2.3.
Рисунок 2.3 - Начальное состояние устройства
Для подключения микроконтроллера к ПК был выбран com порт. С помощью программы VSPD имитировалось подключение (Рисунок 2.4).
Рисунок 2.4 - Имитация com порта
Программа для ПК представлена на рисунке 2.5. Происходит считывание времени, когда время совпадает с заданным расписанием происходит подача сигнала в com порт, откуда затем данные поступают на сам микроконтроллер и включается динамик (Рисунок 2.6).
Рисунок 2.5 - Работа программы
Рисунок 2.6 - Работа устройства
2.5 Анализ полученных результатов
В ходе курсовой работы, была разработана схема и программа работы автомата подачи звонков в учебном заведении на основе ПК. Использовались программы, такие как CodeVisionAVR C compiler (на основе микроконтроллера ATMega8), Proteus, MVS12.
В ходе анализа программа не давала сбоев. Выполняла правильные действия в зависимости от запроса пользователя.
ЗАКЛЮЧЕНИЕ
В результате выполнения курсового проекта были выполнены все поставленные задачи и цели по созданию устройства «Fвтомат подачи звонков в учебном заведении на основе ПК», а именно:
-- собрана принципиальная схема устройства;
-- написана программа для микроконтроллера;
-- написана программа для ПК;
-- произведена симуляция устройства;
-- произведено практическое тестирование устройства.
В настоящее время микроконтроллеры внедряются практически во все, производимые промышленностью устройства для создания более компактных и многофункциональных устройств
AVR - единственный 8-разрядный микроконтроллер, набор команд которого оптимизирован под языки высокого уровня. Код на языке C делает данную опорную разработку легко адаптируемой и модифицируемой.
Система реального времени (RTC) реализована во всех микроконтроллерах серии "mega" и в двух кристаллах серии "classic". Таймер/счетчик RTC имеет свой собственный предделитель, который может быть программным способом подключен или к основному внутреннему источнику тактовой частоты микроконтроллера, или к дополнительному асинхронному источнику опорной частоты (кварцевый резонатор или внешний синхросигнал). Как результат работы можно выделить получение опыта работы с микроконтроллерами, в сборке схем и их наладке.
ПРИЛОЖЕНИЕ А
#include <mega8.h>
#include <delay.h>
#include <stdio.h>
unsigned char buff[BUF_SIZE];
unsigned int buf_cnt=0;
unsigned char owf_flag =0;
unsigned char start;
interrupt [ADC_INT] void adc_isr(void){ start=ADCW;
if(!owf_flag){
buff[buf_cnt]=ADCW;
buf_cnt++;
if(buf_cnt == BUF_SIZE)owf_flag=1; }
}
void init(void){
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 57600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
ADMUX=0x0b00000000; // вибираем 0-й канал АЦП
ADCSRA=0x0b10001011; // конфигурация АЦП
#asm ("sei"); // разрешить все переривания
}
void main(void)
{
DDRB.0=1;
init(); // визов функции int (инициализация всего)
while(1){
ADCSRA=0b11001011; // включаем непреривное АЦП преобразование
if(owf_flag)
{
PORTB.0=1;
while(buf_cnt){
buf_cnt--;
printf("%d",buff[buf_cnt]); // печатаем в УАРТ значение
}
owf_flag = 0;
}
}
}
Размещено на Allbest.ru
...Подобные документы
Реализация работы автомата подачи звонков в учебном заведении с использованием персонального компьютера. Создание файла прошивки для устройства. Сборка собственной схемы. Симулирование полученного устройства. Алгоритмы работы программы, ее листинг.
курсовая работа [1,2 M], добавлен 28.04.2014Создание приемника команд RC5 для персонального компьютера на основе микроконтроллера ATmega8. Особенности написания файла прошивки и симулирование устройства. Порядок выполнения сборки собственной схемы и характеристика полученного микроконтроллера.
курсовая работа [2,0 M], добавлен 24.11.2013Принцип действия устройства сбора информации на базе микроконтроллера МК51: индикация, "рабочий режим" и передача данных персонального компьютера. Алгоритм начального опроса датчиков. Электрическая принципиальная схема устройства, текст программы.
курсовая работа [102,5 K], добавлен 21.10.2012Разработка принципиальной электрической схемы микропроцессорного устройства управления двигателем постоянного тока на базе контроллера ATmega 128. Разработка пакета подпрограмм на языке Assembler в целях регулирования и корректной работы устройства.
курсовая работа [271,5 K], добавлен 14.01.2011Схема алгоритма работы устройства сравнения трех чисел, структурная, функциональная и принципиальная схемы. Оценка параметров устройства. Схемы задержки и сброса по питанию, комбинационная схема определения среднего числа. Построение временной диаграммы.
курсовая работа [205,0 K], добавлен 24.06.2013Описание алгоритма функционирования устройства сопряжения, которое подключается к системной шине ISA. Принципиальная и функциональная схемы интерфейсной и операционной части устройства. Моделирование схемы операционной части, построение диаграммы работы.
курсовая работа [50,7 K], добавлен 13.11.2009Разработка структурной схемы устройства управления учебным роботом. Выбор двигателя, микроконтроллера, микросхемы, интерфейса связи и стабилизатора. Расчет схемы электрической принципиальной. Разработка сборочного чертежа устройства и алгоритма программы.
курсовая работа [577,8 K], добавлен 24.06.2013Разработка алгоритма работы устройства, описание выбора элементной базы и работы принципиальной схемы. Текст программы, инициализация указателя стека, структура системы и ресурсов микроконтроллера. Запись кодов при программировании данного устройства.
контрольная работа [18,4 K], добавлен 24.12.2010Разработка структурной и принципиальной схемы. Блок-схема основной программы и подпрограмм обработки прерываний. Имена переменных, используемых в них. Результаты моделирования работы устройства в программе ISIS пакета Рroteus. Разработка печатной платы.
курсовая работа [1,5 M], добавлен 13.11.2016Микроконтроллер — компьютер на микросхеме, предназначенный для управления электронными устройствами. Структурная схема типичного современного микроконтроллера. Архитектурная особенность построения портов ввода/вывода. Принципиальная схема устройства.
курсовая работа [2,1 M], добавлен 26.11.2013Наименование разрабатываемого устройства. Назначение разрабатываемого устройства в городском транспорте. Обзорный анализ найденных аналогов. Обоснование актуальности разработки устройства. Разработка функциональной схемы разрабатываемого устройства.
курсовая работа [175,6 K], добавлен 04.07.2008Проектирование устройства контроля температуры в холодильных установках. Устройство измеряет температуру с помощью схемы измерения температуры. Значение температуры представлены в 8-битном формате. Создание компьютерной программы для устройства.
курсовая работа [29,5 K], добавлен 22.02.2008Проектирование микропроцессорного устройства, которое преобразует интерфейс RS-232 (COM-порт) в IEEE 1284 (LPT-порт). Структурная схема устройства. Преобразование последовательного интерфейса в параллельный интерфейс на микроконтроллере ATMega 8.
курсовая работа [1,1 M], добавлен 07.04.2013Основные параметры устройства отображения информации. Обоснование выбора используемых ресурсов микроконтроллера и схемы включения. Разработка схемы алгоритма. Описание и отладка программы. Схема электрическая принципиальная и листинг трансляции программы.
курсовая работа [121,3 K], добавлен 12.12.2014Актуальность задачи. Разработка функциональной схемы устройства. Радиолокационная установка (РЛУ). Микропроцессорная часть. Обоснование алгоритма работы устройства. Разработка управляющей программы устройства. Схема алгоритма. Пояснения к программе.
курсовая работа [193,9 K], добавлен 18.10.2007Описание области применения устройства релаксационного воздействия на человека "Лампа хорошего настроения". Выбор микроконтроллера устройства. Алгоритм функционирования программы, её тестирование. Правила и нормы охраны труда при работе с компьютером.
дипломная работа [5,8 M], добавлен 28.09.2015Разработка компьютерного устройства RAM-диск, позволяющего считывать, записывать и хранить информацию в модулях динамической памяти типа SDRAM под управлением микроконтроллера. Составление структурной и принципиальной схемы устройства, листинг программы.
курсовая работа [3,9 M], добавлен 24.12.2012Функциональная схема и алгоритм работы устройства. Техническое обоснование выбора серии ИМС. Состав и описание работы узлов устройства. Расчёт необходимых сопротивлений резисторов, потребляемой мощности и тока. Построение и анализ временных диаграмм.
курсовая работа [311,7 K], добавлен 19.05.2011Применение однокристального микроконтроллера в адаптере параллельного обмена. Связь с внешними устройствами. Структурная схема устройства и ее описание. Назначение отдельных функциональных блоков. Разработка принципиальной схемы и программы устройства.
курсовая работа [303,0 K], добавлен 06.01.2009Выбор принципов проектирования устройства записи, хранения и передачи чисел. Разработка алгоритма выполнения операций, необходимых для обработки информации. Структурная схема устройства. Элементарная база, необходимая для разработки принципиальной схемы.
курсовая работа [1,3 M], добавлен 16.08.2012