Технический форум по робототехнике.
D-M » 02 дек 2006, 20:14
проект for fun
вот всё что у меня получилось (правдо по ламерски) можкому прегодится
- Код: Выделить всё • Развернуть
#define BELL PORTC.0
#define C BELL=1; delay_us(3821); BELL=0; delay_us(3821);//нота До 523.3Гц
#define D BELL=1; delay_us(3405); BELL=0; delay_us(3405);//нота Ре 587.3Гц
#define E BELL=1; delay_us(3033); BELL=0; delay_us(3033);//нота Ми 659.3Гц
#define F BELL=1; delay_us(2863); BELL=0; delay_us(2863);//нота Фа 698.5Гц
#define G BELL=1; delay_us(2551); BELL=0; delay_us(2551);//нота Соль 784.0Гц
#define A BELL=1; delay_us(2272); BELL=0; delay_us(2272);//нота Ля 880.0Гц
#define B BELL=1; delay_us(2024); BELL=0; delay_us(2024);//нота Си 987.8Гц
какие будут идей и предложения?

avr123.nm.ru » 02 дек 2006, 23:22
числа нужно будет подогнать на время вызова процедур.
удобно в симуляторе VMLAB.nm.ru
D-M » 02 дек 2006, 23:29
avr123.nm.ru писал(а):числа нужно будет подогнать на время вызова процедур.
удобно в симуляторе VMLAB.nm.ru
да вроде подгонял ток всё равно есть не большая погрешность
но наслух это не отличить (правда мне мож медведь на ухо наступил

avr123.nm.ru » 02 дек 2006, 23:48
максимально точно можно NOP-ами подогнать.
D-M » 02 дек 2006, 23:49
это что такое ?
правда точности я не требовал от этого устройства
но всё же интерсно что это такое
avr123.nm.ru » 03 дек 2006, 01:16
NOP - это "но оперейшен" - АСМ инструкция паузы в 1 такт.
Валерос » 03 дек 2006, 11:15
А где бимоли и диезы?

D-M » 03 дек 2006, 14:15
avr123.nm.ru писал(а):NOP - это "но оперейшен" - АСМ инструкция паузы в 1 такт.
ясно до этого ещё не додумался
А где бимоли и диезы?
уже в разработке

D-M » 03 дек 2006, 16:03
версия 2
- Код: Выделить всё • Развернуть
#define BELL PORTC.0
#define n 1//n-номер октавы
#define C BELL=1; delay_us(7643/n); BELL=0; delay_us(7643/n);// нота До 261.65Гц
#define Cd BELL=1; delay_us(7215/n); BELL=0; delay_us(7215/n);//нота До-диез 277.20Гц
#define D BELL=1; delay_us(6810/n); BELL=0; delay_us(6810/n);// нота Ре 293.65Гц
#define Dd BELL=1; delay_us(6427/n); BELL=0; delay_us(6427/n);//нота Ре-диез 311.15Гц
#define E BELL=1; delay_us(6067/n); BELL=0; delay_us(6067/n);// нота Ми 329.65Гц
#define Ed BELL=1; delay_us(5891/n); BELL=0; delay_us(5891/n);//нота Ми-диез 339.45Гц
#define F BELL=1; delay_us(5746/n); BELL=0; delay_us(5746/n);// нота Фа 349.25Гц
#define Fd BELL=1; delay_us(5405/n); BELL=0; delay_us(5405/n);//нота Фа-диез 370.00Гц
#define G BELL=1; delay_us(5102/n); BELL=0; delay_us(5102/n);// нота Соль 392.00Гц
#define Gd BELL=1; delay_us(4815/n); BELL=0; delay_us(4815/n);//нота Соль-диез 415.30Гц
#define A BELL=1; delay_us(4545/n); BELL=0; delay_us(4545/n);// нота Ля 440.00Гц
#define Ad BELL=1; delay_us(4290/n); BELL=0; delay_us(4290/n);//нота Ля-диез 466.15Гц
#define B BELL=1; delay_us(4049/n); BELL=0; delay_us(4049/n);// нота Си 493.90Гц
#define Bd BELL=1; delay_us(3923/n); BELL=0; delay_us(3923/n);//нота Си-диез 508.60Гц
хочу забабахать полифонию
полифония как она устроена ? если кто нибудь знает объясните пожалуйста
avr123.nm.ru » 03 дек 2006, 16:05
полифония это одновременное воспроизведение нескольких нот. лучше использовать спец чип.
D-M » 03 дек 2006, 16:15
лучше использовать спец чип
какой?
у мя ёще одна идея родилась надо написать библиотеку функции как BEEPt,f (как на спеках)
где t-продолжительность f-нота
правда как это сделать не знаю еще не разу не писал ни каких библиотек
если где ошибся поправте

-= Александр =- » 04 дек 2006, 01:47
Пишешь си-файл с функцией и h-файл с ее описанием. А в программе просто делаешь инклуд этого файла.
avr123.nm.ru » 04 дек 2006, 10:10
D-M писал(а):как это сделать не знаю еще не разу не писал ни каких библиотек
по образцу существующих библ.
D-M » 04 дек 2006, 12:44
спасибо буду стараться