это быстро и бесплатно
Оформите заказ сейчас и получите скидку 100 руб.!
ID (номер) заказа
4079125
Ознакомительный фрагмент работы:
Содержание
Введение. 2
1. Анализ технического задания 3
2. Разработка структурной схемы 4
3. Выбор микроконтроллера 5
4. Описание принципальной схемы. 9
5. Разработка программного обеспечения. 10
6. Моделирование работы устройства 11
Заключение. 13
Список литературы 14
Приложение. 15
Приложение 1 . Перечень элементов. 15
Приложение 2.Исходный код программы. 15
Введение.
Повышение технического уровня и эффективности электронного
оборудования на основе новейших достижений электроники - одна из
важнейших задач развития общества. Создание микропроцессоров
обусловлено достижениями в области технологии производства больших
интегральных схем (БИС). Вслед за появлением микропроцессоров
разрабатывается и получает широкое развитие специальная
многофункциональная аппаратура, используемая при решении большого
числа задач современной техники. Микропроцессоры позволяют на единой
технологической схемотехнической базе за счет программирования создавать
различные типы приборов. Так и в своей работе я решил реализовать прибор
на основе микропроцессора. В качестве микроконтроллера выбран
Atmega3288
В данной курсовой работе было разработано устройство на
микроконтроллере, написана программа. Данным устройством является
светофор на основе микроконтролера.
При проектировании данной курсовой работой были поставлены
следующие задачи:
1) Продумать, спроектировать и на практике проверить устройство на
основе микроконтроллера;
2) написать и откомпилировать программу для микроконтроллера.
3)Выполнить моделирование в программе Proteus.
1. Анализ технического задания
Светофоры предназначены для поочередного пропуска участников
движения через определенный участок улично-дорожной сети, а также для
обозначения опасных участков дорог. В зависимости от условий светофоры
применяются для управления движением в определенных направлениях или
по отдельным полосам данного направления:
1. в местах, где встречаются конфликтующие транспортные, а также
транспортные и пешеходные потоки (перекрестки, пешеходные
переходы);
2. · по полосам, где направление движения может меняться на
противоположное;
3. · на железнодорожных переездах, разводных мостах, причалах,
паромах, переправах;
4. · при выездах автомобилей спецслужб на дороги с интенсивным
движением;
5. · для управления движением транспортных средств общего
пользования.
Порядок чередования сигналов, их вид и значение, принятые в России,
соответствуют международной Конвенции о дорожных знаках и сигналах.
Наиболее распространены светофоры с сигналами (обычно круглыми)
трех цветов: красного, жёлтого и зелёного. В некоторых странах вместо
жёлтого используется оранжевый цвет. Сигналы могут быть расположены
как вертикально (при этом красный сигнал всегда располагается сверху, а
зелёный — снизу), так и горизонтально (при этом красный сигнал всегда
располагается слева, а зелёный — справа). При отсутствии других,
специальных светофоров они регулируют движение всех видов
транспортных средств и пешеходов.
Для реализации модели светофора необходимо использовать светодиоды
различных цветов, управляющим элементом будет являться
микроконтроллер.
4
Светофор будет работать по следующему алгоритму:
1) Горит красный свет (2 с, продолжительность можно изменить
программно);
2) Начинает мигать желтый с частотой 1 Гц;
3) Включается зеленый свет (2 с, продолжительность можно
изменить программно);
4) Начинает мигать желтый с частотой 1 Гц
5) Цикл повторяется.
Необходимо использовать 2 светофора, при этом в то время, когда на
одном будет гореть красный, на другом будет зеленый и наоборот.
2. Разработка структурной схемы
Структурная схема приведена на рисунке 1.
Микроконтроллер
Светофоор 1
Светофоор 2
Рисунок 1 – Структурная схема
Она состоит из микроконтроллера и двух светофоров. Включение
сигналов светофора осуществляется управление уровня на выходах МК.
5
3. Выбор микроконтроллера
Основным элементов является микроконтроллер. Одна из самых
популярных серий универсальных микроконтроллеров — это
микроконтроллеры AVR выпускаемые американской фирмой Atmel.
Микросхемы AVR широко используются в самых различных конструкциях.
Микроконтроллер, отвечающий всем требованиям, может быть 8-битный
однокристальный семейства ATmega. Будем использовать Atmega3288.
Микроконтроллер Atmega3288P является 8 разрядным
микроконтроллером, предназначенным для встраиваемых приложений. Он
изготавливается по малопотребляющей КМОП технологии, которая в
сочетании с усовершенствованной RISC архитектурой позволяет достичь
наилучшего соотношения быстродействие/энергопотребление.
Микроконтроллер построен по двухшинной (гарвардской) архитектуре и
имеет раздельные шины памяти программ и памяти данных.
Характеристики
Рабочее напряжение - 5 В;
Входное напряжение (рекомендуемое) - 7-12 В;
Входное напряжение (предельное) - 6-20 В;
Цифровые Входы/Выходы - 14 (6 из которых могут
использоваться как выходы ШИМ);
Аналоговые входы - 6;
Постоянный ток через вход/выход - 40 мА;
Постоянный ток для вывода 3.3 В - 50 мА;
Флеш-память - 32 Кб при этом 2 Кб используются для
загрузчика;
ОЗУ – 2 Кб ;
EEPROM - 1 Кб ;
Тактовая частота - 16 МГц;
. Микроконтролер AVR ATMEGA328 представлена на рисунке 2
6
Рисунок 2– Микроконтролер AVR ATMEGA328
Atmega328/L является КМОП 8-битным микроконтроллером,
построенным на расширенной AVR RISC архитектуре. Используя
команды, исполняемые за один машинный такт, контроллер достигает
производительности в 1 MIPS на рабочей частоте 1 МГц, что
позволяет разработчику эффективно оптимизировать потребление
энергии за счёт выбора оптимальной производительности.
AVR ядро сочетает расширенный набор команд с 32 рабочими
регистрами общего назначения. Все 32 регистра соединены с АЛУ, что
обеспечивает доступ к двум независимым регистрам на время
исполнения команды за один машинный такт. Благодаря выбранной
архитектуре достигнута наивысшая скорость кода и соответственно
высокая производительность в 10 раз превосходящая скорость
соответствующего CISC микроконтроллера.
Характеристики микроконтроллера:
Высокопроизводительные, мало потребляющие AVR 8- битные
микроконтроллеры;
7
Развитая RISC архитектура:
- 131 исполняемых команд, большинство за один машинный такт
- 32 рабочих регистра общего назначения
- полностью статический режим работы
- производительность до 16 MIPS при 16 МГц
- встроенный 2-х тактовый умножитель
Энергонезависимая память программ и данных
- 32К байт внутрисистемно самопрограммируемой FLASH памяти с
количеством циклов перепрограммирования до 10 000.
- Опционно загрузочная область памяти с независимыми
ключевыми битами, внутрисистемное программирование
встроенной загрузочной программой, правильное чтение в процессе
записи.
- 1024 байт EEPROM с допустимым количеством циклов стирания
записи до 100 000.
- 2К байт внутренней SRAM
- программируемый ключ защиты программ
JTAG (IEEE1149.1 совместимый) интерфейс
- Сканирование памяти в соответствии с JTAG стандартом
- Встроенная поддержка отладчика
- Программирование FLASH, EEPROM, охранных и ключевых бит
через JTAG интерфейс
Периферийные функции
- два 8-битных таймера/счётчика с программируемым
предделителем и режимом сравнения
- один 16-битный таймер/счётчик с программируемым
предделителем, режимом сравнения и захвата
- счётчик реального времени с программируемым генератором
- четыре ШИМ генератора
- 8-и канальный, 10-и битный АЦП
8
- байт- ориентированный, двухпроводный интерфейс
- программируемый USART
- Master/Slave SPI последовательный интерфейс
- Программируемый Watchdog таймер с программируемым
генератором
- Встроенный аналоговый компаратор
Специальные функции
- Reset по включению питания и выключение при снижении
напряжения питания
- Внутренний калиброванный RC генератор
- Внешние и внутренние источники прерывания
- Шесть экономичных режимов: Idle, подавления шумов АЦП,
экономичный, режим Выкл. , режим ожидания и режим
расширенного ожидания.
32 программируемых вывода вход-выход и 1 вход
40 выводной корпус PDIP, 44 выводной корпус TQFP, и 44
контактный MLF
Напряжение питания:
- 2.7 В до 5.5 В для Atmega328L
4.5 В до 5.5 В для Atmega328
Тактовая частота:
0-8 МГц Atmega328L
- 0-16 МГц Atmega328
9
Рисунок 3 – Архитектура МК Atmega328.
4. Описание принципальной схемы.
Принципиальная схема приведена на рисунке 4.
10
Рисунок 4.
Основным элементом схемы является микроконтроллер Atmega3288.
К его портам (B и C) подключены светодиоды различных цветов (D1-
D6) через токоограничивающие резисторы R1-R6.
5. Разработка программного обеспечения.
Для реализации функций устройства необходимо разработать
программное обеспечение. Программа разрабатывается на языке С для AVR.
Чтобы преобразовать исходный текст программы в файл прошивки
микроконтроллера, применяют компиляторы.
Изучив доступные среды программирования, был сделан выбор в пользу
IDE C CodeVision, так как доступна оценочная версия этого продукта, а сам
компилятор содержит обширную библиотеку функций и шаблонов для
разработки программ.
11
Данная среда использовалась для разработки управляющей программы
микроконтроллера ATMEGA3288.
Рисунок 5 – Среда программирования C CodeVisionAVR
6. Моделирование работы устройства
Моделирование работы устройства проводилось в программном пакете
Proteus 8, производителя LabCenter. Рабочее поле программы, схему, и
результаты моделирования можно увидеть на рис. 6.
12
Рисунок 5 – Моделирование устройства
В результате моделирования было установлено МК выполняет заданную
программу верно.. Из этого можно сделать вывод, что составленный
алгоритм работает верно. Для дальнейшей верификации алгоритмов и схемы
необходимо экспериментальное исследование устройства.
13
Заключение.
В данной курсовой работе был разработан светофор на основе
микропроцессора AVR), написана и откомпилирована программа для него,
рассмотрены вопросы программирования микроконтроллеров, применения
полученных знаний на практике. При выполнении данной курсовой работы
был получен ценный опыт разработки подобных устройств, получены
навыки в разработке программ на языке C, также было выполнено
моделирование в программе Proteus.
14
Список литературы
1. .Белов А.В. Конструирование устройств на микроконтроллерах. - СПб.:
Наука и Техника, 2005. - 256 С.
2. Бородин В.Б., Калинин А.В. Системы на микроконтроллерах и БИС
программируемой логики - М.: Издательство ЭКОМ, 2002. - 400 с.: илл.
3. Гребнев В.В. Микроконтроллеры семейства AVR фирмы Atmel М.: ИП
РадиоСофт, 2002. - 176 с.
4. Евстифеев А.В. Микроконтроллеры AVR семейств Tiny и Mega фирмы
"ATMEL" - М.: Издательский дом "Додека-ХХI", 2004. - 560 с.
5. Шпак Ю.А. Программирование на языке Си для AVR и PIC
микроконтроллеров. - К: ”МК-Пресс", 2006. - 400 С.
15
Приложение.
Приложение 1 . Перечень элементов.
Позиционное
обозн.
Наименование Кол-
во
Примеча
ние
Резисторы
R1…R6 МЛТ-125-0,25-360 Ом +\- 5% 6
Светодиоды
VD1…VD6 АЛ307Б 6
Микросхемы
DD1 ATmega328P 1
Приложение 2.Исходный код программы.
/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.0 Professional
#include <mega328p.h>
#include <delay.h>
// Declare your global variables here
void main(void)
{
// Declare your local variables here
int i;
// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
// Input/Output Ports initialization
// Port B initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out
Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=1 State1=1 State0=1
PORTB=0x07;
DDRB=0xFF;
// Port C initialization
// Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
16
// State6=1 State5=1 State4=1 State3=1 State2=1 State1=1 State0=1
PORTC=0x7F;
DDRC=0x7F;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0A output: Disconnected
// OC0B output: Disconnected
TCCR0A=0x00;
TCCR0B=0x00;
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2A output: Disconnected
// OC2B output: Disconnected
ASSR=0x00;
17
TCCR2A=0x00;
TCCR2B=0x00;
TCNT2=0x00;
OCR2A=0x00;
OCR2B=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// Interrupt on any change on pins PCINT0-7: Off
// Interrupt on any change on pins PCINT8-14: Off
// Interrupt on any change on pins PCINT16-23: Off
EICRA=0x00;
EIMSK=0x00;
PCICR=0x00;
// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=0x00;
// Timer/Counter 1 Interrupt(s) initialization
TIMSK1=0x00;
// Timer/Counter 2 Interrupt(s) initialization
TIMSK2=0x00;
// USART initialization
// USART disabled
UCSR0B=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
ADCSRB=0x00;
DIDR1=0x00;
// ADC initialization
// ADC disabled
ADCSRA=0x00;
// SPI initialization
// SPI disabled
SPCR=0x00;
// TWI initialization
// TWI disabled
TWCR=0x00;
while (1)
{
//горит красный на 1-м светофоре и зеленый на 2-м
18
PORTB=0b00000001;
PORTC=0b00000100;
// Place your code here
delay_ms(4000);
for (i=1;i<5;i++)
{
PORTB=0b00000010;
PORTC=0b00000010;
delay_ms(2000);
PORTB=0b00000000;
PORTC=0b00000000;
delay_ms(2000);
}
//горит красный на 2-м светофоре и зеленый на 2-м
PORTB=0b00000100;
PORTC=0b00000001;
// Place your code here
delay_ms(4000);
for (i=1;i<5;i++)
{
PORTB=0b00000010;
PORTC=0b00000010;
delay_ms(2000);
PORTB=0b00000000;
PORTC=0b00000010;
delay_ms(2000);
}
}
}
Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.
Цены ниже, чем в агентствах и у конкурентов
Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит
Бесплатные доработки и консультации
Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки
Гарантируем возврат
Если работа вас не устроит – мы вернем 100% суммы заказа
Техподдержка 7 дней в неделю
Наши менеджеры всегда на связи и оперативно решат любую проблему
Строгий отбор экспертов
К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»
Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован
Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн
Сделать чертеж для курсовой работы по расчетам в ней
Чертеж, Проектирование предприятий по производству кондитерских, сахаристых и шоколадных изделий
Срок сдачи к 22 янв.
Сравнительный анализ культур : Великобритания и Германия
Другое, межкультурная коммуникация
Срок сдачи к 22 янв.
Написать сочинение на 500 слов на белорусском языке с характеристикой...
Сочинение, Белорусский язык
Срок сдачи к 21 янв.
Дать название плоскости (hNf). Построить недостающие проекции точек A
Решение задач, Начертательная геометрия
Срок сдачи к 21 янв.
1. определить центр тяжести 2. определить моменты энерции
Решение задач, техническая механика
Срок сдачи к 21 янв.
ответы на индивидуальное задание
Отчет по практике, право и организация социального обеспечения
Срок сдачи к 3 февр.
Задача 1. Смирнов и Пенкина на железнодорожном вокзале в...
Решение задач, Основы противодействия экстремизму, терроризму и антикоррупционная политика Российской Федерации
Срок сдачи к 24 янв.
Дать характеристику (описание) строительному участку.
Решение задач, Архитектура
Срок сдачи к 25 янв.
Заполните форму и узнайте цену на индивидуальную работу!