Автомат світлових ефектів на мікроконтролері 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.