Пристрій світлових ефектів на мікроконтролері сімейства PIC
Склад, особливості, технічні характеристики та архітектура вибраного мікроконтролера. Проектування керуючого автомату на мікроконтролері для пристрою світлових ефектів, побудова його принципової електричної схеми та розробка програмного забезпечення.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 27.02.2013 |
Размер файла | 422,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ВНЗ “Відкритий Міжнародний Університет Розвитку Людини “Україна”
Новокаховський гуманітарний інститут
Кафедра Комп'ютерної інженерії
Курсова робота
з дисципліни: Комп'ютерна схемотехніка
на тему: Пристрій світлових ефектів на мікроконтролері сімейства PIC
Виконав Курс 3 Група 3-КІ-1
Спеціальності 6.050102
“Комп'ютерна інженерія”
Чернокур О. С.
Перевірив : Шиліна В.О.
Нова Каховка 2011
Реферат
Курсова робота: 31 арк., _1__ табл., 5 використаних джерел.
В курсовій роботі розглядається пристрій світлових ефектів на мікроконтролері сімейства PIC. Для даного пристрою розроблена структурна та принципова схеми.
В даному пристрої використано мікроконтролер PIC16F84A від компанії PICMicro який має Flash-пам'ять 2Кбайтb, пам'яттю EEPROM на 128 байта, 16 лініями введення/виведення.
СХЕМА ЕЛЕКТРИЧНА СТРУКТУРНА, СХЕМА ЕЛЕКТРИЧНА ПРИНЦИПОВА.
Зміст
Вступ
1. Постановка задачі
2. Аналіз існуючих рішень
3. Апаратне забезпечення керуючого автомату
3.1 Огляд МК як засіб вирішення завдання
3.2 Вибір мікроконтролера
3.3 Характеристики та архітектура МК PIC16F84А
3.4 Система команд МК PIC16F84А
4. Опис електричної схеми керуючого автомату
5. Опис принципової електричної схеми керуючого автомату
6. Програмне забезпечення керуючого автомату
6.1 Огляд програмного забезпечення для розробки програми
6.2 Опис алгоритму та програми для автомату PIC16F84А
Висновки
Список використаних джерел
Додатки
Вступ
Темою мого курсового проекту є проектування пристрою світлових ефектів на мікроконтролері сімейства PIC.
Метою курсового проектування є: узагальнення, закріплення та поглиблення знань з дисциплін, пов'язаних з проектуванням та обслуговуванням засобів обчислювальної техніки; формування навичок розробки та оформлення текстової та графічної технічної документації.
Змістом курсового проекту є висвітлення та аналіз складу, особливостей, технічних характеристик та архітектури вибраного мікроконтролера, а також розробка керуючого автомату на мікроконтролері для пристрою світлових ефектів, побудова його електричної схеми та розробка програмного забезпечення відповідно до завдання.
Керуючий автомат повинен забезпечувати такі функції:
- керувати 8-а лініями освітлювальних пристроїв;
- забезпечувати зміну фаз з заданим періодом.
Формування періоду зміни фаз відбувається при виникненні переривань при переповненні лічильника RTCC.
Згідно з обраним завданням:
- період зміни фаз становить 0,125с
- освітлювальні пристрої підключені до 8-ми розрядного порту мікроконтролера;
Включення пристроїв відбувається у такому порядку:
- фаза 1 - лінія 1,2,3;
- фаза 2 - лінія 3,4,5;
- фаза 3 - лінія 5,6,7;
- фаза 4 - лінії 7,8,1.
1. Постановка задачі
Завданням даної курсової роботи є проектування автомату світлових ефектів на базі мікроконтролера сімейства PIC.
У ході виконання курсової роботи необхідно розробити:
· Принципову електричну схему;
· структурну електричну схему;
· програму управління пристроєм.
Оформити пояснювальну записку відповідно до регламентів ГОСТ.
2. Аналіз існуючих рішень
На даний час є два основні "виробники" мікроконтролерів: Microchip PIC сімейства та Atmel AVR сімейства. В даній курсовій роботі використовується мікроконтролер фірми Microchip PIC16F84A.
PIC (англ. Peripheral Interface Controller) - сукупність сімейств 8-ми, 16-ти розрядних та 32-х розрядних мікроконтролерів, що мають гарвардську архітектуру. Випускаються фірмою Microchip.
Мікроконтролери PIC популярні як серед професійних розробників, так і серед радіоаматорів завдяки низькій вартості, доступності, великій кількості застосування та вільним засобам розробки.
У конструкцію PIC включено багато енергозберігаючих особливостей, що роблять їх на сьогоднішній день самими мікроспоживаючими (у режимі SLEEP споживаний струм менш 1 мкА), самими низьковольтними по напрузі живлення (2В) програмувальними користувачем мікроконтролерами.
Найпростіші типи таких МК містять 8-бітний таймер-лічильник з 8-бітним програмованим попереднім дільником (фактично 16-бітний таймер) і 6(20) ліній двохнаправленого вводу/виводу. Корпус таких МК має 8(18) виводів. Мікроконтролери середнього і старшого підсімейств містять крім цього цілий ряд додаткових функціональних вузлів і блоків таких, наприклад, як: багатоканальні аналого-цифрові перетворювачі, розгалужену систему переривань, блоки керування рідкокристалевими індикаторами, компаратори, широтно-імпульсні модулятори, паралельні і послідовні інтерфейси типу I2C, RS-232 і т.п., цифрові перемножувачі, додаткові таймери-лічильники, збільшена кількість портів вводу/виводу дискретних сигналів та інше. Таким чином, PIC 16/17/18 мають істотні переваги в порівнянні з іншими типами мікроконтролерів такого ж класу. В даний час випускаються мікроконтролери з різним обсягом постійної й оперативної пам'яті, з різними типами тактових генераторів, з різною швидкодією і конструктивним виконанням, а також з різними функціональними можливостями.
Мікроконтролери РІС16FXХ мають ортогональну (симетричну) систему команд, що дозволяє виконувати будь-яку операцію з будь-яким регістром, використовуючи будь-який метод адресації. Це полегшує програмування для них і значно зменшує час, необхідний на навчання роботі з ними.
Також у мікроконтролерах сімейства РІС існують пряма і непряма адресація всіх регістрів і елементів пам'яті. Всі спеціальні регістри і лічильник команд також відображаються на пам'ять даних на відмінно від мікроконтролерів інших фірм.
Загалом можна зробити висновок, що мікроконтролери сімейства PIC, зокрема PIC16F84A в даний час є одними з найпотрібніших МК хоча і вважаються застарілими.
3. Апаратне забезпечення керуючого автомату
3.1 Огляд МК як засіб вирішення завдання
У наш час МК використовуються у різних приладах. З цими приладами ми зустрічаємося щодня: наприклад МК використовують у системах зв'язку, у керуючих автоматах, у побутовій техніці та в інших приладах. МК входять в усі сфери діяльності людини. Переваги мікроконтролерів перед приладами побудованими на логічних елементах очевидні. Якщо раніше треба було багато мікросхем для реалізації якоїсь функції то зараз з цим може справитися одна невелика мікросхема. Маючи невелику напругу живлення і просту систему команд МК можуть вирішувати багато різних проблем. Переваги МК також і в їх розмірах, і можливості працювати з різними типами тактових генераторів. Це може бути і RC ланцюг, і кварцовий резонатор, на частоті до 20МГц. Застосування мікроконтролерів дозволяє зменшити масу і габарити електронних пристроїв, збільшити число виконуваних ними функцій.
Таким чином керуючись вищеназваними перевагами пристроїв розроблених на мікроконтролерах перед пристроями які розроблені на логічних елементах, вважаю що мікроконтролер ідеально підходить для вирішення технічного завдання по розробці пристрою керування освітлюючи приладів.
3.2 Вибір мікроконтролера
Оскільки в наш час є багато фірм виробників мікроконтролерів то є можливість вибрати мікроконтролер, який підходить для вирішення поставленої задачі. Проаналізуємо МК цих фірм.
а) Особливості мікроконтролерів PicMicro фірми Microchip
Висока ефективність мікроконтролерів PICMicro досягається за рахунок архітектури ядра, подібна архітектура зазвичай застосовується в RISC мікропроцесорах.
Основні особливості архітектури МК PICMicro:
- Гарвардська архітектура;
- Довге слово команди;
- Команда складається з єдиного слова;
- Конвеєрна обробка команд;
- Команди виконуються за один машинний цикл;
- Невелике число команд;
- Файлова структура даних;
- Всі команди ортогональні (симетричні).
Порівняння PIC16CX@20MHz з такими типами МК:
- National COP800 @20mhz.
- Motorola MC68HC04 @ 11mhz
- Motorola MC68HC05 @ 4.2MHz
- Zilog Z86Cxx @ 12MHz
- Intel 8048 @ 11mhz
Особливості всіх МК середнього підсімейства:
- 14-бітна система команд;
- 8-ми рівневий СТЕК;
- ОЗУ до 4х128 байт;
- до 5-ти портів введення/виведення;
- до 11 джерел переривань;
- до 4-х Кб пам'яті програм;
- до 256 байт EEPROM.
МК з FLASH-пам'яттю стають все більш популярними, і Microchip значно розширила номенклатуру середнього Mid-Range сімейства саме такими кристалами: PIC16F84 - 18 pin, FLASH 2 K / 1 K14 битий, 224 RAM, 128 EEPROM, 16 ліній I/O, два аналогові компаратори, модуль PWM(ШІМ) /Capture/Compare, USART, два внутрішніх (4 Мгц і 37 кГц) ГТІ, BOR. Цей контролер приходить на зміну заслуженому PIC16F84 і повністю програмно і pin-to-pin сумісний з ним. Крім того, PIC16F84А в півтора рази дешевше.
Особливості всіх МК старшого підсімейства:
МК PIC17XXX
- 16-бітна система команд;
- 16-ти рівневий СТЕК;
- ОЗУ 902 регістрів по 16-ти банкам;
- До 7-ми портів введення/виводу;
- Декілька векторів переривання;
- До 64Кб пам'яті програм;
- Можливість запису та читання програмної пам'яті;
- Можливість працювати з зовнішньою пам'яттю;
- Вбудований блок множення 8-ми розрядних чисел.
МК PIC18XXX
- 16-бітна система команд;
- СТЕК має 31 рівень;
- ОЗУ 3840 регістрів по 16-ти банкам;
- Можливість задавати пріоритети перериванню;
- Можливість доступу до робочого регістру з адресного простору ОЗУ.
Новітнє сімейство мікроконтролерів з 16-бітовим ядром PIC18CXXX і високою продуктивністю. Для масових мікрогабаритних застосувань цікавою новинкою року стане восьмививідний кристал з високопродуктивним ядром PICmicro18, системою контролю живлення (детектором напруги LVD і системою перезапуску BOR), FLASH-пам'яттю програм і незалежною пам'яттю даних на кристалі. Сімейство містить чотири модифікації, що відрізняються об'ємом пам'яті і наявністю вбудованого 10 бітового АЦП.
б) Особливості мікроконтролерів X51 фірми Parallax:
Це особливо малий мікроконтролер. Простий мікроконтролер має 8 виводів. Мікроконтролер 8-ми розрядний з Гарвардською архітектурою що підвищує продуктивність. Одночасно прочитується команда і відбувається звернення за даними. У деяких мікроконтролерах є операції множення, ділення операції з плаваючою крапкою. Система команд компактна - не більше 51 команди (LOW LITLE і HIGH - 51 команда). Є банки регістрів як МК51. У SPI і I2C загальна особливість для передачі використовується два дроти.
Інтерфейс SPI працює із стробуванням по фронту сигналу(жмут), тобто по одній лінії передаються дані, по іншій - жмут.
У I2C стробування здійснюється по рівню. У обох інтерфейсах Master забезпечує видачу сигналів того, що тактує.
МК51 це серія з ядром 80С51. В країнах СНД МК51 випускаються на базі N-МОП технології (серія 1816) і КМОП технології (серія 1830).
в) Особливості МК AVR фірми Atmel
Усі МК AVR мають RISC архітектуру поділяються на три групи:
1.“tiny”- використовує інтерактивні датчики, використовується в : іграшках, ігрових приставках, материнських платах персональних комп'ютерів, контролерах захисту доступу в мобільних телефонах, зарядних пристроях, детекторах диму і полум'я, побутовій техніці, різноманітних інфрачервоних пультах дистанційного керування.
2.“classic”- використовується в : модемах різних типів, сучасних зарядних супутникових навігаційних системах для визначення місцеположення автомобілів на трасі, складній побутовій техніці, пультах дистанційного керування, мережевих картах, материнських платах комп'ютерів, стільникових телефонах нового покоління а також в різних і різноманітних промислових системах контролю і управління.
3.“mega”- це аналогові (NMT, ETACS, AMPS) і цифрові (GSM, CDMA) мобільні телефони, принтери і ключові контролери для них, контролери апаратів факсимільного зв'язку і ксероксів, контролери сучасних дискових накопичувачів, CD-ROM і т.д.
З погляду програміста AVR є 8-розрядним RISC мікроконтролером, що має швидкий Гарвардський процесор, пам'ять програм, пам'ять даних, порти введення/виведення і різні інтерфейсні схеми. Гарвардська архітектура AVR реалізує повне логічне і фізичне розділення не тільки адресних просторів, але і інформаційних шин для звернення до пам'яті програм і до пам'яті даних, причому способи адресації і доступу до цих масивів пам'яті також різні.
Наступна відмінна риса архітектури мікроконтролерів AVR - регістровий файл швидкого доступу. Кожний з 32-х регістрів загального призначення довжиною 1 байт безпосередньо пов'язано з арифметико-логічним пристроєм (ALU) процесора. Іншими словами, в AVR існує 32 регістри - акумулятори (порівняєте, наприклад, з MCS51). Ця обставина дозволяє у поєднанні з конвеєрною обробкою виконувати одну операцію в ALU за один машинний цикл. Так, два операнди витягуються з регістрового файлу, виконується команда і результат записується назад в регістровий файл протягом тільки одного машинного циклу. Система команд AVR вельми розвинена і налічує до 133 різних інструкцій.
3.3 Характеристики та архітектура МК PIC16F84А
МК середнього підсімейства мають високопродуктивну і повністю статичну кількість внутрішніх і зовнішніх переривань. RISC архітектура. Звернення до пам'яті відбувається по різноманітних шинах адресу та даних, що значно збільшує продуктивність процесора порівняно з традиційною архітектурою. Такий підхід дозволяє виконувати всі інструкції за один машинний цикл, окрім команд галуження, які виконуються за два машинні цикли. Ядро мікроконтролерів підтримує 35 простих інструкцій. Додаткові регістри управління і архітектурні нововведення дозволяють створювати високоефективні пристрої.
Спеціальні особливості МК PIC16F84А дозволяють скоротити число зовнішніх компонентів, що у свою чергу знижує вартість кінцевого пристрою, підвищує надійність системи і зменшує енергоспоживання. Додаткову гнучкість в розробках дає широкий вибір режимів роботи тактового генератора: RC - внутрішній RC генератор, INTOSC - внутрішній RC генератор 4МГц, EC - вхід зовнішнього тактового сигналу, XT - стандартний кварцовий/керамічний резонатор, HS - високочастотний кварцовий/керамічний резонатор, LP - низькочастотний МК резонатор(знижене енергоспоживання). Енергозбережний режим SLEEP, дозволяє ефективно використовувати МК в пристроях з живленням від батарей або акумуляторів. Вихід з режиму SLEEP відбувається при виникненні зовнішніх, деяких внутрішніх перериваннях і скиданні МК. МК сторожовий таймер WDT з власним внутрішнім RC генератором запобігає «зависанню» програми.
МК PIC16F84А задовольняють ряд параметрів для їх використання від зарядних пристроїв до видалених датчиків з малим споживанням електроенергії. FLASH технологія і велика кількість периферійних модулів, сумісних з МК, дозволяють швидко і зручно розробляти програмне забезпечення. Висока продуктивність, мала вартість, легкість у використанні і гнучкість портів введення/виводу - роблять PIC16F84А універсальним МК.
Висока ефективність МК Pic16F84А досягається за рахунок архітектури. У PIC16F84А використовується Гарвардська архітектура з роздільними шинами доступу до пам'яті програм і пам'яті даних, на відміну від традиційних систем, в яких звернення до пам'яті програм і даних виконується по одній шині.
Розділення пам'яті програм і пам'яті даних дозволяє використовувати не 8-розрядні команди або кратні шині даних. Всі команди мікроконтролера 14-розрядні однослівні. По 14-розрядній шині доступу до пам'яті програм виконується вибірка коду за один машинний цикл. Безперервна робота ядра МК по вибірці і виконанню кодів програми дає можливість виконувати всі команди за один машинний цикл, окрім команд галуження. Ядро МК підтримує 35 високоефективних команд.
У PIC16F84А адресувати пам'ять даних можна безпосередньо або побічно. Всі регістри спеціального призначення відображаються в пам'яті даних, включаючи лічильник програм. PIC16F84А має ортогональну систему команд, що дає можливість виконати будь-яку операцію з будь-яким регістром пам'яті даних, використовуючи будь-який метод адресації. Це полегшує написання програм для МК PIC16F84А і знижує загальний час розробки пристрою.
МК PIC16F84А містять 8-розрядне АЛУ (арифметико-логічний пристрій) з одним робочим регістром W. АЛУ виконує арифметичні і булеві операції між робочим регістром і будь-яким регістром пам'яті даних. Основними операціями АЛУ є: складання, віднімання, здвиги і логічні операції. У командах з двома операндами один операнд завжди робочий регістр W, а другий операнд регістр пам'яті даних або константа. У командах з одним операндом використовується регістр W або регістр пам'яті даних.
Використовуваний в операціях 8-розрядний робочий регістр W не відображається на пам'ять даних.
Залежно від виконуваної команди АЛУ може впливати на наступні прапори в регістрі STATUS: прапор перенесення C, прапор напівперенесення DC, прапор нуля Z. Прапори C і DC виконують роль відповідних бітів заєму при виконанні команд віднімання SUBLW і SUBWF.
Незалежна EEPROM пам'ять даних, передбачена для зберігання калібрувальної інформації, таблиць або будь-якої іншої інформації, що вимагає періодичної зміни. Дані, записані в EEPROM пам'ять, не будуть втрачені при відключенні живлення МК; пам'ять даних (ОЗУ), використовується для зберігання тимчасової інформації під час виконання програми. Інформація в пам'яті даних буде втрачена при виключенні живлення МК.
Призначення виводів МК PIC16F84:
GP0/AN0/CIN+/ICSPDAT - двунаправлений канал вводу/виводу. Аналоговий вхід 0 АЦП. Вхід компаратора. Вивід даних при програмуванні.
GP1/AN1/CIN-/VREF/ICSPCLK - двунаправлений канал вводу/виводу. Аналоговий вхід 1 АЦП. Вхід компаратора. Вхід опорної напруги. Вхід тактового сигналу при програмуванні.
GP2/AN2/TOCKI/NT/COUT - двунаправлений канал вводу/виводу. Аналоговий вхід 2 АЦП. Вхід тактового сигналу для TMR0. Вхід зовнішнього переривання. Вхід компаратора.
GP3/-MCLR/VPP - вхід порту. Вхід скиду. Напруга програмування.
GP4/AN3/-T1G/OSC2/CLKOUT - двунаправлений канал вводу/виводу. Аналоговий вхід з АЦП. Вивід для підключення кварцового/ керамічного резонатора. Вихід FOSC/4
GP5/T1CKI/OSC1/CLKIN - двунаправлений канал вводу/виводу. Вхід тактового сигналу для TMR1. Вивід для підключення кварцового/керамічного резонатора.
VSS - загальний вивід.
VDD - напруга живлення.
Периферійні модулі:
TMR0 - це 8-ми бітний таймер/лічильник, 8-разрядний програмований переддільник. За допомогою якого можливо виконувати читання і запис поточного значення лічильника; обирати джерело тактового сигналу, активний фронт зовнішнього тактового сигналу. Переривання при переповнені(перехід від FFh к 00h).
TMR1 - це 16-разрядний таймер/лічильник(з двома 8-разрядними регістрами TMR1H,TMR1L). За допомогою якого можливо виконувати запис, читання значення таймера. обирати вибір джерела тактового сигналу(зовнішній, внутрішній), режиму роботи (синхронний, асинхронний). Відбувається генерація переривання по переповненню від FFFFh до 0000h. Вихід з режиму SLEEP відбувається при переповненню (асинхронним режимом). Має власний LP генератор.
Модуль компаратора.
МК PIC16F84А має один аналоговий компаратор, входи яких мультиплексировані з каналами введення/виведення GP0 і GP1. вихід інтегрованого джерела опорної напруги може бути підключено на вхід компаратора. Додатково, вивід GP2 може бути настроєний як цифровий вихід компаратора. В регістрі CMCON знаходяться біти управління компаратора. Компаратор має 8 режимів роботи, установлюваємим бітами CM2:CM0. біти регістра TRISIО управляють направленням каналів ввід/виводу для кожного режиму.
Модуль АЦП перетворює вхідний аналоговий сигнал відповідний 10-разрядний цифровий код. В PIC16F84А є 4 аналогових канали, які мультиплексуються на одну схему вибірки і зберігання.
Вхідний аналоговий сигнал через комутатор каналів заряджає внутрішній конденсатор АЦП CHOLD. Модуль АЦП перетворює напругу, затриману на конденсаторі CHOLD в відповідний 10-разрядний код методом послідовного приближення.
3.4 Система команд МК PIC16F84А
Команди МК PIC16F84А діляться на 4-и групи:
- Байт орієнтовані команди
- Біт орієнтовані команди;
- Команди переходу та управління;
- Команди з константами.
Система команд складається з 35 команд,які зазначені в таблиці 1.
Всі команди виконуються за один такт окрім команд переходів.
Зауваження і пояснення.
Примітка 1: Команди TRIS і OPTІON поміщені в перелік команд для сумісності із сімейством PІ16C5X. Їхнє використання не рекомендується. У PІ16C84 регістри TRIS і OPTІON доступні для читання і запису як звичайні регістри з номером. Попереджаємо, що ці команди можуть не підтримуватися в подальших розробках PІ16FXX.
Примітка 2: Коли модифікується регістр уведення/висновку, наприклад MOVF 6,1, значення, використовуване для модифікації зчитується безпосередньо з ніжок кристала. Якщо значення засувки висновку для ніжки, запрограмованої на висновок дорівнює "1", але зовнішній сигнал на цьому висновку "0" через "навал" зовні, те буде зчитуватися "0".
Примітка 3: Якщо операндом цієї команди є регістр f1 (і, якщо припустиме, d=1), те дільник, якщо він підключений до RTCC, буде зброшений.
Таблиця 3.1 - Перелік команд мікроконтролера
4. Опис електричної схеми керуючого автомату
Електрична структурна схема пристрою представлена на креслені. Схеми складаються із декількох функціональних блоків.
Блок живлення необхідний для живлення струмом пристрою. Напруга яка подається має бути 12В. Стабілізатор напруги служить для захисту від перепадів струму, та вигорання пристрою. Блок встановлення частоти необхідний для подавання на пристрій частоти необхідної для зміни світлового ефекту. Пристрій керування керує сигналом і подає його на блок пам'яті, який зберігає інформацію та передає її імпульс на вихід.
Освітлювальні прилади підключаються до ліній портів. На схемі освітлювальні прилади - лінійка світодіодів підключені через резистори та транзистори, для того, щоб струм на лініях портів не перевищив максимально допустимий рівень. Тому що, якщо цього не зробити, то можливий вихід МК з ладу. Джерело живлення схеми напруга 12В. Тактовий генератор задає частоту сигналу, та стабілізатор напруги для забезпечення безпеки від вигорання, та стабільній роботі пристрою.
5. Опис принципової електричної схеми керуючого автомату
Принципова схема автомату світлових ефектів та перелік елементів які використовуються в схемі, представленні на креслені.
Живлення здійснюється від мережі напругою 12 В., так як струм споживання не перевищує 10 мА, потужності резисторів R2 - R9 вистачає для живлення схеми.
Стабілізатор напруги STU разом з конденсатором С4 вирівнює пульсацію по напрузі. Також схема має тактовий генератор який подає сигнал на пристрій ZQ1 32768 Гц.
Загальна кількість деталей (без гірлянд) не перевершує двох десятків, причому більшість з них (резистори R2-R9, транзистори) утворюють вісім однакових вузлів. Для мікроконтролера повинна бути передбачена панель, з якої його легко отримати для програмування. Напруга живлення (5 В) на мікроконтролер надходить через інтегральний стабілізатор DA1 від джерела, яке живить гірлянди.
Мікроконтролер PIC16F84A. Кварцовий резонатор на "годинну" частоту 32768 Гц і конденсатори С2 і СЗ необхідні лише для мікроконтролерів PIC16F84 і PIC16F84A.
Працюючи у відповідності з програмою, мікроконтролер DD1 встановлює і змінює логічні рівні на виходах свого порту В. Якщо рівень на виході високий, він надійде через один з резисторів R2-R9 на базу відповідного транзистора (VT1-VT8) і відкриє його, запалюючи гірлянду, включену між колектором цього транзистора і плюсом джерела живлення. Коли рівень низький, транзистор закритий і гірлянда вимкнена. Вісім гірлянд, якими управляє автомат, зручно розташувати у вигляді "ялинки".
6. Програмне забезпечення керуючого автомату
6.1 Огляд програмного забезпечення для розробки програми
Універсальне середовище розробки для PICMicro MPLAB IDE.
MPLAB IDE - це редактор коду програм, менеджер проектів, середовище розробки.
За допомогою цієї програми я швидко, зручно напишу та налагоджу програми для всього сімейства Microchip.
MPLAB IDE дозволяє:
- Створення і редагування коду програм використовуючи вмонтований редактор;
- Створювати та компілювати код програми;
- Налагоджувати програму;
- Проводити вимір часових інтервалів програми за допомогою емулятора чи стимулятора.
- Дивитися значення змінних у вікні “Watch window”.
Що входить до комплекту MPLAB IDE:
- Редактор програм, програма налагодження коду програм, менеджер проекту.
- Макро асемблер MPASM, лінкер MPLINK, менеджер бібліотек MPLIB.
- MPLAB SIM - програмний симулятор для МК PIC12/16/17/18xxx.
- MPLAB SIM30 - програмний симулятор для сімейства dsPIC.
- MPLAB ASM30 и MPLAB LINK30 - макро асемблер и лінкер для сімейства dsPIC.
- Набір утиліт для роботи с dsPIC.
- PROCMD - утиліта для роботи с програматором PROMATE II.
Додаткове обладнання і програмне забезпечення:
- MPLAB C17 - мова високого рівня С для процесорів 17 серії;
- MPLAB C18 - мова високого рівня С для процесорів 18 серії;
- MPLAB C30 - мова високого рівня С для сімейства dsPIC;
- MPLAB ICE 2000 - внутрішньосхемний емулятор;
- MPLAB ICE 4000 - внутрішньосхемний емулятор;
- PICSTART Plus - програматор початкового рівня для всіх МК фірми Microchip;
- PRO MATE II - промисловий програматор фірми Microchip. Призначений для програмування МК.
- PICkit 1 FLASH - набір початкового рівня, дозволяючий працювати з Flash МК 12-і серії.
6.2 Опис алгоритму та програми для автомату PIC16F84А
t f такт.
Кпод. = ---------,
44 х f пер.
де Кпод.- коефіцієнт поділу дільника, f такт.- частота тактового генератора, що визначається частотою застосованого кварцового резонатора, f пер.- частота переривань від переповнення лічильника реального часу RTCC.
Алгоритм програми і код асемблера дивіться у додатку 3 і 4 відповідно.
Початок роботи програми починається з ініціалізації мікроконтролера та опису регістрів, які будуть використані у програмі. Тут також встановлюється коефіцієнт дільника та вибирається переривання.
Наступний крок - це очікування переривання програмно це реалізовано так:
START
BTFSS NEW,0 ; якщо не було переривань
GOTO START ; чекаємо
BCF NEW,0 ; якщо є скидаємо прапорець
Після того, як відбулося переривання програма обробки переривань встановила значення лічильника на одиницю більше від попереднього і наступний крок - це вибір коду з програмної таблиці. Це можна зробити у підпрограмі, якщо скласти значення програмного лічильника і лічильника переривань а потім, змінивши значення програмного лічильника ми можемо повернутися в основну програму з кодом, який поті відправимо у порт В :
TABL
MOVF COUT ; заносимо значення
; лічильника
ADDWF PCL,1 ; для вибору коду
RETLW B'00001111'
;.....................
RETLW B'xxxxxxxx'
Після цієї операції наступний крок - перевірка, чи пройшли усі чотири фази, згідно з завданням. Це відбувається у декілька кроків остаточним з яких - перевірка біта STATUS,2 для визначення числа фаз, які вже пройшли:
MOVF COUT ; перевіряємо лічильник
SUBLW.4
BTFSS STATUS,2 ; якщо не всі коди відправлено
GOTO START ; чекаємо ще
CLRF COUT ; інакше чистимо лічильник і
GOTO START ; і починаємо спочатку
Після того, як пройшли усі чотири фази лічильник переривань встановлюють на нуль і починають усе спочатку.
Подана програма і алгоритм - є універсальними. Для того, щоб провести будь-які зміни в програмі не треба істотно змінювати програму: наприклад можна зробити не чотири а більше фаз з різноманітними світловими ефектами. У програмі зміниться лише кількість кодів та при перевірці кількості фаз треба буде встановити інший коефіцієнт.
Висновки
мікроконтролер керуючий автомат світловий
В результаті виконання курсової роботи був розроблений і побудований автомат світлових ефектів на мікроконтролері сімейства PIC.
При розробці була використана сучасна елементна база. Основним елементом керуючого автомату - є мікроконтролер PIC16F84А фірми Microchip. В курсовій роботі показано наскільки зручно використовувати мікроконтролери при розробці будь-яких керуючих автоматів чи інших пристроїв. Були вказані переваги пристроїв на основі мікроконтролерів.
Була створена програма для мікроконтролера, яка забезпечує роботу пристрою згідно і завданням.
Отримані результати при перевірці пристрою на емуляторі MPLAB IDE:
- період зміни фаз близько 0,125с;
- синхронно з перериваннями відбувається переключення освітлювальних приладів.
Розроблені електрична принципова та електрична структурна схеми.
Аналізуючи характеристики пристрою та мікроконтролера, можна зробити висновок, що для створення даного пристрою вибір МК був вірним та правильним. Хоча й на даний час мікроконтролери PIC16F84A вважаються застарілими
Список використаних джерел
1. Бабич Н.П., Жуков И.А. Компьютерная схемотехника. Методы построения и проектирования: Учебное пособие. - К.: «МК-Пресс», 2004. - 576 с.
2. Схемотехніка електронних систем: У 3 кн. Кн.2. Цифрова схемотехніка: Підручник / Бойко В.І., Гуржій А.М., Жуйков В.Я., Зорі А.А., Співак В.М., Терещенко Т.О., Багрій В.В. -2-ге вид., допов. і переробл. - К.: Вища школа, 2004.- 408 с.
3. Мікропроцесорна техніка: Підручник / Ю.І.Якименко, Т.О.Терещенко, Є.І. Сокол, В.Я. Жуйков, Ю.С. Петергеря; За ред. Т.О. Терещенко.- 2-ге вид., переробл. та доповн.- К.:ІВЦ " Видавництво «Політехніка» "; "Кондор", 2004. - 440 с.
4. Угрюмов Е.П. Цифровая схемотехника. - СПб.: БХВ-Петербург, 2010.- 798с.
5. Предко М. Справочник по PIC-микроконтроллерам: Пер. с англ. - М.: ДМК Пресс, 2004.-512с.
Додаток А
Алгоритм роботи програми керуючого автомату
Додаток Б
Програма керуючого автомату
; використаний мікроконтролер PIC16F84А
; період переривань 2 с частота переривань 1/2=0.5
; коефіцієнт дільника 1:64 Кпод=32768/512=64
#include p16f84а.inc
__ CONFIG 3FF0H
;опис регістрів
INTCON EQU 8BH
TMR0 EQU 01H
PCL EQU 02H
STATUS EQU 03H
PORTA EQU 05H
PORTB EQU 06H
TRISA EQU 85H
TRISB EQU 86H
OPTION_REG EQU 81H
FSR EQU 04H
;опис робочих регістрів
NEW EQU 010H ; 0-ий біт прапорець переривання
COUT EQU 011H ; лічильник кількості переривань
W_TEMP EQU 012H ; тимчасовий для W
STATUS_TEMP EQU 013H ; тимчасовий для STATUS
FSR_TEMP EQU 014H ; тимчасовий для FSR
ORG 0
GOTO INIT
ORG 4
GOTO CONST
; ініціалізація
INIT
BSF STATUS,5 ; переходимо в банк1
MOVLW B'00000101' ; коефіцієнт поділу дільника 1:64
MOVWF OPTION_REG ; дільник увімкнено перед RTCC
MOVLV B'10100000' ; переривання по переповненню
MOVWF INTCON ; лічильника RTCC
MOVLW B'00000000' ; порт В на вихід
MOVWF TRISB
BCF STATUS,5 ; переходимо в банк0
CLRF NEW ; все обнуляємо
CLRF COUT
CLRF PORTB
; початок основної програми
START
BTFSS NEW,0 ; якщо не було переривань
GOTO START ; чекаємо
BCF NEW,0 ; якщо є скидаємо прапорець
CALL TABL ; вибираємо код
MOVWF PORTB ; заносимо в порт В
MOVF COUT ; перевіряємо лічильник
SUBLW.4
BTFSS STATUS,2 ; якщо не всі коди відправлено
GOTO START ; чекаємо ще
CLRF COUT ; інакше чистимо лічильник і
GOTO START ; і починаємо спочатку
TABL
MOVF COUT ; заносимо значення
; лічильника
ADDWF PCL,1 ; для вибору коду
RETLW B'00000111'
RETLW B'00011100'
RETLW B'01110000'
RETLW B'11000001'
; обробка переривання
CONST
MOVWF W_TEMP
MOVF STATUS
MOVWF STATUS_TEMP ; записуємо значення
; регістрів
MOVF FSR
MOVWF FSR_TEMP
INCF COUT ; прибавляємо лічильник
BSF NEW,0 ; встановлюємо прапорець
RETCONST
BCF INTCON,2 ; скидаємо прапорець
MOVF FSR_TEMP ; повертаємося до основної
; програми
MOVWF FSR
MOVF STATUS_TEMP
MOVWF STATUS
MOVF W_TEMP
RETFIE
END.
Додаток В
Код прошивки автомату
:020000040000FA
:10000000012886018316003086000C30810083129F
:1000100064008C018C0A8C0D630001308600630043
:100020000330860063000730860063000F308600CF
:1000300063001F30860063003F30860063007F301E
:1000400086006300FF308600630063006300630086
:100050006300FE3086006300FC3086006300F830E9
:1000600086006300F03086006300E03086006300A5
:10007000C030860063008030860063000030860058
:1000800063008C1A44280B288C018C0A8C0D6300A9
:10009000803086006300C03086006300E030860058
:1000A0006300F03086006300F83086006300FC30A7
:1000B00086006300FE3086006300FF308600630028
:1000C00063006300630063007F30860063003F309D
:1000D000860063001F30860063000F3086006300D7
:1000E000073086006300033086006300013086001D
:1000F00063000030860063008C1A7F2846288C013C
:100100008C0A8C0D6300813086006300C33086004A
:100110006300E73086006300FF3086006300630001
:100120006300630063007E30860063003C3086001D
:1001300063001830860063000030860063008C1A6C
:10014000A22881288C018C0A8C0D6300183086004F
:1001500063003C30860063007E3086006300FF3021
:10016000860063006300630063006300E73086007D
:100170006300C33086006300813086006300003076
:10018000860063008C1AC528A4288C018C0A8C0D6B
:100190006300FF3086006300630086016300630034
:0601A0008C1A0828C72894
:02400E000D3F64
:00000001FF
Размещено на Allbest.ru
Подобные документы
Класифікація роботів: андроїд, бойовий, побутовий, персональний, промисловий, соціальний та шаробот. Розробка принципової електричної схеми робототехнічної моделі. Блок схема мікроконтролера ATtiny26/L та програмне забезпечення керуючого автомату.
курсовая работа [936,6 K], добавлен 25.02.2013Дослідження можливостей та властивостей мікроконтролера ATtiny13, його архітектури. Розробка програми, що керує роботою мікропроцесора. Моделювання роботи системи кодового захисту з однією кнопкою. Організація пам’яті та розподіл адресного простору.
курсовая работа [1,0 M], добавлен 01.06.2013Створення схеми електричної принципової годинника-будильника-термометра з ІЧ ПК. Призначення проектуємого пристрою. Розробка структурнї та електричної принципової схеми пристрою та програми тестування роботи пристрою, розрахунок надійності його роботи.
курсовая работа [935,6 K], добавлен 23.03.2009Короткий опис мікроконтролера ATmega6450, його особливості та опис виводів. Розробка принципової схеми стенду. Написання програми на мові СІ при використанні програмного середовища CodeVisionAVR. Перепрограмування мікроконтролера ATmega6450 сімейства AVR.
курсовая работа [491,2 K], добавлен 15.05.2013Створення схеми електричної принципової МР-3 програвача – приставки до ПК, структурної та загальної схеми. Призначення проектуємого пристрою. Принцип роботи окремих ВІС. Розробка програми тестування роботи пристрою, розрахунок надійності його роботи.
курсовая работа [527,4 K], добавлен 24.03.2009Розробка операційного автомату. Розробка машинного алгоритму: граф-схема алгоритму; приклад реалізації. Синтез керуючого автомату: основи теорії керуючих автоматів; опис керуючого автомату Мілі. Кодування граф-схеми автомату. Синтез керуючого автомату.
курсовая работа [121,0 K], добавлен 26.12.2009Розробка операційного автомату, що здійснює операцію прискореного множення в доповняльному коді, зі старших розрядів. Побудування алгоритму даної операції та його схематичного відображення. Поняття та синтез керуючого автомату, побудова його графу.
курсовая работа [55,2 K], добавлен 01.06.2010Опис великої інтегральної схеми пристрою множення. Аналіз розв’язків поставленої задачі, розробка принципової електричної схеми, логічної моделі і тесту перевірки, розрахунок швидкодії. Тестування з використанням пакету прикладних програм OrCAD 9.1.
курсовая работа [5,0 M], добавлен 22.02.2010Розробка компонентів технічного і програмного забезпечення мікропроцесорного пристрою, аналогово-цифровий і цифро-аналоговий перетворювачі. Синтез структурної схеми фільтру. Структурна схема та алгоритм функціонування пристрою. Програми вводу, виводу.
курсовая работа [869,6 K], добавлен 15.02.2011Проблеми розробки компонентного програмного забезпечення автоматизованих систем управління. Сучасні компонентні технології обробки інформації. Аналіз вибраного середовища проектування програмного забезпечення: мова програмування PHP та Apache HTTP-сервер.
дипломная работа [2,8 M], добавлен 11.05.2012