Програмування пам'ятi мовою Асемблер мікроконтролера AVR
Аналіз роботи обчислювальних пристроїв, побудованих за RISC-архітектурою. Центральний процесор і внутрішня пам'ять мікроконтролерів AVR компанії Atmel. Принцип побудови AVR-контролера ATtiny2313: складові частини; програмування пам'ятi мовою Асемблер.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 27.07.2015 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
rjmp Init ;Перша виконувана команда
Init:
ser temp ; PB0-7 - виходи
out DDRB,temp
ldi temp,0b11111110 ; PD0 - вхід, інші не використовуються
out DDRD,temp
ldi R20, 0b01111110 ; Код для «0» - при включенні
out PortB,R20 ;
ldi temp,0b00000001 ; PD0 - підтяжка, інші не використовуються
out PortD,temp ;
ldi R21,0b00110000 ; Код для «1»
ldi R22,0b01101101 ; Код для «2»
ldi R23,0b01111001 ; и т.д.
ldi R24,0b00110011
ldi R25,0b01011011
ldi R26,0b01011111
ldi R27,0b01110000
ldi R28,0b01111111
ldi R29,0b01111011 ; Код для «9»
clr Counter ; При включенні Counter = 0
Start:
sbis PinD,0 ; Кнопка нажата?
rjmp Start ; Ні, остаємся в циклі
inc Counter ; Так, збільшуєм Counter на 1
cpi Counter,10 ; Counter = 10?
brne PC+2 ; Ні, пропускаєм команду
clr Counter ; Так, зкидаєм Counter
ldi ZL,20 ; Установлюєм ZL на R20
add ZL,Counter ; Прибавляєм Counter к ZL
ld temp,Z ; Зчитуєм Rx в temp
out PortB,temp ; Виводим temp в порт В
Mitka:
sbic PinD,0
rjmp Mitka
rjmp Start ; Повертаємось до мітки Start
5. Використання мікроконтролера ATtiny2313
Корпорація Atmel 10 жовтня 2005 року оголосила про розширення області застосування мікроконтролерів AVR з поданням ресурсу по застосуванню мікроконтролерів у задачах керування електродвигунами змінного струму та безколекторних електродвигунів постійного струму. Висока продуктивність і розширений набір вбудованих периферійних пристроїв мікроконтролерів AVR з вбудованою флеш-пам'яттю робить їх кращим рішенням, що дозволяє врахувати безліч технічних обмежень, пов'язаних з розробкою пристроїв і систем керування електроприводами.
Застосування мікроконтролера для керування електродвигуном - приваблива альтернатива існуючим спеціалізованим рішенням, які іноді досить специфічні та мають малу гнучкість. Широка гама AVR флеш-мікроконтролерів, які випускаються в діапазоні від 8 до 100-вивідних корпусах, дозволяє реалізувати, як прості пристрої керування комп'ютерними вентиляторами, так і складні системи керування електродвигунами. Всі мікроконтролери AVR містять флеш-пам'ять програм та ЕСППЗП, що дозволяє розроблювачеві використати той самий мікроконтролер у декількох розробках і записати саму новішу версію програми на будь-якій стадії виробничого процесу.
Функція керування електродвигуном реалізується за допомогою внутрішніх таймерів із широтно-імпульсною модуляцією (ШІМ), аналогово-цифрового перетворювача (АЦП) і ліній вводу-виводу з перериванням. За допомогою ШІМ регулюється напруга на електродвигуні та, як наслідок, є можливість керування швидкістю та прискоренням. Убудований 10-розрядний АЦП вимірює споживану потужність і дозволяє виявити струмове перевантаження, а за допомогою переривання по зміні стану виводу контролюються стан датчика Холу безколекторного ЕД постійного струму. При керуванні даним ЕД без застосування датчиків для визначення позиції ротора використається убудовані в AVR АЦП та аналоговий компаратор.
Всі функції реалізуються за допомогою переривань, що дозволяє реалізувати функції керування електродвигуном і ще залишити додаткові ресурси для рішення інших прикладних завдань. Як правило, до додаткових функцій керування відносяться: плавний запуск, врахування температури, організація зв'язку через послідовні інтерфейси SMBus, I2C і SPI.
Висновок
AVR - мікроконтролери оптимізовані під мови високого рівня і характеризуються неперевершеною щільністю коду. Для розроблювачів доступні також недорогі відлагоджувальні засоби, що підтримують вбудовану відладочну систему мікроконтролерів.
Одержуючи завершене рішення по керуванню електродвигуном, користувачам будуть привабливі переваги AVR-мікроконтролерів, які характеризуються таким рівнем гнучкості та конкурентної вартості, що не доступний при використанні традиційних спеціалізованих інтегральних схем. Подання нових стартових наборів і рекомендацій із застосування - це тільки перший крок по популяризації мікроконтролерів AVR на світовому ринку.
Мікроконтролер ATtiny - найпростіший мікроконтролер із трьох сімейств. Він переважно застосовується для контролювання, обчислення невеликих комп'ютерних систем. Контролер такого сімейства застосовують для охорони будівель, створюють високоякісні системи сигналізації, здійснюють контроль за діяльністю людей на фірмах та невеликих підприємствах. Також, можна створити освітлення кімнати на світло діодах, яка буде освітлюватися відносно руху у кімнаті або датчика теплоти.
Мікроконтролер ATtiny 2313 дуже широко розповсюджений у нашому сучасному електронному світі. Він легко доступний всім верстам населення і навіть іноді має переваги над іншими сімействами AVR- контролерів.
Список літератури
1. http://www.gaw.ru/html.cgi/txt/ic/Atmel/micros/avr/ATtini2313
2. https://ru.wikipedia.org/wiki/AVR_Studio
3. http://avr.ru/tools/studio
4. Евстифеев А.В. Микроконтроллеры AVR сімейства ATS. Руководство пользователя. -- М.: Издательский дом “Додэка-ХХІ”, 2007. -- 592 с.;
5. Мортон Дж. AVR. Вводный курс. / Пер. с англ. -- М.: Издательский дом “Додэка-ХХІ”, 2006. -- 272 с.;
6. Предко М. Руководство по микроконтроллерам. Том ІІ. М.: Постмаркет, 2001. - 488 с.;
7. Трамперт В. AVR-RISC микроконтроллеры.: Пер. с нем. -- К.: "МК-Пресс", 2006. -- 464 с.;
Размещено на Allbest.ru
Подобные документы
Загальна структура комп'ютера, архітектура процесора типу Intel 8086. Принцип роботи пам'яті, її види (постійна та оперативна). Основи програмування на мові асемблер та її синтаксис. Особливості використання позначок, кодів команд, операндів і директив.
лабораторная работа [36,0 K], добавлен 27.02.2013Огляд низькорівневих команд. Застосування мнемонічних позначень та макровизначень (макросів). Різниця між мовою асемблера та мовою машинних кодів. Асемблери для DOS, Microsoft Windows та GNU/Linux. Принцип роботи контролера клавіатури і його інтерфейс.
курсовая работа [30,0 K], добавлен 19.11.2010Розробка системних програм мовою асемблера або мовою високого рівня з вставками цією мовою. Формати числових даних, виконання арифметичних операцій. Арифметичні команди над двійковими цілими, двійково-десятковими не упакованими та упакованими числами.
методичка [232,4 K], добавлен 11.01.2010Мова асемблер для кожного типу комп'ютера своя. Асемблер орієнтований саме на специфіку комп'ютера або на специфіку процесора. Мікропроцесори, що належать до різних сімейств, мають свої системи команд. Система команд МП ІA 32 - режими адресації.
лекция [36,2 K], добавлен 13.04.2008Розробка програми на мові програмування Асемблер для обчислення виразу. Розрахунок значень А, В, С у процедурах. Аналіз отриманих результатів за допомогою відлагоджувальника Turbo Debugger при різних заданих значеннях та перевірка їх правильності.
лабораторная работа [203,4 K], добавлен 09.01.2013Програмування під DOS мовою низького рівня Асемблер (ASM-86). Функції програми: виведення в довільне місце екрану тексту заданого стилю та кольору, змінення шрифту, розміру літер та напрямку їх виводу. Алгоритм програми, системні вимоги до комп'ютера.
курсовая работа [47,4 K], добавлен 03.06.2009Розв'язання задач мовою програмування VBA з використанням алгоритмів лінійної, розгалуженої та ітераційної циклічної структури. Розробка блок-схеми алгоритму, таблиці ідентифікаторів та тексту програми. Створення власної панелі інструментів користувача.
практическая работа [1012,6 K], добавлен 19.02.2010Методика та порядок програмування алгоритмів циклічної структури із заданим числом повторень за допомогою мови програмування VAB. Алгоритм роботи з одновимірними масивами. Програмування алгоритмів із структурою вкладених циклів, обробка матриць.
курсовая работа [27,7 K], добавлен 03.04.2009Створення програми з нетривіальною логікою на мові Асемблер, реалізуючи запропонований алгоритм за допомогою команд розгалуження та циклу. Механізми передачі керування та зміна послідовності виконання команд. Типи адресації. Команди умовного переходу.
лабораторная работа [390,3 K], добавлен 27.02.2013Розробка програми для моделювання роботи алгоритму Дейкстри мовою C# з використанням об’єктно-орієнтованих принципів програмування. Алгоритм побудови робочого поля. Програмування графічного інтерфейсу користувача. Тестування програмного забезпечення.
курсовая работа [991,4 K], добавлен 06.08.2013