roboforum.ru

Технический форум по робототехнике.
Текущее время: 26 ноя 2024, 23:59

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: как я учил МК нотам
СообщениеДобавлено: 02 дек 2006, 20:14 
Не в сети
Аватара пользователя

Зарегистрирован: 28 мар 2006, 17:28
Сообщения: 486
Откуда: Пенза
проект 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Гц

какие будут идей и предложения? :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 дек 2006, 23:22 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
числа нужно будет подогнать на время вызова процедур.

удобно в симуляторе VMLAB.nm.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 дек 2006, 23:29 
Не в сети
Аватара пользователя

Зарегистрирован: 28 мар 2006, 17:28
Сообщения: 486
Откуда: Пенза
avr123.nm.ru писал(а):
числа нужно будет подогнать на время вызова процедур.

удобно в симуляторе VMLAB.nm.ru


да вроде подгонял ток всё равно есть не большая погрешность

но наслух это не отличить (правда мне мож медведь на ухо наступил :lol:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 дек 2006, 23:48 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
максимально точно можно NOP-ами подогнать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 дек 2006, 23:49 
Не в сети
Аватара пользователя

Зарегистрирован: 28 мар 2006, 17:28
Сообщения: 486
Откуда: Пенза
это что такое ?
правда точности я не требовал от этого устройства
но всё же интерсно что это такое


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 дек 2006, 01:16 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
NOP  - это "но оперейшен"  - АСМ инструкция паузы в 1 такт.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 дек 2006, 11:15 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2006, 19:05
Сообщения: 364
Откуда: Санкт-Петербург
А где бимоли и диезы? :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 дек 2006, 14:15 
Не в сети
Аватара пользователя

Зарегистрирован: 28 мар 2006, 17:28
Сообщения: 486
Откуда: Пенза
avr123.nm.ru писал(а):
NOP  - это "но оперейшен"  - АСМ инструкция паузы в 1 такт.


ясно до этого ещё не додумался

Цитата:
А где бимоли и диезы?

уже в разработке :wink:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 дек 2006, 16:03 
Не в сети
Аватара пользователя

Зарегистрирован: 28 мар 2006, 17:28
Сообщения: 486
Откуда: Пенза
версия 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Гц


хочу забабахать полифонию
полифония как она устроена ? если кто нибудь знает объясните пожалуйста


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 дек 2006, 16:05 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
полифония это одновременное воспроизведение нескольких нот.  лучше использовать спец чип.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 дек 2006, 16:15 
Не в сети
Аватара пользователя

Зарегистрирован: 28 мар 2006, 17:28
Сообщения: 486
Откуда: Пенза
Цитата:
лучше использовать спец чип

какой?

у мя ёще одна идея родилась надо написать библиотеку функции как BEEPt,f (как на спеках)
где t-продолжительность f-нота

правда как это сделать не знаю еще не разу не писал ни каких библиотек
если где ошибся поправте :oops:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 04 дек 2006, 01:47 
Не в сети
Мастер Самоделкин
Аватара пользователя

Зарегистрирован: 11 окт 2004, 19:20
Сообщения: 3678
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич
Пишешь си-файл с функцией и h-файл с ее описанием. А в программе просто делаешь инклуд этого файла.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 04 дек 2006, 10:10 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
D-M писал(а):
как это сделать не знаю еще не разу не писал ни каких библиотек


по образцу существующих библ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 04 дек 2006, 12:44 
Не в сети
Аватара пользователя

Зарегистрирован: 28 мар 2006, 17:28
Сообщения: 486
Откуда: Пенза
спасибо буду стараться


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO