Автомат світлових ефектів на мікроконтролері AVR
Огляд схемних рішень світлової сигнальної індикації, будова мікроконтролера ATMEGA8, огляд алгоритмів, схемних та програмних рішень. Алгоритм роботи мікропроцесорного пристрою сигналізації світлодіодного індикатора. Компілятор мови асемблер для AVR.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 01.02.2015 |
Размер файла | 5,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Assembler, оскільки компільований в машинний кодовий файл займає менший об'єм. Це пов'язано з тим, що є надлишковість скомпільованого кодового файла на мові С в машинний файл. Але код на мові С простіший для розуміння, та потребує менше часу для написання програм.
Перелік посилань
1. Баранов В.Н. Применение микроконтроллеров AVR: схемы, алгоритмы, програмы. - М.: Издательский дом "Додэка ХХІ", 2004. - 288 с.: ил. (серия "Мировая электроника") ISBN 5-94120-075-7
2. Мортон Дж. Микроконтроллеры AVR. Вводный курс / Дж. Мортон./Пер. С англ. - М.: Издательский дом "Додэка-ХХІ", 2006.-272 с. - ISBN 5-94120-096-Х
3. Автомат световых эффектов [Електронний ресурс]: Web-сайт. - Режим доступу: http://www.radioelectronika.ru/?mod=cxemi&sub_mod =full_cxema&id=596 - Назва з екрану.
4. Автомат световых эффектов [Електронний ресурс]: Web-сайт. - Режим доступу: http://www.radioelectronika.ru/?mod=cxemi&sub_mod=full_ cxema &id= 632 - Назва з екрану.
5. Автомат световых эффектов [Електронний ресурс]: Web-сайт. - Режим доступу: http://pic.rkniga.ru/shemotehnika/svetovye-effekty/188-novogodnyaya-elochka-na-mikrokontrollere-pic12f675.htm - Назва з екрану.
6. Автомат световых эффектов [Електронний ресурс]: Web-сайт. - Режим доступу: http://guarda.ru/guarda/data/automation_system/txt_46.php -Назва з екрану.
7. Автомат световых эффектов [Електронний ресурс]: Web-сайт. - Режим доступу: http://decada.org.ru/project/electronic/avtomat_svet_eff/ - Назва екрану.
8. Автомат световых эффектов [Електронний ресурс]: Web-сайт. - Режим доступу: http://radioelectronika.ru/?mod=cxemi&sub_mod=full_ cxema&id=537 - Назва з екрану.
9. Автомат световых эффектов [Електронний ресурс]: Web-сайт. -Режим доступу: http://cxema.my1.ru/publ/konstrukcii_dlja_doma_i_dachi/ konstrukcii_dlja_doma/avtomat_perekljuchatel_girljand/35-1-0-2961 - Назва з екрану.
10. Евстифеев А.В. Микроконтроллеры AVR семейства Mega. Руководство пользователя / А.В. Евстифеев - М.: Издательский дом "Додэка-XXI", 2007. - 592 с: ил. (Серия "Программируемые системы"). ISBN 978-5-94120-090-0 mm
11. Гребнев В.В. Микроконтроллеры семейства AVR фипмы Atmel / В.В. Гребнев - М.: ИП Радиософт, 2002 - 176 с.: ил. ISBN 5-93037-091-5
12. Ревич Ю.В. "Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера" - Видання "БХВ-Петербург" 2011 р. - мова російська - 354 ст.
13. Рудольф Марек "Ассемблер на примерах" (Ucime se Programovat v Iazyce Assembler pro PC) - Видання "Наука и техника" 2005 р. - російська - 240 ст.
14. Александр Крупник "Ассемблер. Самоучитель" - Видання "Питер" 2005 р. - мова російська - 240 ст.
15. Зубков С.В. "Assembler. Язык неограниченных возможностей" - Видання "ДМК" 1999 р. - мова російська - 640 ст
16. Шпак Ю.А. "Программирование на языке С для AVR и PIC микроконтроллеров. 1-е издание" - Видання "МК-Пресс" 2006 р. - мова російська - 487 ст.
17. Шпак Ю.А. "Программирование на языке С для AVR и PIC микроконтроллеров. 2-е издание" - Видання "Корона-Век, МК-Пресс" 2011 р. - мова російська - 544 ст.
18. Лебедев М.Б. CodeVision AVR. Пособие для начинающих / М.Б. Лебедев - М.: Додэка XXI, 2010 - 450с. ISBN 978-5-94120-248-5
Додаток А. Програма на мові Assembler
.include "m8def.inc"
ldi r16,0b11111111
out ddrb,r16
ldi r16,0b00000000
out ddrd,r16
ldi r16,low(RAMEND)
out spl,r16
ldi r16,high(RAMEND)
out sph,r16
ldi r16,0b11111111
out portb,r16
rcall fff
ldi r16,0b00000000
out portb,r16
loop:
ldi r16,0b00000000
out portb,r16
in r17,pind
sbrc r17,0
rjmp kn1
in r17,pind
sbrc r17,1
rjmp kn2
rjmp loop
kn1:
ldi r18,0b11111111
out portb,r18
rcall fff
ldi r18,0b11111110
out portb,r18
rcall fff
ldi r18,0b11111100
out portb,r18
rcall fff
ldi r18,0b11111000
out portb,r18
rcall fff
ldi r18,0b11110000
out portb,r18
rcall fff
ldi r18,0b11100000
out portb,r18
rcall fff
ldi r18,0b11000000
out portb,r18
rcall fff
ldi r18,0b10000000
out portb,r18
rcall fff
ldi r18,0b00000000
out portb,r18
rcall fff
rjmp loop
kn2:
ldi r18,0b11111111
out portb,r18
rcall fff
ldi r18,0b01111110
out portb,r18
rcall fff
ldi r18,0b00111100
out portb,r18
rcall fff
ldi r18,0b00011000
out portb,r18
rcall fff
ldi r18,0b00000000
out portb,r18
rcall fff
ldi r18,0b00011000
out portb,r18
rcall fff
ldi r18,0b00111100
out portb,r18
rcall fff
ldi r18,0b01111110
out portb,r18
rcall fff
ldi r18,0b11111111
out portb,r18
rcall fff
rjmp loop
fff:
in r17,pind
sbrc r17,0
rjmp kn1
in r17,pind
sbrc r17,1
rjmp kn2
ldi r20, 50
in r17,pind
sbrc r17,0
rjmp kn1
in r17,pind
sbrc r17,1
rjmp kn2
ldi r21, 50
in r17,pind
sbrc r17,0
rjmp kn1
in r17,pind
sbrc r17,1
rjmp kn2
ret
Додаток Б. Програма на мові С
/*****************************************************
This program was produced by the
CodeWizardAVR V2.04.8b Evaluation
Automatic Program Generator
© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com
Chip type : AT90S2313
AVR Core Clock frequency: 4,000000 MHz
Memory model : Tiny
External RAM size : 0
Data Stack size : 32
*****************************************************/
#include <mega8.h>
#include <delay.h>
void main(void)
{
// Input/Output Ports initialization
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0xFF;
DDRB=0x00;
// Port C initialization
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;
// Port D initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTD=0x00;
DDRD=0x00;
// 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: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
// USART initialization
// USART disabled
UCSRB=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// ADC initialization
// ADC disabled
ADCSRA=0x00;
// SPI initialization
// SPI disabled
SPCR=0x00;
// TWI initialization
// TWI disabled
TWCR=0x00;
while(1)
{
if(PIND.0==1)
{while (1)
{
label1:
PORTB=0b01111111;
if (zatr_perev_kn() == 1)goto label1;
else if (zatr_perev_kn() == 2)goto label2;
PORTB=0b00111111;
if (zatr_perev_kn() == 1)goto label1;
else if (zatr_perev_kn() == 2) goto label2;
PORTB=0b00011111;
if (zatr_perev_kn() == 1)goto label1;
else if (zatr_perev_kn() == 2)goto label2;
PORTB=0b00001111;
if (zatr_perev_kn() == 1)goto label1;
else if (zatr_perev_kn() == 2)goto label2;
PORTB=0b00000111;
if (zatr_perev_kn() == 1)goto label1;
else if (zatr_perev_kn() == 2)goto label2;
PORTB=0b00000011;
if (zatr_perev_kn() == 1)goto label1;
else if (zatr_perev_kn() == 2)goto label2;
PORTB=0b00000001;
if (zatr_perev_kn() == 1)goto label1;
else if (zatr_perev_kn() == 2)goto label2;
PORTB=0b00000000;
if (zatr_perev_kn() == 1)goto label1;
else if (zatr_perev_kn() == 2)goto label2;
}
}
if(PIND.1==1)
{while (1)
{
label2:
PORTB=0b01111110;
if (zatr_perev_kn() == 1)goto label1;
else if (zatr_perev_kn() == 2)goto label2;
PORTB=0b00111100;
if (zatr_perev_kn() == 1)goto label1;
else if (zatr_perev_kn() == 2)goto label2;
PORTB=0b00011000;
if (zatr_perev_kn() == 1)goto label1;
else if (zatr_perev_kn() == 2)goto label2;
PORTB=0b00000000;
if (zatr_perev_kn() == 1)goto label1;
else if (zatr_perev_kn() == 2)goto label2;
PORTB=0b00011000;
if (zatr_perev_kn() == 1)goto label1;
else if (zatr_perev_kn() == 2)goto label2;
PORTB=0b00111100;
if (zatr_perev_kn() == 1)goto label1;
else if (zatr_perev_kn() == 2)goto label2;
PORTB=0b01111110;
if (zatr_perev_kn() == 1)goto label1;
else if (zatr_perev_kn() == 2)goto label2;
PORTB=0b11111111;
if (zatr_perev_kn() == 1)goto label1;
else if (zatr_perev_kn() == 2)goto label2;
}
Размещено на Allbest.ru
Подобные документы
Функції та система команд мікроконтролера PIC16F84A, його технічні характеристики й організація пам'яті. Розробка керуючого автомату на мікроконтролері для пристрою світлових ефектів, побудова його електричної схеми та створення програмного забезпечення.
курсовая работа [255,0 K], добавлен 03.12.2013Висновок про доцільність розробки світлодіодного годинника. Годинникові механізми, класифікація годинників. Обґрунтування схеми пристрою. Вибір мікроконтролера та огляд його архітектури. Вибір додаткових пристроїв. Розробка програмного забезпечення.
дипломная работа [3,0 M], добавлен 23.09.2014Розробка термометра на базі мікроконтролера Atmega 8535. Визначення температури через аналогово-цифрове перетворення. Принципова схема пристрою. Варіанти з'єднання ліній портів з сегментами індикатора. Алгоритм роботи мікроконтролера у пристрої.
курсовая работа [1,8 M], добавлен 11.08.2012Функціональна схема мікроконтролера ATMega8. Розробка робота на базі мікроконтролера ATMega8 з можливістю керування електродвигунами за допомогою програми. Функціональна і принципова схеми пристрою з вибором додаткових елементів, алгоритм його роботи.
курсовая работа [1,3 M], добавлен 08.10.2012Схема інтелектуального давача, побудованого на базі мікропроцесорного пристрою. Побудова контролера клавіатури та семисегментного індикатора. Ввід інформації з клавіатури. Вивід інформації на восьмисегментний індикатор. Робота аналого-цифрового пристрою.
курсовая работа [707,6 K], добавлен 05.02.2013Розробка автономного недорогого універсального охоронного пристрою, виконаного на сучасній елементній базі, призначеного для цілодобової охорони об'єктів різного призначення. Принцип роботи охоронної сигналізації. Вибір мікроконтролера, елементної бази.
дипломная работа [356,8 K], добавлен 24.08.2014Розробка сигналізації для 10 квартир багатоквартирної будівлі. Опис пристрою. Основні характеристики і аналіз мікроконтролерів. Вибір інших елементів пристрою. Вибір середи програмування. Програмування мікроконтролеру. Фінальне налаштування та тестування.
курсовая работа [1,0 M], добавлен 31.05.2016Докладний опис складових електричної схеми. Характеристика мікроконтролера PIC16F877. Рідкокристалічний індикатор МТ12864А. Призначення виводів рідкокристалічного індикатора. Цифро-аналоговий перетворювач MCP 4921. Алгоритм роботи цифрового генератора.
курсовая работа [1,5 M], добавлен 20.09.2011Визначення основних технічних характеристик та режимів роботи мікроконтролера для подальшого застосування у пристроях управління. Системи переривань та режими роботи. Будова мікроконтролера, модулі синхронізації. Вбудовані низькочастотні генератори.
курсовая работа [1,2 M], добавлен 10.12.2013Доцільність розробки світлодіодного годинника. Історія годинника, годинникові механізми. Сонячні, водяні, пісочні, вогняні, механічні та електронні годинники. Вибір та обґрунтування схеми пристрою. Вибір мікроконтролера. Розробка програмного забезпечення.
дипломная работа [3,1 M], добавлен 11.07.2014