Програмування мікроконтролерів

 

ВСТУП


В моєму завданні треба реалізувати функцію світлофору з регулюванням часу між сигналами. Для свого курсового проекту я обрав найбільш широко використовуваний варіант світлофору, це автомобільний світлофор.

Світлофор - пристрій оптичної сигналізації, призначений для регулювання руху людей, велосипедів, автомобілів і інших учасників дорожнього руху, поїздів залізниці та метрополітену, річкових і морських суден, трамваїв, тролейбусів, автобусів і всього транспорту. Використовується у всіх країнах світу.

Щодо їх конструкції, то світлофори бувають на лампах розжарювання і галогенних лампах та світлодіодні.

Блок управління світлофорних об'єктів:

Мовою дорожніх служб світлофорним об'єктом називаються кілька світлофорів, які управляються загальним електронним блоком і діють як єдине ціле. Найпростіший спосіб управління світлофором - електромеханічний, за допомогою кулачкового механізму. Більш просунуті електромеханічні контролери мали кілька програм роботи (кілька пакетів кулачків) - під різні навантаження перехрестя. У сучасних світлофорах застосовуються мікропроцесорні схеми. У великих містах, які страждають від «пробок», світлофорні об'єкти підключають до єдиної системи регулювання руху (як правило, через GSM-модем). Це дозволяє оперативно змінювати програми роботи світлофора (у тому числі тимчасово, на кілька годин або днів) і синхронізувати світлофорні об'єкти один з одним з точністю до секунд. ля проходу пішоходів через жваву трасу, а також на нерівнозначних перехрестях застосовуються контролери викличної дії, що дають зелений, коли із другорядного напрямку наближається машина (для цього під асфальтом розташовується індуктивний датчик), або коли пішохід натисне на кнопку.

. РОЗРОБКА ПРОГРАМНОЇ СХЕМИ


Для реалізації функції світлофора було обрано мікроконтролерATMEL 90s83535. Даний мікроконтролер має 4 порти для роботи з даними, в своїй роботі я задіяв 2 порти, обидва були налаштовані на вивід даних. За допомогою одного я подавав сигнали на різнокольорові світло-діоди, з певною затримкою, таким чином була реалізована функція світлофора. А за допомогою іншого я подавав комбінації при яких загорався той чи інший світло-діод мого світлофора(див. рис. 1.1).


Рис. 1.1. програмна схема для реалізації функції світлофора.


. ПРОГРАМА-СИМУЛЯТОР МІКРОКОНТРОЛЕРНИХПРИСТРОЇВ


Для побудови схеми було використано програмне середовище Proteus VSM- програма-симулятор мікроконтролернихпристроїв. А якщо точніше, тоProteus 7.7 ServicePack 2.

Програмне середовище Proteusна рис 2.1.

Рис. 2.1. Програмне середовище Proteus.


Зверху ми бачимо панель меню з головними налаштуваннями та функціями(див. рис 2.2).


Рис. 2.2. Верхня панель-меню.


Зліва знаходиться панель часто використовуваних, та основних компонентів для побудови схем (див. рис 2.3).

Рис. 2.3 Панель компонентів


І знизу ми бачимо панель керування симуляцією, тобто, роботою схеми. Це запуск, покрокова робота схеми, пауза і стоп(див. рис 2.4). Також справа від них знаходиться рядок стану, де відображається кількість повідомлень щодо несправності, чи якихось інших випадків, що виникають під час роботи схеми.


Рис. 2.4 Панель управління симуляцією


І саме головне, це підключення .hex файлу до нашого мікроконтролеру. Цей процес реалізований дуже просто, достатньо два рази клацнути на наш мікроконтролер і у вікні налаштувань навпроти «Programfile» вказати шлях до створеного .hex файлу(див рис 2.5).


Рис. 2.5 Вікно характеристик мікроконтролера


3. СЕРЕДОВИЩЕ ПРОГРАМУВАННЯ МІКРОКОНТРОЛЕРІВ


Програмна частина мого завдання реалізовувалась в програмному середовищі CodeVisionAVRv. 2.05.3 Standart (див. рис 3.1).


