Розробка мікропроцесорної системи управління та керування об'єктом на базі RISK AVR-мікроконтролера ATMega1281V-8AU
Завдання
на курсову роботу
Розробити
мікропроцесорну систему (МПС) управління та керування об’єктом на базі одно кристального RISK
AVR-мікроконтролера (МК) ATMega1281V-8AU .
МПС
складатиметься з наступних елементів:
- Система аналогового вводу інформації;
- Система аналогового виводу інформації;
- Система дискретного вводу інформації;
- Система дискретного виводу інформації.
Крім
того МПС має в своєму складі елементи, що представлені в таблиці 1.1
Таблиця
1.1 – Елементи МПС
Елемент
|
Значення
|
Зовнішня напруга живлення:
|
Надають
|
Тактова частота МК
|
4 МГц
|
Організація виводу даних на рідинно-кристалічний модуль
(РКМ)
|
4х20
|
Організація клавіатури
|
4х4
|
Інтерфейс спряження з ПЕОМ
|
RS232
|
Ємність зовнішнього оперативного запам’ятовуючого пристрою
(ОЗП)
|
8кБ
|
Параметри
системи аналогового вводу представлені у таблиці 1.2
Таблиця
1.2 – Параметри системи аналогового вводу
Параметр
|
Значення
|
Динамічний діапазон сигналу від датчиків
|
0 - 5 В;
|
Несиметричні входи MUX
|
ADC7, 0
|
Диференційні входи MUX
|
ADC7-1
|
Джерело опорної напруги
|
VCC=5
|
Продовження таблиці 1.2
|
Параметр
|
Значення
|
Режим роботи АЦП
|
одиночний
|
Кількість опитування датчиків за 1 с
|
150
|
Параметри
системи аналогового виводу представлені у таблиці 1.3
Таблиця
1.3 – Параметри система аналогового виводу
Параметр
|
Значення
|
Розрядність вихідного ШІМ
|
10
|
Режим роботи ШІМ
|
Phase correct PWM
|
Подавлення гармонік фільтром
|
40 дБ/дек
|
Таблиця
1.4 – Параметри систем дискретного вводу - виводу
Параметр
|
Значення
|
Кількість дискретних входів
|
4
|
Кількість дискретних виходів
|
3
|
Наявність гальванічного розв’язку сигналів
|
Є
|
Вступ
Винахід
мікропроцесора розв’язав суперечність між високим ступенем інтеграції, що
забезпечує напівпровідникова мікротехнологія, та великим числом різноманітних
великих інтегральних схем, що потрібні для створення достатньо широкого класу
обчислювальної техніки. Мікропроцесор змінив характер проектування цифрових
пристроїв. Замість розробки схем при використанні мікропроцесорів складаються
програми. Це прискорює проектування, забезпечується легкість внесення змін у
роботу функціонального пристрою, що здійснюється шляхом заміни програми, яка
зберігається в ЗП, новою програмою.
Мікроконтро043Bером
називається програмований мікропроцесор, який має вбудовані оперативний
запам’ятовуючий пристрій, постійний запам’ятовуючий пристрій (ПЗП), порти
введення та виведення інформації та може бути запрограмований для виконання
різних операцій.
Мікропроцесорна
система являє собою цифрову систему вводу, обробки та виводу інформації, що
містить у своєму складі мікроконтролер, модуль запам’ятовуючих пристроїв,
пристрої аналогового та цифрового вводу-виводу, блок спряження із ПЕОМ та інші
пристрої, що забезпечують роботу того чи іншого модулю.
1.
Розробка структурної схеми МПС
В
даній курсовій роботі розробляється система управління та керування об’єктом на
базі одно кристального RISK AVR-мікроконтролера (МК) ATMega1281V-8AU , що складається з:
- Системи аналогового вводу інформації;
- Системи аналогового виводу інформації;
- Системи дискретного вводу інформації;
- Системи дискретного виводу інформації;
- Клавіатура;
- Індикація;
- Зовнішній ОЗП;
Система
аналогового вводу інформації призначена для прийому даних від зовнішніх джерел
сигналів, корегування їх рівня для подальшої можливості перетворення у форму,
що використовується у цифровій техніці. Для корегування рівня сигналів звичайно
використовуються дільники або підсилювачі.
Система
аналогового виводу інформації призначена для перетворення даних з цифрового
представлення у аналоговий сигнал, з подальшим активним фільтруванням сигналу,
забезпечуючи тим самим точність перетворення.
Системи
дискретного вводу та виводу інформації являють собою системи прийому та видачі
сигналів дискретної форми сигналу, тобто цифрові сигнали. Для підвищення
точності сигналів та уникнення неоднозначності у інтерпретації даних необхідно
ввести у склад обох систем гальванічні розв’язки сигналів.
Структурна
схема МПС управління та керування об’єктом представлена у додатку А.
2.
Розробка функціональної схеми МПС
На
базі структурної схеми, що представлена у попередньому розділі, була розроблена
функціональна схема МПС управління та керування об’єктом.
На
даній схемі представлені більш детально всі вказані у завданні елементи
системи.
Для
узгодження максимальної вхідної напруги від датчиків, що підключені до
несиметричних входів АЦП, з максимальною напругою, що він може обробити,
використовуємо дільник напруги та аналоговий буферний повторювач.
При
підключенні сигналів від датчиків до диференційних входів АЦП використовуватись
буде пряме безпосереднє підключення.
Система
аналогового виводу інформації складається з ШІМ, побудованого на базі таймера/
лічильника Т1, та фільтру низьких частот Батерворта другого порядку.
Дискретні
входи та виходи оснащені гальванічним розв’язком сигналу на основі оптрону, що
дозволяє виключити вирівнюючи струми та привести у відповідність номінали
рівнів логічної одиниці та нуля, тим самим зменшити взаємний вплив окремих
пристроїв, що мають різне енергопостачання.
МК
має двонаправлену мультиплексовану шину адреси/ даних, й для коректної роботи ОЗП
необхідно додатково під’єднати буферний регістр адреси, на який
підключатимуться молодші розряди адреси.
Функціональна
схема МПС представлена у графічній частині курсової роботи.
3. Розробка принципової схеми МПС
3.1
МК та його система тактування
В
даній курсовій роботі розробляється система управління та керування об’єктом на
базі одно кристального RISK AVR-МК ATMega1281V-8AU.
ATmega1281V
- малопотужний 8-розрядний. КМОП МК, виконаний на основі AVR-ядра з
RISC-архітектурою. За рахунок виконання більшості інструкцій за один машинний
цикл досягає продуктивності 1
млн. операцій за секунду при тактовій частоті 1 МГц.
AVR
ядро об’єднує великий набір інструкцій із 32 робочими регістрами загального
призначення. Всі 32 регістра безпосередньо підключені до арифметико-логічного
пристрою, що дозволяє вказати два регістри у одній інструкції та виконати її за
один цикл. Дана архітектура володіє більшою ефективністю коду й у 10 разів
більшою продуктивністю в порівнянні із CISC мікроконтролерами.
Окрім
цього до складу МК входять наступні елементи:
Енергонезалежні
пам’яті програм і даних:
-
флеш- пам’ять розміром 128 кбайт із можливістю перезапису до
10 тыс. разів.
-
Опціональний загрузочний сектор з роздільними бітами захисту.
-
Можливість самопрограмування програмою у загрузочному секторі
-
Підтримка читання під час запису
-
4 кбайт ЭСППЗУ з можливістю перезапису до 100 тыс. разів
-
8 кбайт внутрішнього статичного ОЗП
-
Зовнішній адресний простір ємністю до 64 кбайт
-
Програмований захист коду програми
Інтерфейс
JTAG (сумісний із стандартом IEEE 1149.1)
Відмінні
властивості периферійних пристроїв
-
Два 8-разр. таймера-лічильника з окремим попереднім дільником та режимом
порівняння
-
Чотири 16-разр. таймера-лічильника з окремим попереднім дільником, режимами порівняння
та захвату
-
Лічильник реального часу з окремим генератором
-
Чотири 8-разр. ШІМ-канали
-
Шість ШІМ-каналів із програмованою розрядністю від 2 до 16 розрядів
-
Модулятор виходу порівняння
-
8-канальный 10-розр. АЦП
-
2 програмованих послідовних УСАПП
-
Ведущий/подчиненний послідовний інтерфейс SPI
-
2-пров. послідовний інтерфейс для побайтної передачі
-
Програмований сторожовий таймер зі окремим вбудованим генератором
-
Вбудований аналоговий компаратор
-
Переривання й поновлення роботи по зміні стану виводів
Спеціальні
особливості МК
-
Сброс при подачі живлення
-
Вбудований калібрований генератор
-
Внутрішні та зовнішні джерела преривання
-
Шість економічних режимів: холостий хід (Idle), зменшення шумів АЦП (ADC Noise
Reduction), економічний (Power-save), понижена потужність (Power-down),
черговий (Standby) та розширений черговий (Extended Standby)
Температурний
діапазон: -40°C…+85°C
Градації
по швидкодії:
0
- 4 МГц при 1.8 - 5.5В,
0
- 8 МГц при 2.7 - 5.5В
Тактування МК відбувається за допомогою кварцевого резонатору, що генерує
частоту 4Мгц.
3.2
Cистеми живлення МПС
Згідно
із завдання на курсову роботу живлення МПС
потребуе наступні
значення постійної напруги які нам надаються:
- 5 В для живлення мікросхем;
- 2 В для живлення МК;
- 5 В для використання в якості опорної напруги АЦП.
3.3
Розробка блоку зовнішнього ОЗП
Запам’ятовуючі
пристрої мікропроцесорних систем призначені для зберігання програм та даних.
Основними характеристиками ЗП є їх розрядність, кількість комірок пам’яті,
об’єм, організація, швидкодія та потужність споживання.
В
даній МПС є два різновиди пам’яті: зовнішня та внутрішня. Внутрішня – це
пам'ять, що розташована безпосередньо у МК, а зовнішня – це мікросхема
статичної ОЗП необхідного об’єму.
Так
як МК має двонаправлену мультиплексовану шину адреси/ даних, для коректної
роботи ОЗП необхідно додатково під єднати буферний регістр адреси, на який
підключатимуться молодші розряди адреси.
Згідно
варіанта завдання на курсову роботу необхідно підєднати зовнішній ОЗП ємністю 8кБ.
Для цього була обрана мікросхема пам’яті НМ6564 з організацією 8к х 8, а також
буферний регістр адреси – 74НСТ573N.
Схема
включення зовнішнього ОЗП представлено на рисунку 4.4
Рисунок
3.1 - Схема включення зовнішнього ОЗП
3.4
Розробка блоку клавіатури та індикації
Блок
клавіатури використовується для вводу інформації за допомогою клавіш. Дана
клавіатура являє собою матрицю з клавіш, розміром 4х4, що підключається
безпосередньо до портів МК.
Для
робото здатності клавіатури необхідно правильно с конфігурувати порти та
написати програму ініціалізації
Індикація
являє собою РКМ на базі контролера HD44780, з різними режимами виводу інформації. Згідно варіанта
завдання режим виводу інформації становить 4х20, що реалізовується шляхом
програмування МК.
Крім
цього у РКМ є два можливі режими підключення до МК, а саме:
- режим зовнішнього ОЗП та індикації;
- режим тільки індикації.
Для
наших цілей вистачить підключення й у другому режимі, так як зберігати
інформацію немає потреби. Таким чином для підключення індикації необхідно 6
виводів МК, що в подальшому будуть с конфігуровані належним чином.
3.5
Організація виводу даних на РКМ
Багато
фірм випускають рідинно-кристалічні індикатори (РКІ) із вбудованими
контролерами, що полегшують реалізацію інтерфейсу РКІ та МК. Згідно
з завдання на курсову роботу РКІ повинна бути реалізована на
РКМ HD44780.
Даний РКМ за
допомогою 14-контактного роз’єму обмінюється інформацією з керуючим МК.
Останній в свою чергу посилає РКМ команди, що керують режимами його роботи, та
ASCII-коди символів, що будуть виводитись. В свою чергу, РКМ може посилати
AVR-мікроконтролеру за його запитом інформацію про свій стан й інформацію зі
своїх внутрішніх блоків пам’яті.
В даній курсовій
роботі РКМ HD44780 буде використовуватись тільки як РКІ, тобто для його
підключення та функціонування необхідно лише 6 виводів МК, через які буде
проходити обмін інформацією.
3.6
Система аналогового вводу інформації
Дана
система призначена для прийому та обробки інформації від зовнішніх датчиків.
Обробка виконується за допомогою вбудованого аналогово-цифрового перетворювача
(АЦП), входи якого можуть конфігоруватись як несиметричні, і як симетричні, при
цьому на входи подаються різні рівні напруги.
3.6.1
Підсистема аналогового вводу інформації з несиметричними входами
Так
як АЦП із несиметричними входами може приймати та опрацьовувати напругу, що
знаходиться в діапазоні від 0 до рівня зовнішньої опорної напруги, котра
становить +5В, так як й напруга з датчиків, згідно варіанту, може подаватись в діапазоні
від 0 до +5В,
3.6.2
Підсистема аналогового вводу інформації із симетричними входами
Для
формування даної системи використовується АЦП, входи якого включені симетрично,
тобто попарно, для передачі інформації від датчиків до МК для подальшої її
обробки.
При виконанні
реальної задачі може постати необхідність у усередненні результату перетворення
АЦП, тобто видачі сигналу з АЦП через певну кількість виконаних перетворень.
Розрахуємо
кількість перетворень АЦП (КОАЦП) при частоті опитування датчиків (fд),
що становить . Для цього скористаємось
наступною формулою:
де
fАЦП – часота роботи АЦП, 62,5кГц;
Кt
– кількість тактів перетворення, 14 тактів.
Таким
чином видача результату перетворення сигналів з датчиків буде виконуватись через
кожні 30 циклів АЦП. Проте необхідно пам’ятати, що перше перетворення при
одиночному режимі роботи АЦП займатиме на 12 тактів більше, під час яких
виконується ініціалізація АЦП.
3.7
Система аналогового виводу інформації
Дана
система призначена для перетворення та виводу інформації у аналоговому вигляді.
Складається вона із цифро-аналогового перетворювача (ЦАП) реалізованого на базі
ШІМ. В свою чергу останній реалізується на базі таймера лічильника МК Т1.
Нам
необхідний 10-розрядний ШІМ, отримаємо його при 10 режимі роботи Т1.
Максимальне значення (ТОР), що прийматиме лічильник, розраховується за
наступною формулою:
ТОР=2N-1
ТОР=210-1=1023
Коли
стан лічильника, що зберігається у регістрі, TCNT1, збігається із змістом
регістру OCR1, на виводі ОС1 МК встановлюється рівень лог. 0, таким чином завершуючи
імпульс ШІМ-сигналу. Лічильник продовжує рахувати до максимального значення
ТОР, після чого змінює напрямок руху. Як тільки стан лічильника знову співпаде
із змістом регітру OCR1, на виводі ОС1 МК встановлюється рівень лог. 1.
Частота
повторювання лічильних циклів fШІМ складає:
Якщо
прийняти, що стан регістру OCR1 дорівнює Z, тоді час одного періоду імпульсу
сигналу tн складатиме 2Z. Виходячи із цього, коефіцієнтом заповнення
N-розрядного ШІМ-сигналу g можна керувати за допомогою змісту регістру OCR1:
Таким
чином, коефіцієнт заповнення прямо пропорційний складу Z регістру порівняння
OCR1. Середнє арифметичне UМ вихідної
напруги Т/С1 на виході ОС1 МК, що отримується при проходженні ШІМ-сигналом фільтру
нижчих частот, може бути розраховано за наступним рівнянням:
де
- рівень логічної 1;
- рівень логічного 0;
g
– коефіцієнт заповнення прямокутних імпульсів напруги Z.
Сигнал,
що отримується з виходу ЦАП, необхідно профільтрувати для отримання
достовірного сигналу постійної напруги. Для цього використовується активний
фільтр низьких частот Баттерворта другого порядку, що дозволяє подавляти 40
Дб/дес. Схема фільтру Баттерворта другого
порядку представлена на рисунку 4.4
Рисунок
3.2 - Схема фільтру Баттерворта другого порядку
Розрахунок
параметрів схеми.
Для
фільтру Баттерворта другого порядку час запізнювання сигналу (tv) становить
0.228Tg , а тривалість фронту (ta) – 0.342Tg , час зворотного значення
граничної частоти -
нормована величина. Викид складає 4,3%, час встановлення сигналу дорівнює 3Тg .
Підсилення
постійної напруги схеми фільтра низьких частот приблизно рівно . Воно має негативне значення, оскільки
базується на інвертуючій схемі ОП.
Для
розрахунку параметрів фільтру низьких частот необхідно задати номінали
конденсаторів С1 та С2 і розрахувати опори R1 та R2 згідно з наступними
формулами.
(4.6)
(4.7)
(4.8)
При
цьому V0 являється найбільш достовірним підсиленням постійної напруги фільтра,
а1 и b1 – коефіцієнти фільтра, що дорівнюють 1,4142 та 1,0000 відповідно.
При
виборі С1 та С2 необхідно дотримуватись наступої умови:
(4.9)
Характеристики
фільтра Баттерворта др TCNT1угого порядку при V0=-1 представлено у таблиці 4.1
Таблиця
4.1 - Характеристики фільтра Баттерворта другого порядку
Резрешение,
разряды
|
Tint,мкс
|
1LSB,
мВ
|
Аt max,
мВ
|
V(TP)
|
fшим,
Гц
|
fg
max, Гц
|
ta,
мс
|
tv,
мс
|
10
|
15
|
2,5
|
1,25
|
0.000383
|
32,55
|
4,56
|
84,96
|
98,57
|
Обираємо
номінал С1, що становитиме 122,2нФ, та розрахуємо С2 згідно формули (4.9).
Згідно
із номінальним рядом Е192 номінал конденсатора С2 становитиме 252нФ.
Розраховуємо
значення R2 згідно із формулою (4.6):
Найближче
значення із ряду Е192:
Значення
резистору R3 розраховуємо
по формулі (4.8):
Найближче
значення із ряду Е192:
Значення
резистору R1 розраховуємо
по формулі (4.7):
Найближче
значення із ряду Е192:
3.8
Система дискретного вводу-виводу
Системи
дискретного вводу та виводу інформації являють собою системи прийому та видачі
сигналів дискретної форми сигналу, тобто цифрові сигнали. Для підвищення
точності сигналів та уникнення неоднозначності у інтерпретації даних необхідно
ввести у склад обох систем гальванічні розв’язки сигналів.
У
якості гальванічного елемента використано оптрон АОД130, що являє собою пару:
фотодіод та світло діод, що розташовані в одному чотирьох контактному корпусі.
4.
Розробка програмного
забезпечення
Згідно
завдання на курсову роботу необхідно розробити програму ініціалізації МК для
роботи із усіма пристроями, що входять до складу системи.
Для
цього, по-перше, необхідно сконфігурувати регістри портів вводу-виводу на
виконання операцій, що були зазначені для них, під час розробки принципової
схеми. Конфігурування відбувається шляхом встановлення та скидання необхідних
бітів у регістрах PORTх (рядки 25-38) та DDRх (рядки 39-50), а також читанням
стану виводів портів через регістр PINx.
По-друге,
сконфігорувати регістри вводу-виводу, що відображають внутрішнє налаштування
периферійних пристроїв МК, а саме АЦП, таймера-лічильника Т1, зовнішнього ОЗП,
модуля USART.
Для
конфігурування АЦП необхідно встановити регістри ADCSRA та ADMUX (рядки 4-7,
52-57).
Для
конфігурування таймера-лічильника Т1, щоб він працював як ШІМ, необхідно
сконфігурувати регістри TCCR1A, TCCR1B, TCCR1C (рядки 13-15, 73-87).
Для
конфігурації роботи із зовнішнім ОЗП використовуються регістри XMCRA, XMCRB
(рядки 8, 9, 58-63).
Для
конфігурування модуля USART використовуються UCSR0A, UCSR0B, UCSR0C (рядки
10-12, 64-72).
Лістинг
програми
№
|
Мітка
|
Команда
|
Операнди
|
Примітка
|
1
|
|
.nolist
|
|
|
2
|
|
.include
|
"С:\Kursovoy\PMS_Kursovoy \"m1281def.inc"
|
|
3
|
|
.list
|
|
|
;--Содержимое регистров
|
4
|
|
.equ
|
ADCRS = 0b10000101
|
;ADEN=1 - АЦП включ., ADSC=0, ;ADATE=0
(одиночный режим), ADIF=0, ;ADEN=0,
ADFPS[2..0]=101 (делитель ;частоты на 32) --> рабочая частота ;АЦП=2МГц : 32 =
62,5кГц
|
5
|
|
.equ
|
ADMX0 = 0b00000000
|
;несимметричный вход
ADC0, внешнее ;опорное напряжение
|
|
|
|
|
|
№
|
Мітка
|
Команда
|
Операнди
|
Примітка
|
|
|
|
|
|
6
|
|
.equ
|
ADMX6 = 0b00000110
|
;несимметричный вход
ADC6, внешнее ;опорное напряжение
|
7
|
|
.equ
|
ADMX3_1 = 0b00010011
|
;симметричный входы
ADC3-1, внешнее ;опорное напряжение
|
8
|
|
.equ
|
XMCR_A = 0b10000001
|
;SRE=1 (разрешена
работа с вн. ОЗУ), ;SRL[2..0]=0 (один сектор), ;SRW[11..00]=0001
(один такт ожидания)
|
9
|
|
.equ
|
XMCR_B = 0b00000100
|
;XMBK=0, биты 6-3
зарезервир ;XMM[2..0]=100 (выводы РС[7..4] могут ;свободно
использоваться как порты ВВ)
|
10
|
|
.equ
|
UCSRA = 0b00100000
|
; регистр А управления
USART
|
11
|
|
.equ
|
UCSRB = 0b00000010
|
; регистр B управления USART
|
12
|
|
.equ
|
UCSRC = 0b00100110
|
;UMSEL[01..00]=00
(асинхр. режим ;работы), UPM[01..00]=10 (проверка на ;четность), UCSZ[01..00
(8-ми битный ;формат посылок)]
|
13
|
|
.equ
|
TCCRA = 0b00110010
|
;COM1A[1..0]=00
отключен вывод ;OCR1A, COM1B[1..0]=11 OCR1B при ;прямом счете на
выходе равен 1, при ;инверстном счете - 0, COM1C[1..0]=00 ;отключен вывод
OCR1C, ;WGM[11..10]=10 определяет 10 режим ;работы
|
14
|
|
.equ
|
TCCRB = 0b00010010
|
;WGM[13..12]=10
определяет 10 режим ;работы, CS[12..10]=010 источник ;тактового
сигнала (clk_IO/8)
|
15
|
|
.equ
|
TCCRC = 0b00000000
|
; регистр управления Т1
|
;--Рабочие регистры
|
16
|
|
.def
|
t0 = r16
|
; регистру r16 присвоить имя t0
|
17
|
|
.def
|
t1 = r17
|
; регистру r176 присвоить имя t10
|
;--Начало
|
18
|
|
.cseg
|
|
; начало сегмента кода
|
19
|
|
.org 0
|
|
|
20
|
|
rjmp
|
Initial
|
; переход к подпрограмме Initial
|
|
|
|
|
|
№
|
Мітка
|
Команда
|
Операнди
|
Примітка
|
;--Инициализация МК
|
21
|
Initial:
|
ldi
|
t1, low(RAMEND)
|
;инициализация
|
22
|
|
out
|
SPL, t1
|
;младшего и старшего байтов
|
23
|
|
ldi
|
t1, high(RAMEND)
|
;указателя
|
24
|
|
out
|
SPH, t1
|
;стека
;--Включаем подтягивающие резисторы и задаем начальное
значение выводов
|
25
|
|
ldi
|
t0, 0x00
|
; для порта А не требуются
|
26
|
|
out
|
PORTA, t0
|
; подтягивающие резисторы
|
27
|
|
ldi
|
t0, 0b00111111
|
; для выводов PB5-0 включить
|
28
|
|
out
|
PORTB,t0
|
; подтягивающие резисторы
|
29
|
|
ldi
|
t0, 0b11110000
|
; для выводов PС7-4 включить
|
30
|
|
out
|
PORTC,t0
|
; подтягивающие резисторы
|
31
|
|
ldi
|
t0, 0b11000000
|
; для выводов PD7, PD6 включить
|
32
|
|
out
|
PORTD,t0
|
; подтягивающие резисторы
|
33
|
|
ldi
|
t0, 0b11111101
|
; для всех выводов
портаЕ, кроме РF1,
|
№
|
Мітка
|
Команда
|
Операнди
|
Примітка
|
34
|
|
out
|
PORTЕ,t0
|
;включить
подтягивющие резисторы
|
35
|
|
ldi
|
t0, 0xFF
|
; для всех выводов
порта F
|
36
|
|
out
|
PORTF,t0
|
;включить
подтягивющие резисторы
|
37
|
|
ldi
|
t0, 0b11100000
|
; для выводов порта PG7-5
|
38
|
|
out
|
PORTG,t0
|
;включить
подтягивющие резисторы
|
;--Конфигцрируем выводы портов (режим работы)
|
39
|
|
ldi
|
t1, 0xFF
|
;выводы РА
|
40
|
|
out
|
DDRA, t1
|
;определить как выходы
|
41
|
|
ldi
|
t1, (1<<DDB7)|(1<<DDB6)
|
;выводы РВ7, РВ6 определить как
|
42
|
|
out
|
DDRB,t1
|
;выходы, остальные - как входы
|
43
|
|
ldi
|
t1, (1<<DDC3)|(1<<DDC2)|
(1<<DDC1)|(1<<DDC0)
|
; выводы РС3-0 определить как выходы
|
44
|
|
out
|
DDRC,t1
|
; остальные – как входы
|
45
|
|
ldi
|
t1, (1<<DDD5)|(1<<DDD4)|
(1<<DDD3)|(1<<DDD2)|
(1<<DDD1)|(1<<DDD0)
|
; выводы PD6, PD7 определить как
; входы
|
46
|
|
out
|
DDRD,t1
|
;остальные выводы – как выходы
|
47
|
|
ldi
|
t1, (1<<DDE1)
|
; вывод РЕ1 установить как выход,
|
48
|
|
out
|
DDRE,t1
|
;остальные как вход
|
49
|
|
ldi
|
t1, (1<<DDG4)|(1<<DDG3)|
(1<<DDG2)|(1<<DDG1)|
(1<<DDG0)
|
;выводы PG7-5 установить как входы
|
50
|
|
out
|
DDRG,t1
|
;остальные как выходы
|
51
|
|
nop
|
|
|
;--Инициализация АЦП
|
52
|
|
ldi
|
t1, ADMX0
|
;записать в регистр ADMUX значение
|
53
|
|
ldi
|
XL, ADMUX
|
;соответствующее необходимому режиму
|
54
|
|
st
|
X, t1
|
;работы мультиплексора АЦП
|
55
|
|
ldi
|
t1, ADCRS
|
;записать в регистр ADCSRA значение
|
56
|
|
ldi
|
XL, ADCSRA
|
;соответствующее необходимому режиму
|
57
|
|
st
|
X,t1
|
;работы АЦП
|
№
|
Мітка
|
Команда
|
Операнди
|
Примітка
|
;--Инициализация работы с внешним ОЗУ
|
58
|
|
ldi
|
t1, XMCR_A
|
;сконфигурировать регистр А
|
59
|
|
ldi
|
XL, XMCRA
|
;управления
|
60
|
|
st
|
X, t1
|
; внешним ОЗУ
|
61
|
|
ldi
|
t1, XMCR_B
|
;сконфигурировать регистр В
|
62
|
|
ldi
|
XL, XMCRB
|
;управления
|
63
|
|
st
|
X, t1
|
; внешним ОЗУ
|
;--Порт USART
|
64
|
|
ldi
|
t1, UCSRA
|
;сконфигурировать регистр А
|
65
|
|
ldi
|
XL, UCSR0A
|
;управления
|
66
|
|
st
|
X, t1
|
; модулем USART
|
67
|
|
ldi
|
t1, UCSRB
|
;сконфигурировать регистр B
|
68
|
|
ldi
|
XL, UCSR0B
|
;управления
|
69
|
|
st
|
X, t1
|
; модулем USART
|
70
|
|
ldi
|
t1, UCSRC
|
;сконфигурировать регистр C
|
71
|
|
ldi
|
XL, UCSR0C
|
;управления
|
72
|
|
st
|
X, t1
|
; модулем USART
|
№
|
Мітка
|
Команда
|
Операнди
|
Примітка
|
;--Инициализация ШИМ
|
73
|
|
ldi
|
t1, TCCRA
|
;сконфигурировать регистр А
|
74
|
|
ldi
|
XL, TCCR1A
|
;управления
|
75
|
|
st
|
X, t1
|
;таймером-счетчиком Т1
|
76
|
|
ldi
|
t1, TCCRB
|
;сконфигурировать регистр В
|
77
|
|
ldi
|
XL, TCCR1B
|
;управления
|
78
|
|
st
|
X, t1
|
;таймером-счетчиком Т1
|
79
|
|
ldi
|
t1, TCCRC
|
;сконфигурировать регистр С
|
80
|
|
ldi
|
XL, TCCR1C
|
;управления
|
81
|
|
st
|
X, t1
|
;таймером-счетчиком Т1
|
82
|
|
ldi
|
t0, 0x07
|
; установка коеффициента
|
83
|
|
ldi
|
XL, ICR1H
|
; пересчета ТОР
|
84
|
|
st
|
X, t0
|
; равного
|
85
|
|
ldi
|
t0, 0xFF
|
; ТОР=2^(N-1), где
|
86
|
|
ldi
|
XL, ICR1L
|
; N=11, т.е.
|
87
|
|
st
|
X, t0
|
; ТОР=2047
|
;--Инициализация ЖКИ
|
88
|
initLCD_1:
|
ldi
|
t0,$20
|
;4-битный интерфейс, 1-строка, шрифт-5х7 точек
|
89
|
initLCD_2:
|
ldi
|
t0,$0C
|
;включить дисплей, выключить курсор
|
90
|
initLCD_3:
|
ldi
|
t0,$01
|
;очистить дисплей и установить курсор в начальную позицию
|
91
|
|
nop
|
|
|
92
|
|
ret
|
|
|
Висновок
В
данній курсовій работі була розроблена система управління та керування об’єктом
на базі одно кристального RISK AVR-мікроконтролера ATMega1281V-8AU , що складається з:
- Системи аналогового вводу інформації;
- Системи аналогового виводу інформації;
- Системи дискретного вводу інформації;
- Системи дискретного виводу інформації;
- Клавіатура;
- Індикація;
- Зовнішній ОЗП;
- Інтерфейс зв’язку з ПЕОМ.
Список
використаних джерел
1.
Евстифеев А.В. Микроконтроллеры AVR семейства Mega.
Руководство пользователя. – М.: Издательский дом «Додэка-ХХІ», 2007. – 592с.:
ил.
2.
Голубцов М.С., Кириченкова А.В. Микроконтроллеры AVR: от простого к сложному. Изд.2-е, испр. и доп. – М.:
СОЛОН-Пресс, 2004. – 304с.
3.
Трамперт В. Измерение, управление и регулирование с помощью AVR микроконтроллеров.: Пер. с нем. – К.: «МК-Пресс», 2006. –
208с.
4.
Микропроцессоры: В 3 кн. Кн. 2. Средства сопряжения.
Контролирующие и информационно-управляющие системы: Учеб. для втузов/В.Д.
Вернер, Н.В. Воробьев, А.В. Горячев и др.; Под. ред. Л.Н. Преснухина. – М.:
Высш. шк., 1986. -383 с.: ил.
5.
http://tehdoka.ru/BP/mst.php
7.
http://www.gaw.ru/html.cgi/txt/interface/rs232/