Page 1 of 1

Колокольчик в машину как в ино

Posted: 11 Oct 2014 13:21
by 7-clown

Code: Select all

#include <io.h>
#include <delay.h>

#define PWM               OCR0A                              //Регистр для задания скважности ШИМ
#define CLR_TIMER         TCNT1H=0;TCNT1L=0    //Сбрасываем таймер
#define LEN               22                                      // Длина мелодии
#define TOP               255                                    // Верхний предел ШИМ

void initdev(){                   // Ининциализация портов МК
 
DDRB=0xff;

TIMSK=0x40;

//****************************** 
//Таймер прерывания         // Настраиваем прерывания по таймеру
TCCR1B=0x02;

// 800Hz                            // ТОн колокольчика
//OCR1AH=0x01;
//OCR1AL=0x38;

// 650Hz
//OCR1AH=0x01;
//OCR1AL=0x80;

// 550Hz
OCR1AH=0x01;
OCR1AL=0xC2;
//******************************

//****************************** 
//ШИМ 32kHz
TCCR0A=0x83;
TCCR0B=0x01;  
//****************************** 
}

void sin(char delt){                //Функция синуса, точнее пила 

//delt max=TOP/2 (128)
 
static char
cnt; 

 switch(cnt){

       case 0:   
             PWM=delt;
       break;
       
       case 1:
             PWM=TOP/2;
       break;
       
       case 2:
            PWM=TOP-delt;
       break;
       
       case 3:
            PWM=TOP/2;
       break;
       
       default:break;
       }
 
cnt++;

if(cnt==4) cnt=0;
}

char time(){            //функция для расчета затухания мелодии

 static char
 tmp,de;
 
 tmp++;

if(de==128){ 
 de=0;
 delay_ms(700);
 }
 
  if(tmp==LEN){
   tmp=0;
   de++;        
   }
  return de;
}

void main(){
 
 initdev();
 #asm("sei")
     
   while(1)
   {
   }
}

interrupt [TIM1_COMPA] void compa_isr(){
              
 CLR_TIMER;
  
 sin(time());             
}

Re: Колокольчик в машину как в ино

Posted: 15 Oct 2014 15:36
by georg77
краткость - се та ?

Re: Колокольчик в машину как в ино

Posted: 15 Oct 2014 16:20
by 7-clown
Исходник пока что...устройство готовое позже оформлю. Цель - показать пример для написания...Мне было интересно как это сделать, звук колокольчика смоделировал и пока интерес поугас))

Литература:
http://avr-start.ru/?p=749

Re: Колокольчик в машину как в ино

Posted: 15 Oct 2014 16:40
by propell_ant
такое воспроизводит записанный в формате wav на attiny85

Re: Колокольчик в машину как в ино

Posted: 17 Oct 2014 22:51
by zktch
Вот интересная схема, сам лично сделал звук очень хороший ссылка: http://radioparty.ru/device-avr/521-bell-car-attiny13