Рис. 3.1 Програмне середовище CodeVisionAVR


Зверху ми бачимо знайому нам всім панель меню з основними функціями.

Зліва знаходиться панель, в якій відображається компоненти нашого проекту, а сама підключені заготовочні файли, бібліотеки, файли вихідного коду тощо.

З правого боку є панель для швидкої вставки заготовлених блоків циклів, операторів порівняння тощо. Це пришвидшує, та спрощую написання програмного коду.

Знизу є панель помилок та попереджень, як і в багатьох програмних середовищах для розробки програмного забезпечення.

Після запуску процесу компіляції і створення потрібного нам .hex файлу, для роботи нашої схеми, зявляється вікно з повідомленням про результат компіляції нашого програмного коду (див рис 3.2).

світлофор мікроконтролер схема порт

Рис. 3.2 Результат компіляції програмного коду


Якщо ж під час компіляції були знайдені помилки в програмному коді, то це вікно буде виглядати дещо інакше.


4. РОЗРОБКА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ


Отже, мною було розроблено програму для реалізації програмної частини завдання, а саме функції світлофора. Як я писав вище, я задіяв два порти, в саме порт А і портD. Обидва порти налаштовані на вивід інформації.

На порт А подавалась комбінація для загорання того чи іншого кольорового світло-діода. На порт Dподавалась та ж комбінація і ця комбінація відображалась на 8 світло-діодах, таким чином імітувалась робота з LPT портом. Тобто, приходить відповідна комбінація на LPT порт, загораються певні світло-діоди, і згідно прийнятої комбінації загорається один із світло-діодів світлофора. Все це відбувається з певною затримкою.


Блок-схема для програми:


Програмний код на мові С(Сі):


#include<90s8535.h>

#include<delay.h>

();();();

(void)

{=0b11111111;// настраиваем порт А на вывод=0b11111111;// настраиваем порт D на вывод=0b11111111;// разрешаемпрерывания

(1)

{

//имитацияроботысветофора();();();

}

}

()

{

//гориткрасный=0b00010101;=0b00010101;_ms(5000);=0b00000000;=0b00000000;_ms(250);

}

()

{

//горитжелтый=0b00101010;=0b00101010;_ms(5000);

//мигаетжелтый=0b00000000;=0b00000000;_ms(250);=0b00101010;=0b00101010;_ms(1000);

=0b00000000;=0b00000000;_ms(250);=0b00101010;=0b00101010;_ms(1000);=0b00000000;=0b00000000;_ms(250);=0b00101010;=0b00101010;_ms(1000);=0b00000000;=0b00000000;_ms(250);

}()

{

//горитзеленый=0b11000000;=0b11000000;_ms(5000);

//мигаетзеленый=0b00000000;=0b00000000;_ms(250);=0b11000000;=0b11000000;_ms(1000);=0b00000000;=0b00000000;_ms(250);=0b11000000;=0b11000000;_ms(1000);=0b00000000;=0b00000000;_ms(250);=0b11000000;=0b11000000;_ms(1000);=0b00000000;=0b00000000;_ms(250);

}


ВИСНОВКИ


Під час роботи над курсовим проектом було застосовано знання з програмування мікроконтролерів, а саме прийом та передача даних з портів мікроконтролера, з попереднім їх налаштуванням на введення/виведення даних, встановлення переривань та управління часовими затримками.

Тобто, було реалізовано функцію світлофора за допомогою відповідного програмування мікроконтролеа. В моєму випадку, в якості світлофора виступали 3 колорьових світлодіода, що загорались з певною часовою затримкою, що регулювалась запрограмованим мікроконтролером.

Для написання прошивки для використовуваного мікроконтролера я користувався знаннями з мови програмування С(Сі).

Також була проведена робота з іншими джерелами щодо роботи та програмування мікроконтролері.


ВСТУП В моєму завданні треба реалізувати функцію світлофору з регулюванням часу між сигналами. Для свого курсового проекту я обрав найбільш широко викори

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