Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Sound Portc.X , Q , F

Сообщений 1 страница 6 из 6

1

Странный ляпус.
Хочу получить звук 10кГц в течении скажем 1 секунды.
Применяю в моем случае
Sound Portc.0 , Q , F
Q= 1000 mS
F= 50 uS (10кГц =100 uS. Берем длительность состояния 1 или 0. Получаем 50 uS)
Итого
Sound Portc.0 , 1000 , 50
Должно получиться 10 кГц, но у меня выходит всего лишь 7,5 кгц.
Вот и думаю, как получить нужных мне 10 кГц?
Может не правильно считаю?
P.S. Кварц стоит 4.433619 мГц

Отредактировано Niki-2 (2011-01-12 21:37:31)

0

2

Еще хорошо попал! Всегда приходится подбрать числа (константы), чтобы
получить что-то близкое по частоте или более приятное на слух.
Твои значение просто загружаются в цикл формирования импульсов, как есть.
На более высокой частоте погрешность, естественно, больше.

0

3

А я то думал, что длительность указал и порядок. Так происходит только с функцией Sound?
Есть ли более точный способ получать частоту на ножке порта, подобный Sound?

0

4

Niki-2
боюсь, более точный способ - только использовать таймер

0

5

http://bascom.at.ua/load/1-1-0-1

Код:
'===============================================================================
' Условные обозначения записи мелодий, совместимые с телефонами "Siemens C35"
'===============================================================================
' *****          НОТЫ           *****
'
' A       - ля
' Ais(#)  - ля диез
' H       - си
' С       - до
' Сis(#)  - до диез
' D       - ре
' Dis(#)  - ре диез
' E       - ми
' F       - фа
' Fis(#)  - фа диез
' G       - соль
' Gis(#)  - соль диез
'
' *****    ДЛИТЕЛЬНОСТЬ НОТ     *****
'
' (1/1)   - 2 сек (целая)
' (1/2)   - 1 сек (половинная)
' (1/4)   - 0,5 сек (четвертная)
' (1/8)   - 0,25 сек (восьмая)
' (1/16)  - 0,125 сек (шестнадцатая)
' (1/32)  - 0,0625 сек (тридцатьвторая)
'
' *****         ОКТАВЫ          *****
'
' 1       - 1 октава
' 2       - 2 октава
' 3       - 3 октава
'
' *****          ПАУЗЫ          *****
'
' P(1/1)   - 2 сек (целая)               - Wait 2
' P(1/2)   - 1 сек (половинная)          - Wait 1
' P(1/4)   - 0,5 сек (четвертная)        - Waitms 500
' P(1/8)   - 0,25 сек (восьмая)          - Waitms 250
' P(1/16)  - 0,125 сек (шестнадцатая)    - Waitms 125
' P(1/32)  - 0,0625 сек (тридцатьвторая) - Waitms 63
'
'===============================================================================
' ФОРМАТ ФУНКЦИИ "SOUND"
'===============================================================================
' SOUND Speaker , Pulses , Periods
' Speaker - порт для генерации звука
' Periods - частота звука (1-65535)
' Pulses  - длительность звука (1-65535)
'
' Periods = Abc[F_crystal / (k * F_nota)]
' Pulses  = Abc[(T_period * F_crystal) / (k * Periods)]
'
' F_crystal - тактовая частота контроллера, Гц
' F_nota    - частота выбранной ноты, Гц
' k = 12    - количество тактов, за которые формируется один период звука
' T_period  - длительность звучания ноты, сек
' Abc       - функция округления до целого числа
'
'===============================================================================
' Таблица значений Pulses и Periods для 1-3 октав при частоте кварца 8000000 Гц
'===============================================================================
'Nota|Freqvency|Periods|Pulses 1/1|Pulses 1/2|Pulses 1/4|Pulses 1/8|Pulses 1/16|
'===============================================================================
' C1 |  261,63 |  2548 |    523   |    262   |    131   |    65    |     33    |
'Cis1|  277,18 |  2405 |    554   |    277   |    139   |    69    |     35    |
' D1 |  293,66 |  2270 |    587   |    294   |    147   |    73    |     37    |
'Dis1|  311,13 |  2143 |    622   |    311   |    156   |    78    |     39    |
' E1 |  329,63 |  2022 |    659   |    330   |    165   |    82    |     41    |
' F1 |  349,23 |  1909 |    698   |    349   |    175   |    87    |     44    |
'Fis1|  369,99 |  1802 |    740   |    370   |    185   |    92    |     46    |
' G1 |  392,00 |  1701 |    784   |    392   |    196   |    98    |     49    |
'Gis1|  415,30 |  1605 |    831   |    415   |    208   |   104    |     52    |
' A1 |  440,00 |  1515 |    880   |    440   |    220   |   110    |     55    |
'Ais1|  466,16 |  1430 |    932   |    466   |    233   |   117    |     58    |
' H1 |  493,88 |  1350 |    988   |    494   |    247   |   124    |     62    |
'===============================================================================
' C2 |  523,25 |  1274 |   1047   |    523   |    262   |   131    |     65    |
'Cis2|  554,36 |  1203 |   1109   |    554   |    277   |   139    |     69    |
' D2 |  587,32 |  1135 |   1175   |    587   |    294   |   147    |     73    |
'Dis2|  622,26 |  1071 |   1245   |    622   |    311   |   156    |     78    |
' E2 |  659,26 |  1011 |   1319   |    659   |    330   |   165    |     82    |
' F2 |  698,46 |   954 |   1397   |    698   |    349   |   175    |     87    |
'Fis2|  739,98 |   901 |   1480   |    740   |    370   |   185    |     92    |
' G2 |  784,00 |   850 |   1568   |    784   |    392   |   196    |     98    |
'Gis2|  830,60 |   803 |   1661   |    831   |    415   |   208    |    104    |
' A2 |  880,00 |   758 |   1720   |    880   |    440   |   220    |    110    |
'Ais2|  932,32 |   715 |   1865   |    932   |    466   |   233    |    117    |
' H2 |  987,75 |   675 |   1976   |    988   |    494   |   247    |    124    |
'===============================================================================
' C3 | 1046,50 |   637 |   2093   |   1047   |    523   |   262    |    131    |
'Cis3| 1108,70 |   601 |   2218   |   1109   |    554   |   277    |    139    |
' D3 | 1174,60 |   566 |   2350   |   1175   |    587   |   294    |    147    |
'Dis3| 1244,50 |   536 |   2490   |   1245   |    622   |   311    |    156    |
' E3 | 1318,50 |   483 |   2638   |   1319   |    659   |   330    |    165    |
' F3 | 1396,90 |   477 |   2794   |   1397   |    698   |   349    |    175    |
'Fis3| 1480,00 |   450 |   2960   |   1480   |    740   |   370    |    185    |
' G3 | 1568,00 |   425 |   3136   |   1568   |    784   |   392    |    196    |
'Gis3| 1661,20 |   401 |   3322   |   1661   |    831   |   415    |    208    |
' A3 | 1720,00 |   388 |   3440   |   1720   |    880   |   440    |    220    |
'Ais3| 1864,60 |   358 |   3730   |   1865   |    932   |   466    |    233    |
' H3 | 1975,50 |   337 |   3952   |   1976   |    988   |   494    |    247    |
'===============================================================================

+1

6

Спасибо большое!
Я опытным путем тыкался, почти угадал :)

0