Пт сен 21, 2012 00:41:39
Gudd-Head писал(а):Вот генератор, можешь послушать
Пт сен 21, 2012 09:18:53
jordan писал(а):Друзья, к сожалению мы не можем услышать звуковые колебания на такой частоте - 36036 Гц... это уже ультра звук....
для пищалки 1000 Гц, больше уже не приятно для уха, режит слух
Пт сен 21, 2012 10:20:30
Пт сен 21, 2012 10:30:24
как теперь сделать чтобы пыщалка пол минуты пищала а пол молчала ?
завести счетчик который подсчитывает время ?
for( unsigned int=0; i<30000; i++)
{
PORTC|=(1<<1);
delay_us(500);
PORTC&=~(1<<1);
delay_us(500);
}
Пт сен 21, 2012 11:02:53
jordan писал(а):хотя это не самый лучший вариант так как МК в это время больше ни чего делать не может а занят функцией задержки...
Пт сен 21, 2012 11:08:43
Пт сен 21, 2012 11:11:15
Пт сен 21, 2012 11:24:02
Пт сен 21, 2012 11:26:27
Пт сен 21, 2012 11:28:34
Пт сен 21, 2012 11:40:18
Пт сен 21, 2012 11:42:52
Пт сен 21, 2012 11:54:20
Пт сен 21, 2012 11:58:51
FreshMan писал(а):раскажите по подробнгей о вашем методе, плиз
Пт сен 21, 2012 12:20:15
include <mega8.h>
#define BuzzerOn (PORTC|=(1<<1))
#define BuzzerOff (PORTC&=~(1<<1))
bit beep;
// Timer 1 output compare A interrupt service routine
interrupt [TIM1_COMPA] void timer1_compa_isr(void)
{
beep=~beep;
if (beep==1) BuzzerOn; else BuzzerOff;
}
void main(void)
{
PORTC=0x00;
DDRC=0x7F;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 7.813 kHz
// Mode: CTC top=OCR1A
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: On
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x0D;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x04;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x10;
// Global enable interrupts
#asm("sei")
while (1)
{
// Place your code here
};
}
Пт сен 21, 2012 12:36:43
Пт сен 21, 2012 13:22:01
#include <mega8.h>
#define BuzzerOn (PORTC|=(1<<1))
#define BuzzerOff (PORTC&=~(1<<1))
bit beep;
unsigned int counter;
interrupt [TIM1_COMPA] void timer1_compa_isr(void) // Timer срабатывает по совпадению через 0,512мс
{
beep=~beep;
if (++counter>=2000) counter=0; // считаем время до 1с
if ((beep==1)&&(counter<=1000)) BuzzerOn; else BuzzerOff;
//if (beep==1) BuzzerOn; else BuzzerOff;
}
void main(void)
{
PORTC=0x00;
DDRC=0x7F;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 7.813 kHz
// Mode: CTC top=OCR1A
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: On
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x0D;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x04;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x10;
// Global enable interrupts
#asm("sei")
while (1)
{
// Place your code here
};
}
Пт сен 21, 2012 23:41:33
#include <mega8.h>
#define BuzzerOn (PORTC|=(1<<1))
#define BuzzerOff (PORTC&=~(1<<1))
bit beep;
unsigned int counter;
interrupt [TIM1_COMPA] void timer1_compa_isr(void) // Timer ñðàáàòûâàåò ïî ñîâïàäåíèþ ÷åðåç 0,512ìñ
{
beep=~beep;
if (++counter>=2000) counter=0; // ñ÷èòàåì âðåìÿ äî 1ñ
if ((beep==1)&&((counter<=400)||((counter>=600)&&(counter<=1000)))) BuzzerOn; else BuzzerOff;
}
void main(void)
{
PORTC=0x00;
DDRC=0x7F;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 7.813 kHz
// Mode: CTC top=OCR1A
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: On
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x0D;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x04;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x10;
// Global enable interrupts
#asm("sei")
while (1)
{
// Place your code here
};
}
Сб сен 22, 2012 00:05:19
FreshMan писал(а):эх...., знать бы еще как 7 симфонию Баха забабахать......, это был бы вообще высший пилотаж