Главная » Микроконтроллеры
Призовой фонд
на май 2017 г.
1. Тестер компонентов MG328
Паяльник
2. Осциллограф DSO138
Паяльник
3. Регулируемый паяльник 60 Вт
Паяльник
4. 100 руб.
От пользователей

Похожие статьи:


Светофор на ATtiny13

Решил сделать для своего младшего брата светофор из подручных средств.
Под рукой оказался МК ATtiny13, несколько светодиодов и резисторов. У данного МК флэш память программ составляет 1кб, но нам этого хватит с головой, несмотря то, что программа пишется на Си в CodeVisionAVR.

Вот исходный текст программы:

/*****************************************************
This program was produced by the
CodeWizardAVR V1.25.2 Beta1 Standard
Automatic Program Generator
© Copyright 1998-2006 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date : 27.07.2007
Author : Pavel
Company : Home
Comments:

Chip type : ATtiny13
Clock frequency : 4,800000 MHz
Memory model : Tiny
External SRAM size : 0
Data Stack size : 16
*****************************************************/

#include
#include
unsigned char svet=1;
unsigned char onf=0;
// Pin change interrupt service routine
interrupt [PCINT0] void pin_change_isr(void)
{
// Place your code here
if(PINB.4!=0)
{
if(svet<4)svet++;
else svet=1;
onf=0;
}
if(PINB.3!=0)
{
onf=1;
// PORTB.1=1;PORTB.2=1; PORTB.0=1;
}
delay_ms(200);
}

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif

// Input/Output Ports initialization
// Port B initialization
// Func5=In Func4=In Func3=In Func2=Out Func1=Out Func0=Out
// State5=T State4=T State3=T State2=0 State1=0 State0=0
PORTB=0x00;
DDRB=0x1F;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0A output: Disconnected
// OC0B output: Disconnected
TCCR0A=0x00;
TCCR0B=0x00;
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;

// External Interrupt(s) initialization
// INT0: Off
// Interrupt on any change on pins PCINT0-5: On
GIMSK=0x20;
MCUCR=0x00;
PCMSK=0x1F;
GIFR=0x20;

// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
ACSR=0x80;
ADCSRB=0x00;

// Global enable interrupts
#asm("sei")
//PORTB.0=1; //gr
//PORTB.1=1; //re
//PORTB.2=1; //ye
while (1)
{
if(onf==0)
{
switch (svet)
{
case 1:PORTB.0=1; PORTB.1=0; PORTB.2=0; break;
case 2:PORTB.2=1; PORTB.0=0; PORTB.1=0; break;
case 3:PORTB.1=1; PORTB.0=0; PORTB.2=0; break;
case 4:PORTB.1=1;PORTB.2=1; PORTB.0=0; break;
}

}
if(onf==1)
{
if(svet<4)svet++;
else svet=1;

switch (svet)
{
case 1:PORTB.0=1; PORTB.1=0; PORTB.2=0; break;
case 2:PORTB.2=1; PORTB.0=0; PORTB.1=0; break;
case 3:PORTB.1=1; PORTB.0=0; PORTB.2=0; break;
case 4:PORTB.1=1;PORTB.2=1; PORTB.0=0; break;
}
delay_ms(1000);
}
};
}

Фотографии готового устройства:

Фото готового устройства

Фото готового устройства

Светофор в работе

Прошивку HEX, LAY-файл и схему устройства вы можете скачать ниже

BATCOH (iupfan сабака mail тчк ru)

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
DD1 МК AVR 8-бит
ATtiny13
1 Поиск в FivelВ блокнот
C1 Конденсатор0.01 мкФ1 Поиск в FivelВ блокнот
R1 Резистор
10 кОм
1 Поиск в FivelВ блокнот
R2-R4 Резистор
1 кОм
1 Поиск в FivelВ блокнот
VD1 СветодиодЖелтый1 Поиск в FivelВ блокнот
VD2 СветодиодКрасный1 Поиск в FivelВ блокнот
VD3 СветодиодЗеленый1 Поиск в FivelВ блокнот
SW1, SW2 Кнопка2 Поиск в FivelВ блокнот
SW3 Выключатель1 Поиск в FivelВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

BATCOH Опубликована: 2007 г. 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (1) | Я собрал (0) | Подписаться

0
Артем #
Напишите фьюзы пожалуйста
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
Бокс для хранения компонентов Ручной фен 450 Вт с регулировкой температуры
вверх