пищалка на ATmega8

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

пищалка на ATmega8

Сообщение FreshMan »

в народе говорят одна голова хорошо а две лучше, кто может предложить какие-либо вариантьы чтобы сделать пищалку на данном МК ? подскажите пожалуйста ученику :))
Tell Me The Truth
Реклама
Аватара пользователя
jordan
Грызет канифоль
Сообщения: 271
Зарегистрирован: Чт апр 01, 2010 14:14:55

Re: пищалка на ATmega8

Сообщение jordan »

на данном контроллере можно сделать даже wave плеер, или даже mp3 плеер если докупить mp3 декодер vs.....а пищалку можно сделать любую какую только захочется, какая именно пищалка нужна? какая задача?
Реклама
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: пищалка на ATmega8

Сообщение FreshMan »

имеется обычный buzzer без генератора, нужно сделать писк типа пи-пи....., пи-пи....., пи-пи....,
на первом этапе я хочу сделать монотонный писк, без прерываний
как сие сделать ?
Tell Me The Truth
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: пищалка на ATmega8

Сообщение Gudd-Head »

Дёргать ногой, как же ещё?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: пищалка на ATmega8

Сообщение FreshMan »

в качестве основной частоты брать 1кГц ?
Tell Me The Truth
Реклама
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: пищалка на ATmega8

Сообщение Gudd-Head »

На вкус и цвет.
Вот генератор, можешь послушать :)
Вложения
gen.zip
(27.74 КБ) 1129 скачиваний
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Аватара пользователя
s_black
Мучитель микросхем
Сообщения: 411
Зарегистрирован: Вс авг 10, 2008 19:35:49
Откуда: Евпатория
Контактная информация:

Re: пищалка на ATmega8

Сообщение s_black »

#include <avr/io.h>
#include <util/delay.h>

int main (void)
{
DDRB |= _BV(PB1);

for(;;)
{
PORTB ^= _BV(PB1);
_delay_ms(200);
}
}
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: пищалка на ATmega8

Сообщение Gudd-Head »

s_black писал(а):_delay_ms(200);
2,5 Гц?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: пищалка на ATmega8

Сообщение FreshMan »

Gudd-Head, спасибо, интерестная штука :))
s_black, мне желательно бы для данных целей заюзать таймер Т0 или Т1
Т2 уже занят
я делаю пищалку для звонка в часах :))
Tell Me The Truth
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: пищалка на ATmega8

Сообщение Gudd-Head »

Какая марка пищалки?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: пищалка на ATmega8

Сообщение FreshMan »

на ней ничего не написано, возле ножек стоят знаки + и -
я её выдрал со старого импортного телефона
Tell Me The Truth
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: пищалка на ATmega8

Сообщение Gudd-Head »

Точно она от постоянки не пищит?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: пищалка на ATmega8

Сообщение FreshMan »

нет...., подключал и проверял
Tell Me The Truth
Аватара пользователя
jordan
Грызет канифоль
Сообщения: 271
Зарегистрирован: Чт апр 01, 2010 14:14:55

Re: пищалка на ATmega8

Сообщение jordan »

ну так на таймере очень просто, настройте прерывание таймера с неким периодом, и в прерывании инвертируйте состояние ножки, будет пищать будет пищать с частотой в два раза меньше чем частота прерывания таймера...

PORTB ^= 0b00000100 - например 3 ножна порта B 9(код прерывания)
BVS
Потрогал лапой паяльник
Сообщения: 336
Зарегистрирован: Пн май 23, 2011 18:27:41

Re: пищалка на ATmega8

Сообщение BVS »

По моему за год можно было что нибудь придумать самому
Я даже подсказывал и книжку давал, где почитать, не ужели трудно, включаеш в таймере CTC и на OCxn получаеш частоту
For generating a waveform output in CTC mode, the OC1A output can be set to toggle
its logical level on each compare match by setting the Compare Output mode bits to toggle
mode (COM1A1:0 = 1)
на это GOOGLE переводчик отвечает:
Для формирования выходного сигнала в режиме CTC, выход OC1A может быть установлен на переключение
логического уровня на каждый матч сравнения, установив Compare бит выходного режима для переключения
режиме (COM1A1: 0 = 1
советую выкинуть ATmegУ в форточку и забыть это!
Аватара пользователя
DruidCat
Встал на лапы
Сообщения: 116
Зарегистрирован: Чт май 03, 2012 06:27:23
Откуда: Челябинск

Re: пищалка на ATmega8

Сообщение DruidCat »

А почему в топку Мегу?
Вопрос наверно в эту тему, а как расчитывать частату, с которой будет изменятся из единицы в ноль и наоборот ножка МК. Реализация через таймер с прерыванием. Как мне расчитать частоту в 36 кГц через таймер Т1? Использую ATmega8 с кварцевым резонатором на 8мГц.
Кот должен прожить жизнь без сожаления.
BVS
Потрогал лапой паяльник
Сообщения: 336
Зарегистрирован: Пн май 23, 2011 18:27:41

Re: пищалка на ATmega8

Сообщение BVS »

8000000/36000/2-1=110.1 = 0x006E

Код: Выделить всё

TCCR1A=0x40;
TCCR1B=0x09;

OCR1AH=0x00;
OCR1AL=0x6E;
8000000/2*1(1+110) = 36036 Гц
только это без прерывания, на такой частоте прерывания фтопку
Аватара пользователя
DruidCat
Встал на лапы
Сообщения: 116
Зарегистрирован: Чт май 03, 2012 06:27:23
Откуда: Челябинск

Re: пищалка на ATmega8

Сообщение DruidCat »

Спасибо многоуважаемый кот. :beer:
Кот должен прожить жизнь без сожаления.
Аватара пользователя
jordan
Грызет канифоль
Сообщения: 271
Зарегистрирован: Чт апр 01, 2010 14:14:55

Re: пищалка на ATmega8

Сообщение jordan »

Друзья, к сожалению мы не можем услышать звуковые колебания на такой частоте - 36036 Гц... это уже ультра звук....

для пищалки 1000 Гц, больше уже не приятно для уха, режит слух :shock:
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: пищалка на ATmega8

Сообщение FreshMan »

ну вот, сварганил код для частоты в 1 кГц

Код: Выделить всё

#include <mega8.h>
#include <delay.h>

void main(void)
{
PORTC=0x00;
DDRC=0x7F;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

while (1)
      {
       PORTC|=(1<<1);
       delay_us(500);
       PORTC&=~(1<<1);
       delay_us(500);

      };
}
как теперь сделать чтобы пыщалка пол минуты пищала а пол молчала ?
завести счетчик который подсчитывает время ?
Tell Me The Truth
Ответить

Вернуться в «AVR»