Міністерство науки і освіти України
Державний вищий навчальний заклад
«Краснодонський промислово-економічний коледж»
ПОЯСНЮВАЛЬНА ЗАПИСКА ПО КУРСОВОМУ ПРОЕКТУ З ДИСЦИПЛІНІ
"МІКРОПРОЦЕСОРНІ СИСТЕМИ"
Тема: Мікропроцесорна система для підрахунку готової продукції
Краснодон – 2009
Реферат
Пояснювальна записка 30 аркушів, 9рис., 1 табл, 15 джерел, 7 додатків. Графічна частина 1 аркуш.
Об’єктом проектування є мікропроцесорна система, яка виконує підрахунок готової продукції.
Мета роботи – розробка мікропроцесорної системи
В процесі роботи проведена розробка блок-схеми та принципової схеми пристрою, програми, яка виконує алгоритм роботи МПС, проведено розрахунок блоку живлення.
МПС може застосовуватись для підрахунку готової продукції на виробництві.
Ключеві слова: Мікроконтролер, архітектура, порти, генератор, пам'ять, таймер, режим, схема, блок, розрахунок, плата, програма, потужність.
Перелік використаних скорочень
МК – мікроконтролер
МПС – Мікропроцесорна система
EEPROM – постійний пристрій, що запам'ятовує, для зберігання даних
GCK – генератор тактових імпульсів
VCC, GND – підключення джерел живлення
CPV – центральне джерело
АЛП– зовнішній пристрій, що запам'ятовує, до якого є можливість підключитися
SRAM - оперативний пристрій статичного типа, що запам'ятовує, для зберігання даних.
NB - число виводу
NK - число команд
Flash Rom – постійний пристрій, що запам'ятовує, для зберігання програм
RISC - обчислення з скороченим набором команд.
Atmel - виробник напівпровідникових електронних компонентів.
AVR - сімейство восьмибітних мікроконтролерів фірми Atmel.
Зміст
Вступ
1. Основна частина.
1.1 Розробка технічного завдання
1.2 Функціональні вузли мікроконтролеру
1.2.1 Технічні характеристики МК
1.2.2 Загальна структура МК
1.2.3 Генератор тактових імпульсів
1.2.4 Пристрої пам'яті
1.2.5 Переферійні пристрої
1.2.6 Енергозберігаючі режими роботи мікроконтроллеру
1.3 Розробка структурної схеми пристрою
1.4 Розробка принципової схеми пристрою
1.4.1 Блок живлення
1.4.2 Блок виконуючого пристрою
1.4.3 Блок керування
1.4.4 Розрахунок навантаження виводу МК
1.5 Розробка друкованої плати
1.6 Програмне забезпечення
1.6.1 Програмні середовища для програмування МК
1.6.2 Алгоритм роботи програми
1.7 Розрахунок споживної потужності
Висновки
Список використаної літератури
Додаток А Опис виводі ATtiny2313
Додаток Б Друкована плата блоку виконуючого пристрою .
Додаток В Лістінг програми роботи пристрою
Додаток Г Графік залежності напруги на виході МК від струму
Вступ
В даний час практично неможливо вказати якусь галузь науки і виробництва, в якій би не використовувалися мікроконтролера.
Універсальність і гнучкість МК як пристроїв з програмним керуванням поряд з високою надійністю і дешевизною дозволяють широко застосовувати їх у різних системах управління для заміни апаратної реалізації функцій управління, контролю, вимірювання та обробки даних. Застосування МК в системах управління апаратурою, зокрема, використання їх для управління гірляндами, лічильниками продукції, електричними лампами, звукових автоматів, підсилювачів, регуляторів.
Останнім часом широке поширення отримують також програмувальні мікроконтролери, що представляють собою спеціалізовані мікроЕВМ, орієнтовані на вирішення численних завдань в системах управління, регулювання та контролю. Особливу групу складають програмувальні контролери для систем автоматичного регулювання. Найважливішим пристроєм будь-якої системи автоматичного регулювання є регулятор, задає основний закон управління виконавчим механізмом. Заміна класичних аналогових регуляторів універсальними програмованими мікроконтролери, здатними програмно перебудовуватися на реалізацію будь-яких законів регулювання, записаних в пам'ять мікроконтролерів, забезпечує підвищення точності, надійності, гнучкості, продуктивності і зниження вартості систем управління. Великим достоїнством універсальних мікроконтролерів є їхня здатність виконувати ряд додаткових системних функцій: автоматичне виявлення помилок, контроль граничних значень параметрів, оперативне відображення стану систем і т. п.
В курсовому проекті я розробляю лічильник, який рахує число людей.
1.Основна частина
1.1 Розробка технічного завдання
Загальні відомості: Мікропроцесорній пристрій, який рахує число імпульсів готової продукції.
Призначення розробки: розробка МПС з навчальною метою.
Вимоги до МПС: Тип МК ATtiny2313, індикація на 2 розряда, число імпульсів – 10, індикацію використати в динамічному режимі, использовать в якості датчика оптоелектронний пристрій, напруга живлення Uж = 5В. Прилад повинен бути підключено до сіті 220В.
Пристрій складається з трьох модулів:
Мікропроцесорного модуль;
Модуль блоку живлення;
Модуль блоку вихідних пристроїв через оптопару.
Розробити друковану плату блоку живлення.
1.2 Функціональні вузлі мікроконтролеру
Технічні характеристики
Для розробки свого пристрою я використав микроконтроллер фірми ATMEL AT90S2313. Він являє собою 8-розрядний AVR ® микроконтроллер з RISC архітектурою, 2Кбайт Flesh-пам’яті та підтримкою внутрсистемного програмування низького енергоспоживання.
Він має наступні характеристики:
118 потужних інструкцій - більшість з них виконуються за один такт
Кбайт Flash-пам'яті з підтримкою внутрісистемного програмування
SPI-послідовний інтерфейс для завантаження програмного коду Ресурс:
1000 циклів запису / стирання
128 байтів EEPROM: Ресурс:
100 000 циклів запис / стирання
Робочі регістри загального призначення 32 х 8
15 програмувальних ліній I / O
Живлення VCC: від 2.7 В до 6.0 В
Повністю статичний режим роботи:
Від 0 до 10 МГц, при живленні від 4.0 В до 6.0 В
Від 0 до 4 МГц, при живленні від 2.7 В до 6.0 В
Продуктивність, аж до 10 MIPS при 10 МГц
Один 8-ми розрядний таймер / лічильник з окремим попередніми ділителем частоти
Один 16-ти розрядний таймер / лічильник з окремим попередніми ділителем частоти з режимами порівняння та захоплення
Повнодуплексний UART
Обираємо 8, 9, або 10-ти розрядні режими широтно-імпульсної модуляції (шим)
Зовнішні та внутрішні джерела переривання
Програмний таймер з вбудованим тактовим генератором
Вбудований аналоговий компаратор
1.2.2 Загальна структура МК
Ядро мікроконтролера AVR AT90S2313 виконане по вдосконаленій RISC архітектурі(рис.1.2.1) , в якій використовується ряд рішень, направлених на підвищення швидкодії мікроконтролерів
Рис 1.2.1. Блок схема ядра МК AT90S2313
Загальна структура МК AT90S2313 полягає у тому, що арифметико-логічний пристрій (АЛУ), що виконує всі обчислення, підключений безпосередньо до 32-м робочим регістрам, об'єднаним в регістровій файл. Завдяки цьому АЛУ виконує одну операцію (читання вмісту регістрів, виконання операції і запис результату назад в регістровий файл) за один машинний цикл. Крім того, в мікроконтролері AT90S2313 кожна з команд займає лише один елемент пам'яті програми. У мікроконтролерах AVR реалізована Гарвардська архітектура, яка характеризується роздільною пам'яттю програм й даних, кожна з яких має власні шини доступу до них. Така організація дозволяє одночасно працювати як з пам'яттю програм, так і з пам'яттю даних. Розділення шин доступу дозволяє використовувати для кожного типа пам'яті шин різної розрядності, а також реалізувати конвеєризацію. Конвеєризація полягає в тому, що під час виконання поточною команда виробляється вибірка з пам'яті і дешифрування кода наступної команди.
На відміну від RISC-міккроконтролерів інших фірм, в мікроконтролерах AVR використовується 2-уровневий конвеєр, а тривалість машинного циклу складає всього один період кварцового резонатора. В результаті, при нижчій тактовій частоті вони можуть забезпечувати ту ж продуктивність, що й RISС-микроконтролеры інших фірм.
1.2.3 Генератор тактових імпульсів
В мікроконтролері AT90S2313 виводи XTALI і XTAL2 є входом і виходом інверт. підсилювача, на якому можна зібрати генератор тактовим імпульсів. Можна використовувати як кварцові, так і керамічні резонатори. Якщо потрібно використовувати зовнішній тактової сигнал, він подається на вивід XTAL1, а вивід XTAL2 при цьому залишається непідключеним.
Рис 1.2.3. підключення зовнішнього кварцового генератора до мікроконтролера
Рис 1.2.4. підключення джерела тактових імпульсів
1.2.4 Пристрої пам’яті
Пам'ять програм
AT90S2313 містить 2 Кб флеш-пам'яті для зберігання програм. Флеш-пам'ять організована як 1Кх16. У фірмовому описі мікроконтролера стверджується, що флеш-пам'ять можна перепрограмувати до 1000 разів.
Програмний лічильник має ширину 10 бітів і дозволяє адресувати 1024 слів пам'яті програм.
Способи занесення інформації (тобто програм) у флеш-пам'ять мікроконтролера будуть розглянуті далі.
EEPROM пам'ять даних
AT90S2313 містить 128 байтів електричної енергонезалежної пам'яті (EEPROM). EEPROM організована як окрема область даних, кожен байт якої може бути прочитаний і при необхідності перезаписаний. EEPROM витримує не менше 100 000 циклів запису / стирання. До цієї пам'яті може звертатися програма, считуя або записуючи які-небудь дані. Крім того, дані в цю пам'ять можна занести за допомогою спеціального пристрою - програматора, на етапі виготовлення і програмування конструкції. Її зручно використовувати для зберігання будь-яких констант.
Оперативна пам'ять даних
На рис. 2.17 показана організація пам'яті даних у AT90S2313. 224 комірки пам'яті включають в себе регістровий файл, пам'ять вводу / виводу і оперативну пам'ять даних.
Перші 96 адрес використовуються для регістровий файлу та пам'яті введення / виводу, наступні 128 - для ОЗУ даних.
При зверненні до пам'яті використовуються п'ять різних режимів адресації: прямий, безпосередній зі зміщенням, безпосередній, безпосередній з попередніми декрементом і безпосередній з постінкрементом. Регістри R26 ... R31 регістровий файлу використовуються як покажчики для безпосередньої адресації.
Пряма адресація має доступ до всієї пам'яті даних. Безпосередня адресація зі зсувом використовується для доступу до 63ячейок, базовий адрес яких задається вмістом регістрів Y або Z.
Для безпосередньої адресації з інкрементом і декрементом адреси використовуються адресні регістри X, Y та Z.
За допомогою будь-якого з цих режимів можна здійснювати доступ до всіх 32 регістра загального призначення, 64 регістр введення / виводу і 128 комірок ОЗУ.
Рис.1.2.5 Карта пам’яті МК AT90S2313
|
Рис. 1.2.6. Організація пам’яті даних в мікроконтролерах AT90S2313
1.2.5 Периферійні пристрої
Набор периферійних пристроїв, що є у складі того або іншого мікроконтролера, залежить від конкретної моделі і може бути визначений по вільній таблиці. Взагалі ж у складі мікроконтролерів сімейства зустрічаються наступні периферійні пристрої:
8-розрядний таймер/лічильник з передільником (таймер ТЕ);
другий 8-розрядний таймер/лічильник з передільником (таймер Т1);
сторожовий таймер WDT;
одноканальний генератор сигналу з ШИМ розрядністю 8 біт (один з режимів роботи таймера Т1);
аналоговий компаратор;
10-розрядний АЦП (4 канали);
апаратний модулятор.
Периферійний пристрій - частина технічного забезпечення, конструктивно відокремлена від основного блоку обчислювальної системи.
Периферійні пристрої мають власне управління і функціонують по командах центрального процесора.
Периферійні пристрої призначені для зовнішньої обробки даних, що забезпечує їх підготовку, введення, зберігання, управління, захист, вивід і передачу на відстань по каналах зв'язку.
Периферія - це сукупність периферійних пристроїв, підключених до комп'ютера, пристрої, які не представляють для комп'ютера особливої важливості і він сповна обходитися без них. Правда, відсутність деяких з периферійних пристроїв на комп'ютері обмежує можливості користувача. Наприклад, без мишки користувач не може поворушити курсором і відповідно не може повноцінно працювати на комп'ютері, оскільки миша на сучасному ПК є практично найголовнішим елементом управління ПК.
Які чинники впливають на те, що периферійні пристрої відносять до групи периферійних ?
такі пристрої прості в установці і налаштуванні;
вони, як правило, є зовнішніми, тобто підключаються не зсередини, а зовні системного блоку;
їх призначення чітко визначене;
вони практично не підлягають жодній модернізації і розгону;
такі пристрої завжди дешеві і у них є величезна кількість виробників, чого не скажеш, наприклад, про процесори або про вінчестери;
більшість периферійних пристроїв підключаються до одних і тих же роз'ємів на системній платі або на контроллерах;
деякі периферійні пристрої для зберігання даних управляються на системній платі спеціальними мікросхемами управління - Super I/O;
Характеристики підсистеми введення/виводу
Основними характеристиками підсистеми введення/виводу є:
програмна конфігурація і вибір портів введення/виводу;
виводи можуть бути запрограмовані як вхідні або як вихідні незалежно один від одного;
вхідні буфери з тригером Шмітта на всіх виводах;
можливість підключення до входів внутрішніх підтягуючих резисторів (опір резисторів складає 35.120 кОм).
1.2.6 Енергозберігаючі режими роботи мікроконтролеру
Для запуску режиму зниженого енергоспоживання повинен бути встановлений в стан I біт SE регістру MCUCR і повинна бути виконана команда SLEEP. Якщо під час перебування в режимі зниженого споживання відбувається одне з дозволених переривань, процесор починає працювати, виконує підпрограм обробки переривання і продовжує виконання програми з команди, наступного за SLEEP. Вміст регістровий файлу та пам'яті введення / виводу не змінюється. Якщо в режимі зниженого споживання відбувається скидання, процесор починає виконання програми, вектора скидання.
Якщо для виведення з економічного режиму використовується переривання за рівнем, низький рівень повинен утримуватися на час, достатній для запуску генератора тактовим імпульсів, - на 16 мс. Інакше прапор переривання може повернутися в 0 до того, як процесор почне роботу.
Режим холостого ходу
Коли біт SM скинутий, команда SLEEP перекладає процесор до режиму холостого ходу (Idle mode). ЦПУ зупиняється, але таймери / лічильники, сторожовий таймер і система переривань продовжують працювати. Це дозволяє процесору відновляти роботу як від зовнішніх переривань, так і за переповнення таймерів / лічильників або за скидання від сторожового таймера. Якщо переривання від аналогового компаратор не потрібно, аналоговий компаратор може бути відключений встановленням біта ACD регістру ACSR. Це зменшує споживану потужність.
Економічний режим
Коли біт SM = 1, команда SLEEP переводить процесор в економічний режим (Power Down Mode). У цьому режимі зупиняється генератор тактовим імпульсів. Програміст може дозволити рабо ¬ ту сторожового таймера в цьому режимі. Якщо сторожовий таймер раз ¬ вирішено, процесор виходить з економічного режиму після відпрацювання періоду сторожового таймера. Якщо сторожовий таймер заборонений, вихід з економічного режиму може відбутися тільки за зовнішнього скидання або зовнішнього переривання по рівню.
1.3 Розробка структурної схеми пристрою
Мікроконтролер - це мікропроцесорна система на одному кристалі. Така мікросхема містить всі складові частини мікропроцесорної системи.
Схема управління має на увазі під собою комутаційний пристрій-кнопка.
Джерело живлення - радіоелектронний пристрій, призначений для забезпечення різних пристроїв електричним живленням.
Розрізняють первинні та вторинні джерела живлення. До первинних відносять перетворювачі різних видів енергії в електричну, прикладом може служити акумулятор, що перетворить хімічну енергію. Вторинні джерела самі не генерують електроенергію, а слугують лише для її перетворення з метою забезпечення необхідних параметрів (напруги, струму, пульсацій напруги і т. п.)
Блок вихідних пристроїв через оптопару – безпосереднє виконавчий пристрій на, який підсистема передає свій вплив. (рис. 1.3.)
Мал. 1.3. Структурна схема лічильника, який рахує число імпульсів готової продукції.
1.4 Розробка принципіальної схеми пристрою
1.4.1 Блок Живленная
Блок живлення зібраний на простій і не дорогій конструкції. Малогабаритний індукційний трансформатор Тр1 іноземного виробництва які застосовуються в сучасній аудіо техніці. Первинна обмотка трансформатора розрахована на змінний струм від мережі U1=220Вт. Вторинна обмотка розрахована на напругу 12Вт і сили струму навантаження I2=1.5А. Випрямний ланцюг зібраний на кременевих діодах середньої потужності VD1-VD4 КД201 включених за типом «міст». Як фільтр був використаний електролітичний конденсатор С1 з ємкістю 100mF на напругою живлення 24В. Як стабілізатор була використана мікросхема КР142ЕН5А. Мікросхема КР142ЕН5А трьохвивідний стабілізатор з фіксованою вихідною напругою 5 вольт можуть знайти вживання в широкому спектрі радіоелектронних пристроїв в якості джерелах живлення логічних систем, вимірювальній техніці, пристроїв високоякісного відтворення і інших радіоелектронних пристроїв.
Таким чином, ми отримуємо не дорогий, малогабаритний і якісний блок живлення з двома вихідними напругами +12В і +5В і максимальною силою струму в 1А. 12В використаний для живлення електронного ключа, а 5В для живлення мікроконтролера. Схема приведена рис.1.4.1
Рис.1.4.1. Блок живлення від мережі змінного струму 220В
1.4.2 Блок вихідних пристроїв
В своєму пристрої в якості блоку індикації я використала Семисегментний індикатор АЛС324Б1 (рис 1.4.2).
Семисегментний індикатор представляє собою мікросхему, на верхній поверхні якої розташовуються світло діоди. Ці індикатори є дуже зручним та простим у використанні пристроєм відображення числової інформації. Всередині них, як правило, всі світло діоди з'єднані разом або катодом (загальний катод), або анодом (загальний анод).
Всі індикатори однієї серії мають однакову распіновку і відрізнятися можуть лише кольором. Це дозволяє, встановивши індикатор у панельки для мікросхем, легко замінити його індикатором іншого кольору.
Літери на малюнку які позначають кожен сегмент А і G. Ці назви ми будемо використовувати в коді програми для оголошення макросів. Це дозволить якнайсильніше абстрагувати програму від електричної схеми, від способу з'єднання індикатора та МК.
Отже, "ніжки" 3 і 8 потрібно підключити до шини +5 В (або, в крайньому разі, подати на них 5 В від МК, але так робити не рекомендується), а решта - до будь-якого порту МК. При цьому не дуже-то важливо, в якому порядку, оскільки в разі помилки Ви просто побачите на індикатор не цифру, а яку-небудь букву "зю". Тоді доведеться або підключити по-іншому, або внести невеликі зміни в програму. В загальному, символ, відображений на індикаторі, залежить від того, яке число відправити в порт. Всього існує 255 комбінацій, і всі вони можливі незалежно від способу підключення. Я використав порт D для підключення індикатора.
Рис 1.4.2 Схема виводів індикатора АЛС324Б1
1.4.3 Блок керування
В я кості блоку керування в пристрої я використала так званий «Датчик тіні» (Рис. 1.4.3.). Пристрій який складеться з двох світлодіодів та двох фото резисторів.
Діє пристрій наступним чином. Світлодіод світить на фото транзистор, фото транзистор закритий, як тільки між фото резистором та фотодіодом встає перешкоду через яку не проходить світло, резистор відкривається і через нього проходить напруги.
Рис.1.4.3. Схема «Датчика тіні»
1.4.4 Розрахунок виводу МК
Оптопара споживає малий струм. Для свого проекту я використала вітчизняну оптопару АОУ103В. З її даних я дізналася, що її максимальна робоча напруга складає 1,5В, а струм 10млА.
Для того щоб визначити величини припустимих струмів мого МК ATtiy2313 скористаємось графіком залежності напруги на виході МК від струму, який протікає крізь вивід МК (Додаток ), який візьмемо у даташит .
Для того щоб визначити величини припустимих струмів скориставшись фірмовою документацією на МК АТtiny2313, є наступні обмеження:
Сумарний струм навантаження при «0» на виході не повинен перевищувати, причому сумарний струм ліній не більш . Струм ліній не повинен перевищувати . Як-що навантажити всі виходи струмом можна перевищити припустимий струм, що може зашкодити мікросхемі.
Вибираємо струм 10мА, який є оптимальний для нашої оптопари. За допомогою R, вимірюємо падіння напруги на ній.
За графіком із ДШ визначаємо яка напруга буде на виводі UМК при струмі 10мА. Вона дорівнює 0,5В.
Знаходимо напругу резистора:
=5-(2,5+0,5)=2В
Знаходимо номінал потрібного резистора за законом Ома:
Потужність резистора:
Вибираємо резистор МЛТ-0.125Вт , опір якого складає 180Ом
1.5 Розробка друкованої плати
Друкарські плати виконуються у вигляді креслень вони повинні мати масштаб, координатну сітку, і розміри згідно ГОСТ-2417-91. Координатна сітка може виконуватися у вигляді прямокутній або радикальній полярній системі. Лінії координатної сітки повинні мати кратність 0,0625 мм. За початок координат вибираємо нижній лівий отвір, або нижню ліву точку креслення або лівий нижній кут самої друкарської плати.
Маркування представляється на вільному місці. Допускається наносити пояснюючі написи або позначення елементів.
Друкарська плата - монтажний вузол електронної апаратури при якій сполучаючі проводки наносяться на ізоляційній основі поліграфічним методом. Кінцями провідників підпоюють виводи навісних елементів. Матеріал ізоляційної пластини має хороше оточення з металом, високу механічну міцність, малі коефіцієнт усадки.
Матеріал ізоляційної пластини:
- склотекстоліт
- гетинакс
Нанесення провідників на ізоляційну підкладку здійснюється наступним способом:
Друкарня
Фотохімічний
Офсетна
Залежно від матеріалу провідникові доріжки виготовляють наступними способами:
Труїть фольгованого діелектрика
Штампування фольги з вирубкою малюнка
Нанесення через трафарет малюнка з срібла на пластинку з кераміки, слюди, скла.
Монтаж навісних елементів на друкарську плату здійснюється:
У ручну електропаяльником
Механічним паянням
Приміщення друкарської плати в розплавлений припій
Ультразвуковою лазерною зваркою
Після виготовлення, друкарська плата покривається шаром електроізоляційного лаку. У даній роботі друкарська плата розроблена в програмі Sprint-Layaut 3.OR.
Представимо на малюнку
Для розробка малюнка друкарської плати можна використовувати відповідний графічний редактор, який входить до складу комп'ютерних комплексних програм.
До різного проектування радіоелектронних пристроїв. Наприклад Sprint-Layaut 4.OR (1.5.1) Рис.1або Р-cad-200 (ACCELEDA)
Рис.1 Програма Sprint-Layaut 4.OR
Є досить простий і зручний програмний продукт. Для розробки однобічної і двосторонньої друкарської плати (Рис.2)
Рис.2 зразок друкарської плати
Розмір якої не перевищує 300/300мм. За умовчанням 160/100мм.,что цілком достатньо в більшості випадків для радіолюбительських конструкцій. Програм працює в середовищі windows 95,98,ME,ND,2000,XP і має всі функції необхідні при створенні друкарської плати.
1.6 Програмне забезпечення
1.6.1 Програмне середовище для програмування МК
Програма для мікроконтролера являє собою набір кодів, які записуються до його спеціальної пам'яті. Однак написання програми кодами є дуже не зручним і зайняло б дуже великий час. Тому для написання програми використовуються язики програмування, які оперують з командами, що мають своє осмислене значення.
Всі мови програмування діляться на дві групи:
мови низького рівня (машино орієнтування);
мови високого рівня.
Типовим прикладом машино орієнтування мови програмування є мова Асемблер. Ця мова максимально наближений до системи команд мікроконтролера. Кожен оператор цієї мови - це, по суті, словесне назва якої-небудь конкретної команди.
У процесі трансляції така команда просто замінюється кодом операції. Складаючи програму на мові Асемблер, програміст повинен оперувати тими ж видами даних, що і сам процесор, тобто байтами і бітами.
Специфіка мови Асемблер полягає ще й у тому, що набір операторів для цієї мови безпосередньо залежить від системи команд конкретного мікроконтролера. Тому, якщо два мікроконтролера мають різну систему команд, то і мова Асемблер для кожного такого мікроконтролера буде свій. У
У недавньому минулому мова Асемблер була єдиною мовою програмування для мікроконтролерів. Тільки вона дозволяла ефективно використовувати убогі ресурси найперших мікросхем. Проте в даний час, коли можливості сучасних мікроконтролерів значно зросли, для складання програм все чаше використовуються мови високого рівня, такі як Бейсик, СІ і т. п.
Ці мови в свій час були розроблені для великих справжніх комп'ютерів. Але зараз широко використовуються також і для мікроконтролерів. Мови високого рівня відрізняються тим, що вони набагато більше орієнтовані на людину. Більшість команд мов високого рівня не пов'язані з конкретними командами мікроконтролера.
У цьому проекті програму для мікроконтролера буде створено з допомогою мови СІ.
Для створення програм на мові СІ ми будемо використовувати програмне середу CodeVisionAVR. Це середовище спеціально призначена для розробки програм на мові СІ для мікроконтролерів серії AVR. Середа CodeVisionAVR не має свого відладчик, але дозволяє отлажувати програми, використовуючи можливості системи AVR Studio.
Відмінною особливістю системи CodeVisionAVR є наявність майстра-побудовники програми. Майстер-побудовники полегшує роботу програмісту. Він позбавляє від необхідності перегортати довідник і вишукувати інформацію про те, який регістр за що відповідає і які коди потрібно в нього записати. Результат роботи майстра - це заготівля майбутньої програми, в яку включені всі команди попередньої настройки, а також заготовки всіх процедур мови СІ.
1.6.2 Алгоритм роботи програми
1.7 Розрахунок споживчої потужності
Потужність яку вживає мікропроцесорна система від джерела живлення визначується сумарною середньою потужністю, яку споживає кожен активний елемент, який входить до схеми мікропроцесорної системи.
,
Де - напруга живлення;
- число елементів;
- максимальний струм, який споживається елементом.
Таблиця 1.7
Елементи Схеми |
Кількість | Uж(В) | Ісп.мак(мА) |
CPU | 1 | 5 | 7 |
VD | 2 | 1,5 | 10 |
VT | 2 | 0,8 | 20 |
HG | 4 | 2,5 | 25 |
Висновки
В даному курсовому проекті приведена розробка лічильника, який рахує число імпульсів готової продукції.
Приведено аналітичний огляд МК сімейства AVR. Розробка пристрою проводилась на сучасній елементній базі, а сама на МК ATtiny2313.
В ходы проекту складено структурну та принципову схему, розроблено друковану плату блоку вихідних пристроїв через оптопару. Проведено розрахунок обмежуючих резисторів для МК і визначено загальну потужність імпульсів пристрою.
Пристрій рахує число імпульсів готової продукції.
Конструктивно пристрій виконано з 3 блоків, які відключаються один від одного, що робить пристрій більш комунікабельним.
Потужність мого пристрою складається з частини з великою та частини з низькою потужністю. Причому частина з низкою потужністю керує частиною з високою потужністю завдяки включення у схему пристрою оптопари.
На жаль подальшій розвиток даного пристрою не представляться можливим.
Список літератури
Гребньов В.В “Мікроконтроллери сімейства AVR фірми Atmel”. – М.: ІП РадіоСофт, 2002
Евстіфеєв А.В. “Мікроконтроллери AVR сімейства Tiny і Mega фірми Atmel” – М.: Видавницький дім «Додека-XXI», 2004 – 560 с.
Шелестов І.П. “Радіолюбителям: корисні схеми” книга 1 – М.: видавництво «Слон-Р», 1998р.
М.С.Голубцов “Мікроконтроллери AVR: ві простого до складного” – М.: СЛОН-Прес, 2003
Мортон Дж. “Мікроконтролери AVR. Вводний курс” – М.: видавницький дім «Додека-XXI», 2006
Баранов В.Н. “Застосування мікроконтролерів AVR: схеми алгоритми програми” - видавницький дім «Додека-XXI», 2004
Шелестов І.П. “Радіолюбителям: корисні схеми”. Книга 6. - М.: видавництво «Слон-Р», 2005р.
Ю.А.Шпак "Програмування на мові С для АВR та PIC мыкроконтролерів”. K.: МК-Прес, 2006
Белов А.В. «Создаём устройства на МК». – СПб.: Наука и техника, 2007
Зайцев М.И «Радеолюбительские конструкции на МК», М.: СЛОН-Прес, 2003
Григорьев В. Л. Программное обеспечение микропроцессорных систем. – М.: Энергоатомиздат, 1983
Щелкунов Н. Н., Дианов А. П. Микропроцессорные средства и системы. – М.: Радио и связь, 1989
Сташин В. В. Проектирование цифровых устройств на однокристальных микроконтроллерах. – М.: Энергоатомиздат, 1990.
Иванов В. И. Полупроводниковые оптоэлектронные приборы: Справочник – 2-е изд., перераб. И доп. – М.: Энергоатомиздат, 1989
Хвощ С. Т. Микропроцессоры и микроЭВМ в системах автоматического управления. Справочник. Л.: Машиностроение. Ленингр. отд-ние, 1987.
Додаток А
Описання виводів АТ90S2313
Описання виводів
Vcc - висновок джерела живлення
GXD - земля
Port В (РВ7. .. РВ0) - Порт У є 8-розрядним двонаправленим портом введення / виводу. Для висновків порту передбачені внутрішні підтягує резистори i вибираються незалежно для кожного біта). Висновки РВО і РВ1 також є прямим (AIN0) і інверсно (AIN1) входами вбудованого аналогового компаратор. Вихідні буфер порту В можуть віддавати струм до 20 мА і безпосередньо керувати світлодіодними індикаторами. Якщо включені внутрішні підтягує резистори і висновки РВ0 ... РВ7 використовуються як входи і ззовні встановлюються в низький стан, вони є джерелами струму. Порт В також обслуговує деякі спеціальні функції, які будуть описані нижче.
Port D (PD6.. PD0) - Порт D є 7-розрядним двонаправлений портом з внутрішніми підтягує резисторiв. Вихідні буфер порту D можуть віддавати струм до 20мА. Як і для порту В. якщо входи встановлені в низький стан і активізовані підтягує резистори, висновки порту D є джерелами струму. Порт D також обслуговує деякі спеціальні функції, які будуть описані нижче.
RESET - Вхід скидання. Утримання низького рівня протягом 50 НЕ (якщо не працює тактової генератор), скидає пристрій.
XTAL1-Вхід підсилювача генератора і вхід зовнішнього тактового сигналу.
XTAL2 - Вихід підсилювача генератора.
Додаток Б
Друкована плата блоку виконуючого пристрою
Додаток В
Лістінг програми роботи пристрою
This program was produced by the
CodeWizardAVR V2.03.9 Standard
Automatic Program Generator
© Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project : Лычильника, який рахує кількість людей
Version :
Date : 24.06.2009
Author : Гусев Д.П.
Company : КраПЕК
Comments:
Программа для курсового проекту.
Chip type : AT90S2313
AVR Core Clock frequency: 4,000000 MHz
Memory model : Tiny
External RAM size : 0
Data Stack size : 32
*****************************************************/
#include <90s2313.h>
// Declare your global variables here
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port B initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=In Func2=In Func1=Out Func0=Out
// State7=1 State6=1 State5=1 State4=1 State3=P State2=P State1=1 State0=1
PORTB=0xFF;
DDRB=0xF3;
// Port D initialization
// Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State6=1 State5=1 State4=1 State3=1 State2=1 State1=1 State0=1
PORTD=0x7F;
DDRD=0x7F;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
TCNT0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1 output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
OCR1H=0x00;
OCR1L=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
GIMSK=0x00;
MCUCR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
while (1)
{
// Place your code here
Додаток Г
Графік залежності напруги на виході МК від струму