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

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

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

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


Вы здесь » Программирование ATMEL в BASCOM. » Световые эффекты » Светодиодный диммер


Светодиодный диммер

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

1

Вот есть такое устройство: http://radiokot.ru/circuit/light/run/22/  . Хотелось бы подправить его прошивку, но плохо знаю bascom avr. Замеченный мною баг: Когда замедляешь темп мигания, то замедляется и частота опроса кнопок, в результате чего, их надо держать секунды две, пока контроллер отреагирует, что является очень неудобным. Хотелось бы реализовать задумку автора о энергонезависимой памяти контроллера (хранение пользовательских настроек для мигания), исходя с этого, придется составить такую программу на контроллер, что будет позволять составлять эти настройки непосредственно на самом устройстве, без компьютера и перепрошивки. Так же хотелось бы перевести темп не на 1 - 15 единиц (по логарифмической шкале) а на 32 - 999 bpm, так как он используется в музыке. Так же, коль уж начал о музыке, и переключатель размера (но тут нужно еще подумать нужен ли он.., потому что у нас 8 диодов, а значит и восемь восьмых должно быть в такте). Еще можно помечтать о синхро-пуске (для этого уже понадобится интерфейс USB, COM не важно, но понадобится) да еще и программа на компьютер, которая будет это реализовывать, но это пока мечты... :) Еще хорошее меню не помешало бы.. Если кто-то сможет хоть в чем-то помочь, помогите плиз, для знатока ведь это проще пареной репы, а я буду еще год мучиться, да так и не домучу.... Заранее спасибо.

0

2

Когда я разрабатывал это устройство, задача стояла отработать программный ШИМ для светодиодов. Эта задача вполне выполнена. И по данной наработке один человек с форума собрал на Меге 128 аж 32 канала! Согласен, что опрос кнопок реализован неудачно, здесь на форуме есть пример, как обойтись без стандартной функции опроса. Пожалуй с этого и надо начинать. По поводу темпа 32 - 999 bpm - с каим шагом он должен быть реализован? И это я так понимаю такты в секунду? Также хотелось бы услышать по поводу самого функционала меню. А вообще то нужно брать и пытаться писать код самому. И уже вместе мы подумаем, как и чем помочь.

0

3

Материал из Википедии — свободной энциклопедии

BPM (англ. beats per minute), Удары в минуту — музыкальный термин, определяющий скорость композиции в целом. BPM - это количество четвёртых нот в минуту, например - BPM 120 означает, что в минуту играется 120 четвёртых нот (следовательно, 2 четверти в секунду, а целая нота звучит две секунды). Таким образом, BPM задаёт длительность звучания целой ноты.
----------------------------------------------------------------------------------------------------------------------------
По поводу опроса кнопок, ок, буду искать на форуме. Что касается остального, это немного познее, так как за все сразу не ухватишься :) а пока что и этих двух проблемм хватит :). Я неплохо (можно сказать :)) знаю вижуал бейсик, но баском это вообще другое: по циклам он мне напоминает си ++, тот что у нас в школе, поэтому пока что смог переделать только рисунок, надпись, добавить эфекты, темп сам пробовал менять, но при изменении логарифмической шкалы, как-то сильно "странно" оно работает. Для всего остального нужно знать коды, функции и как ними пользоваться, хотя бы иметь другой код с примером использования, но далеко не все функции есть в исходнике предлагаемой для устройства прошивки.. Поэтому и решил обратиться за помощью :)

0

4

Посмотри здесь http://ledeffects.net/pages/?id=12
и здесь http://avr.easycoding.org/bascom_lessons/index.htm

0

5

Лично мое мнение, вторая ссылка лучше, в ней более понятнее написано для новичков (теперь я начал понимать почему при числе 300, темп странно работает, ведь переменная Byte может хранить числа от 0 - 255, 300 - уже не катит :) ), но только там далеко не все ссылки доступны, может у Вас есть копия этого сайта со всеми статьями?

0

6

Там по второй ссылке только первая половина статей. Вторую автор пока не перевёл. Но есть англоязычная версия этих материалов, ссылку можно увидеть в анонсе перевода.

0

7

Код:
$regfile = "m8def.dat"                                      'îïðåäåëÿåì êîíòðîëëåð
$crystal = 8000000                                          'âíóòðåííèé ãåíåðàòîð
$lib "lcd4.lbx"                                             'ïîäêëþ÷àåì áèáëèîòåêó ÆÊÈ
$lib "mcsbyte.lbx"
$lib "double.lbx"                                           'ïîäêëþ÷àåì áèáëèîòåêó ôóíêöèé
Config Portd = Output                                       'íàñòðîéêà ïîðòà d íà âûõîä (ñâåòîäèîäû 1-8)
Config Pinc.0 = Input                                       'íàñòðîéêà ïèíà c0 íà âõîä (S1)
Config Pinc.1 = Input                                       'íàñòðîéêà ïèíà c1 íà âõîä (S2)
Config Pinc.2 = Input                                       'íàñòðîéêà ïèíà c2 íà âõîä (S3)
Config Pinc.3 = Input                                       'íàñòðîéêà ïèíà c3 íà âõîä (S4)
Config Pinc.4 = Input                                       'íàñòðîéêà ïèíà c4 íà âõîä (S2)
Config Pinc.5 = Input                                       'íàñòðîéêà ïèíà c5 íà âõîä (S3)
Config Pinb.3 = Input                                       'íàñòðîéêà ïèíà b3 íà âõîä (S4)
Set Portc.0                                                 ' âêëþ÷èòü âíóòðåííèé ïîäòÿãèâàþùèé ðåçèñòîð
Set Portc.1                                                 ' âêëþ÷èòü âíóòðåííèé ïîäòÿãèâàþùèé ðåçèñòîð
Set Portc.2                                                 ' âêëþ÷èòü âíóòðåííèé ïîäòÿãèâàþùèé ðåçèñòîð
Set Portc.3                                                 ' âêëþ÷èòü âíóòðåííèé ïîäòÿãèâàþùèé ðåçèñòîð
Set Portc.4                                                 ' âêëþ÷èòü âíóòðåííèé ïîäòÿãèâàþùèé ðåçèñòîð
Set Portc.5                                                 ' âêëþ÷èòü âíóòðåííèé ïîäòÿãèâàþùèé ðåçèñòîð
Set Portb.1                                                 ' âêëþ÷èòü âíóòðåííèé ïîäòÿãèâàþùèé ðåçèñòîð

Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.2 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7
Config Lcd = 16 * 2

Dim S As Word
Dim Tmpmnozh As Double
Dim Tik As Byte
Dim Shag As Byte
Dim Effect As Byte
Dim Channel As Byte
Dim Lamda As Word
Dim X(8) As Byte
Dim Y(8) As Byte
Dim Temp As Integer
Dim Kl As Byte
Dim N As Byte
Dim Takt As Byte

Dim Line1 As String * 8 , Line1d(8) As Byte At Line1 Overlay
Dim Line2 As String * 8 , Line2d(8) As Byte At Line2 Overlay

Config Timer0 = Timer , Prescale = 1
Enable Timer0
Enable Interrupts
On Timer0 Pwms
Start Timer0

Cursor Off

Y(1) = 255
Y(2) = 255
Y(3) = 255
Y(4) = 255
Y(5) = 255
Y(6) = 255
Y(7) = 255
Y(8) = 255

'               _|_|_|_|_|_|_|_|_|_|_
'              |                     |
'Light ctrlr   |                     |  Áåç îáèä ñ èìåíåì. Ýòî òåñòîâûé âàðèàíò ïðîøèâêè :)
'by Cj Stass   |                     |
'              |_ _ _ _ _ _ _ _ _ _ _|
'                | | | | | | | | | |

Cls
Deflcdchar 0 , 32 , 5 , 5 , 5 , 15 , 8 , 8 , 8              ' 1.1
Deflcdchar 1 , 32 , 21 , 21 , 21 , 31 , 32 , 32 , 32        ' 1.2
Deflcdchar 2 , 32 , 21 , 21 , 21 , 31 , 32 , 32 , 32        ' 1.3
Deflcdchar 3 , 32 , 20 , 20 , 20 , 30 , 2 , 2 , 2           ' 1.4
Deflcdchar 4 , 8 , 8 , 8 , 15 , 5 , 5 , 5 , 32              ' 2.1
Deflcdchar 5 , 32 , 32 , 32 , 31 , 21 , 21 , 21 , 32        ' 2.2
Deflcdchar 6 , 32 , 32 , 32 , 31 , 21 , 21 , 21 , 32        ' 2.3
Deflcdchar 7 , 2 , 2 , 2 , 30 , 20 , 20 , 20 , 32           ' 2.4
Waitms 100
Locate 1 , 1
Lcd "L"
Waitms 100
Locate 1 , 2
Lcd "i"
Waitms 100
Locate 1 , 3
Lcd "g"
Waitms 100
Locate 1 , 4
Lcd "h"
Waitms 100
Locate 1 , 5
Lcd "t"
Waitms 100
Locate 1 , 6
Lcd " "
Locate 1 , 7
Lcd "c"
Waitms 100
Locate 1 , 8
Lcd "t"
Waitms 100
Locate 1 , 9
Lcd "r"
Waitms 100
Locate 1 , 10
Lcd "l"
Waitms 100
Locate 1 , 11
Lcd "r"
Waitms 100

Locate 2 , 1
Lcd "b"
Waitms 100
Locate 2 , 2
Lcd "y"
Waitms 100
Locate 2 , 3
Lcd " "
Locate 2 , 4
Lcd "C"
Waitms 100
Locate 2 , 5
Lcd "j"
Waitms 100
Locate 2 , 6
Lcd " "
Locate 2 , 7
Lcd "S"
Waitms 100
Locate 2 , 8
Lcd "t"
Waitms 100
Locate 2 , 9
Lcd "a"
Waitms 100
Locate 2 , 10
Lcd "s"
Waitms 100
Locate 2 , 11
Lcd "s"
Waitms 300

Locate 1 , 16
Lcd Chr(0)
Locate 2 , 16
Lcd Chr(4)
Waitms 100
Locate 1 , 15
Lcd Chr(0) ; Chr(1)
Locate 2 , 15
Lcd Chr(4) ; Chr(5)
Waitms 100
Locate 1 , 14
Lcd Chr(0) ; Chr(1) ; Chr(2)
Locate 2 , 14
Lcd Chr(4) ; Chr(5) ; Chr(6)
Waitms 100
Locate 1 , 13
Lcd Chr(0) ; Chr(1) ; Chr(2) ; Chr(3)
Locate 2 , 13
Lcd Chr(4) ; Chr(5) ; Chr(6) ; Chr(7)
Waitms 1000

'*******************************************************************
Deflcdchar 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 31
Deflcdchar 2 , 0 , 0 , 0 , 0 , 0 , 0 , 31 , 31
Deflcdchar 3 , 0 , 0 , 0 , 0 , 0 , 31 , 31 , 31
Deflcdchar 4 , 0 , 0 , 0 , 0 , 31 , 31 , 31 , 31
Deflcdchar 5 , 0 , 0 , 0 , 31 , 31 , 31 , 31 , 31
Deflcdchar 6 , 0 , 0 , 31 , 31 , 31 , 31 , 31 , 31
Deflcdchar 7 , 0 , 31 , 31 , 31 , 31 , 31 , 31 , 31
'*******************************************************************
Cls
S = 120
Temp = 500
Effect = 8
N = Effect * 16
N = N - 16
'*******************************************************************
Do
 For Takt = 0 To 15
 Shag = N + Takt
  'îïðîñ êíîïîê
  Debounce Pinc.3 , 0 , Plus_speed , Sub
  Debounce Pinc.1 , 0 , Minus_speed , Sub
  Debounce Pinc.5 , 0 , Plus_effect , Sub
  Debounce Pinc.4 , 0 , Minus_effect , Sub

    'ïîñòðîåíèå ýôôåêòîâ ñîãëàñíî òàáëèöû ýôôåêòîâ
     For Channel = 1 To 8
      Lamda = Shag * 8
      Lamda = Lamda + Channel
      Decr Lamda
      X(channel) = Lookup(lamda , Pwm_led)                  '÷òåíèå çíà÷åíèÿ ÿðêîñòè äëÿ âñåõ 8 êàíàëîâ
            Lamda = X(channel)
      Decr Lamda
      Y(channel) = Lookup(lamda , Pwm_data)                 '÷òåíèå çíà÷åíèé êîíñòàíò äëÿ ØÈÌ
     Next

  Gosub Lcd_disp                                            'ïåðåõîä íà âûâîä èíôîðìàöèè íà ýêðàí
  Waitms Temp                                               'çàäåðæêà äëÿ ðåãóëèðîâêè ñêîðîñòè

 Next
Loop
'***********************************************************************
Plus_speed:
Incr S
If S > 999 Then S = 999
Tmpmnozh = 60 / S
Temp = Tmpmnozh * 1000
Return
'***********************************************************************
Minus_speed:
Decr S
If S < 32 Then S = 32
Tmpmnozh = 60 / S
Temp = Tmpmnozh * 1000
Return
'***********************************************************************
Plus_effect:
If Effect > 10 Then Effect = 10
N = Effect * 16
N = N - 16
Return
'
Minus_effect:                                               'ïðåäûäóùèé ýôôåêò
Decr Effect
If Effect < 1 Then Effect = 1
N = Effect * 16
N = N - 16
Return
'*******************************************************************
Pwms:
Incr Tik
 If Tik = 255 Then
  Tik = 0
  Portd = 0
 End If
   If Tik > Y(1) Then Portd.7 = 1
   If Tik > Y(2) Then Portd.6 = 1
   If Tik > Y(3) Then Portd.5 = 1
   If Tik > Y(4) Then Portd.4 = 1
   If Tik > Y(5) Then Portd.3 = 1
   If Tik > Y(6) Then Portd.2 = 1
   If Tik > Y(7) Then Portd.1 = 1
   If Tik > Y(8) Then Portd.0 = 1
Return
'***********************************************************************
'Âûâîä èíôîðìàöèè íà ýêðàí
Lcd_disp:
'ïñåâäîãðàôèêà
For Kl = 1 To 8
   Line1d(kl) = Lookup(x(kl) , L1)
   Line2d(kl) = Lookup(x(kl) , L2)
Next
Locate 1 , 1
Lcd Line1;
Locate 2 , 1
Lcd Line2;
'òåêñò
Locate 1 , 9
If Effect < 10 Then Lcd " Eff: " ; Effect
If Effect >= 10 Then Lcd " Eff:" ; Effect
Locate 2 , 9
If S < 10 Then Lcd " Tmp: " ; S
If S >= 10 Then Lcd " Tmp:" ; S
Return
'***********************************************************************
'òàáëèöà ïîñòðîåíèÿ ñòóïåíåê - óðîâíåé ÿðêîñòè êàíàëîâ äëÿ äâóõ ñòðîê ýêðàíà
'èç ñèìâîëîâ ïîëüçîâàòåëÿ è ïóñòîãî è çàïîëíåííîãî çíàêîìåñò (32 è 255)
L1:
Data 32 , 32 , 32 , 32 , 32 , 32 , 32 , 32 , 32 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 255
L2:
Data 32 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
'***********************************************************************
'16 ãðàäàöèé ÿðêîñòè: 255 - ìèíèìàëüíàÿ ÿðêîñòü, 0 - ìàêñèìàëüíàÿ.Ëîãàðèôìè÷åñêàÿ øêàëà
Pwm_data:
Data 255 , 253 , 252 , 251 , 249 , 246 , 243 , 238 , 231 , 221 , 208 , 189 , 162 , 125 , 73 , 0
'***********************************************************************
'Òàáëèöà ýôôåêòîâ
Pwm_led:
'Ýôôåêò 1 -
Data 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8
Data 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9
Data 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10
Data 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11
Data 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12
Data 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13
Data 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14
Data 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15
Data 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16
Data 10 , 11 , 12 , 13 , 14 , 15 , 16 , 1
Data 11 , 12 , 13 , 14 , 15 , 16 , 1 , 2
Data 12 , 13 , 14 , 15 , 16 , 1 , 2 , 3
Data 13 , 14 , 15 , 16 , 1 , 2 , 3 , 4
Data 14 , 15 , 16 , 1 , 2 , 3 , 4 , 5
Data 15 , 16 , 1 , 2 , 3 , 4 , 5 , 6
Data 16 , 1 , 2 , 3 , 4 , 5 , 6 , 7
'Ýôôåêò 2 -
Data 16 , 15 , 14 , 13 , 12 , 11 , 10 , 9
Data 15 , 14 , 13 , 12 , 11 , 10 , 9 , 8
Data 14 , 13 , 12 , 11 , 10 , 9 , 8 , 7
Data 13 , 12 , 11 , 10 , 9 , 8 , 7 , 6
Data 12 , 11 , 10 , 9 , 8 , 7 , 6 , 5
Data 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4
Data 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3
Data 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2
Data 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1
Data 7 , 6 , 5 , 4 , 3 , 2 , 1 , 16
Data 6 , 5 , 4 , 3 , 2 , 1 , 16 , 15
Data 5 , 4 , 3 , 2 , 1 , 16 , 15 , 14
Data 4 , 3 , 2 , 1 , 16 , 15 , 14 , 13
Data 3 , 2 , 1 , 16 , 15 , 14 , 13 , 12
Data 2 , 1 , 16 , 15 , 14 , 13 , 12 , 11
Data 1 , 16 , 15 , 14 , 13 , 12 , 11 , 10
'Ýôôåêò 3 -
Data 16 , 1 , 2 , 3 , 4 , 5 , 6 , 7
Data 15 , 16 , 1 , 2 , 3 , 4 , 5 , 6
Data 14 , 15 , 16 , 1 , 2 , 3 , 4 , 5
Data 13 , 14 , 15 , 16 , 1 , 2 , 3 , 4
Data 12 , 13 , 14 , 15 , 16 , 1 , 2 , 3
Data 11 , 12 , 13 , 14 , 15 , 16 , 1 , 2
Data 10 , 11 , 12 , 13 , 14 , 15 , 16 , 1
Data 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16
Data 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15
Data 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14
Data 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13
Data 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12
Data 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11
Data 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10
Data 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9
Data 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8
'Ýôôåêò 4 -
Data 1 , 16 , 15 , 14 , 13 , 12 , 11 , 10
Data 2 , 1 , 16 , 15 , 14 , 13 , 12 , 11
Data 3 , 2 , 1 , 16 , 15 , 14 , 13 , 12
Data 4 , 3 , 2 , 1 , 16 , 15 , 14 , 13
Data 5 , 4 , 3 , 2 , 1 , 16 , 15 , 14
Data 6 , 5 , 4 , 3 , 2 , 1 , 16 , 15
Data 7 , 6 , 5 , 4 , 3 , 2 , 1 , 16
Data 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1
Data 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2
Data 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3
Data 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4
Data 12 , 11 , 10 , 9 , 8 , 7 , 6 , 5
Data 13 , 12 , 11 , 10 , 9 , 8 , 7 , 6
Data 14 , 13 , 12 , 11 , 10 , 9 , 8 , 7
Data 15 , 14 , 13 , 12 , 11 , 10 , 9 , 8
Data 16 , 15 , 14 , 13 , 12 , 11 , 10 , 9
'Ýôôåêò 5 -
Data 1 , 16 , 1 , 16 , 1 , 16 , 1 , 16
Data 2 , 15 , 2 , 15 , 2 , 15 , 2 , 15
Data 3 , 14 , 3 , 14 , 3 , 14 , 3 , 14
Data 4 , 13 , 4 , 13 , 4 , 13 , 4 , 13
Data 5 , 12 , 5 , 12 , 5 , 12 , 5 , 12
Data 6 , 11 , 6 , 11 , 6 , 11 , 6 , 11
Data 7 , 10 , 7 , 10 , 7 , 10 , 7 , 10
Data 8 , 9 , 8 , 9 , 8 , 9 , 8 , 9
Data 9 , 8 , 9 , 8 , 9 , 8 , 9 , 8
Data 10 , 7 , 10 , 7 , 10 , 7 , 10 , 7
Data 11 , 6 , 11 , 6 , 11 , 6 , 11 , 6
Data 12 , 5 , 12 , 5 , 12 , 5 , 12 , 5
Data 13 , 4 , 13 , 4 , 13 , 4 , 13 , 4
Data 14 , 3 , 14 , 3 , 14 , 3 , 14 , 3
Data 15 , 2 , 15 , 2 , 15 , 2 , 15 , 2
Data 16 , 1 , 16 , 1 , 16 , 1 , 16 , 1
'Ýôôåêò 6 -
Data 16 , 1 , 16 , 1 , 16 , 1 , 16 , 1
Data 15 , 2 , 15 , 2 , 15 , 2 , 15 , 2
Data 14 , 3 , 14 , 3 , 14 , 3 , 14 , 3
Data 13 , 4 , 13 , 4 , 13 , 4 , 13 , 4
Data 12 , 5 , 12 , 5 , 12 , 5 , 12 , 5
Data 11 , 6 , 11 , 6 , 11 , 6 , 11 , 6
Data 10 , 7 , 10 , 7 , 10 , 7 , 10 , 7
Data 9 , 8 , 9 , 8 , 9 , 8 , 9 , 8
Data 8 , 9 , 8 , 9 , 8 , 9 , 8 , 9
Data 7 , 10 , 7 , 10 , 7 , 10 , 7 , 10
Data 6 , 11 , 6 , 11 , 6 , 11 , 6 , 11
Data 5 , 12 , 5 , 12 , 5 , 12 , 5 , 12
Data 4 , 13 , 4 , 13 , 4 , 13 , 4 , 13
Data 3 , 14 , 3 , 14 , 3 , 14 , 3 , 14
Data 2 , 15 , 2 , 15 , 2 , 15 , 2 , 15
Data 1 , 16 , 1 , 16 , 1 , 16 , 1 , 16
'Ýôôåêò 7 -
Data 1 , 3 , 5 , 7 , 7 , 5 , 3 , 1
Data 3 , 5 , 7 , 9 , 9 , 7 , 5 , 3
Data 5 , 7 , 9 , 11 , 11 , 9 , 7 , 5
Data 7 , 9 , 11 , 13 , 13 , 11 , 9 , 7
Data 9 , 11 , 13 , 15 , 15 , 13 , 11 , 9
Data 11 , 13 , 15 , 15 , 15 , 15 , 13 , 11
Data 13 , 15 , 15 , 15 , 15 , 15 , 15 , 13
Data 15 , 15 , 15 , 15 , 15 , 15 , 15 , 15
Data 15 , 15 , 15 , 13 , 13 , 15 , 15 , 15
Data 15 , 15 , 13 , 11 , 11 , 13 , 15 , 15
Data 15 , 13 , 11 , 9 , 9 , 11 , 13 , 15
Data 13 , 11 , 9 , 7 , 7 , 9 , 11 , 13
Data 11 , 9 , 7 , 5 , 5 , 7 , 9 , 11
Data 9 , 7 , 5 , 3 , 3 , 5 , 7 , 9
Data 7 , 5 , 3 , 1 , 1 , 3 , 5 , 7
Data 5 , 3 , 1 , 1 , 1 , 1 , 3 , 5
'Ýôôåêò 8 -
Data 1 , 5 , 9 , 13 , 1 , 5 , 9 , 13
Data 2 , 6 , 10 , 14 , 2 , 6 , 10 , 14
Data 3 , 7 , 11 , 15 , 3 , 7 , 11 , 15
Data 4 , 8 , 12 , 16 , 4 , 8 , 12 , 16
Data 5 , 9 , 13 , 16 , 5 , 9 , 13 , 16
Data 6 , 10 , 14 , 15 , 6 , 10 , 14 , 15
Data 7 , 11 , 15 , 14 , 7 , 11 , 15 , 14
Data 8 , 12 , 16 , 13 , 8 , 12 , 16 , 13
Data 9 , 13 , 16 , 12 , 9 , 13 , 16 , 12
Data 10 , 14 , 15 , 11 , 10 , 14 , 15 , 11
Data 11 , 15 , 14 , 10 , 11 , 15 , 14 , 10
Data 12 , 16 , 13 , 9 , 12 , 16 , 13 , 9
Data 13 , 16 , 12 , 8 , 13 , 16 , 12 , 8
Data 14 , 15 , 11 , 7 , 14 , 15 , 11 , 7
Data 15 , 14 , 10 , 6 , 15 , 14 , 10 , 6
Data 16 , 13 , 9 , 5 , 16 , 13 , 9 , 5
'Ýôôåêò 9 -
Data 16 , 14 , 12 , 10 , 8 , 6 , 4 , 2
Data 14 , 12 , 10 , 8 , 6 , 4 , 2 , 16
Data 12 , 10 , 8 , 6 , 4 , 2 , 16 , 14
Data 10 , 8 , 6 , 4 , 2 , 16 , 14 , 12
Data 8 , 6 , 4 , 2 , 16 , 14 , 12 , 10
Data 6 , 4 , 2 , 16 , 14 , 12 , 10 , 8
Data 4 , 2 , 16 , 14 , 12 , 10 , 8 , 6
Data 2 , 16 , 14 , 12 , 10 , 8 , 6 , 4
Data 16 , 14 , 12 , 10 , 8 , 6 , 4 , 2
Data 14 , 12 , 10 , 8 , 6 , 4 , 2 , 16
Data 12 , 10 , 8 , 6 , 4 , 2 , 16 , 14
Data 10 , 8 , 6 , 4 , 2 , 16 , 14 , 12
Data 8 , 6 , 4 , 2 , 16 , 14 , 12 , 10
Data 6 , 4 , 2 , 16 , 14 , 12 , 10 , 8
Data 4 , 2 , 16 , 14 , 12 , 10 , 8 , 6
Data 2 , 16 , 14 , 12 , 10 , 8 , 6 , 4
'Ýôôåêò 10 -
Data 16 , 16 , 16 , 16 , 16 , 16 , 16 , 16
Data 14 , 14 , 14 , 14 , 14 , 14 , 14 , 14
Data 12 , 12 , 12 , 12 , 12 , 12 , 12 , 12
Data 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10
Data 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8
Data 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6
Data 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4
Data 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2
Data 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1
Data 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2
Data 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4
Data 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6
Data 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8
Data 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10
Data 12 , 12 , 12 , 12 , 12 , 12 , 12 , 12
Data 14 , 14 , 14 , 14 , 14 , 14 , 14 , 14

Вот, переделал немного Ваш код под BPM, зарание извините, что написал "by Cj Stass" :) Только ошибку выводит "Label not found _PRINTSDECW", никак не пойму в чем проблемма! И еще: код для нормального опроса кнопок я не нашел, киньте плиз ссылку на эту страницу. С ув. Стас.

Отредактировано Stass (2009-04-04 21:41:53)

0

8

Убрал:

$lib "mcsbyte.lbx"
$lib "double.lbx"

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

0

9

Вообщем просидел весь вечер, ничего не работает, темп не совпадает...цифры считаются в псевдо случайном порядке, не знаю что делать... фузы, вроде выставил как надо: под понипрог: CKSEL3 - есть галка, CKSEL2 - нету галки, CKSEL1 - есть, CKSEL0 - есть.

Отредактировано Stass (2009-04-04 23:28:51)

0

10

1. Попробуй измени тип переменной TEMP на WORD.
2. Код обработки клавиш нужно вынести в подпрограмму прерывания на таймер 1. Настроить таймер1 по аналогии с таймером 0 например, с частотой 5 прерываний в секунду.
Тогда скорость сканирования клавиш не будет зависеть от времени пауз между тактами эффекта.

0

11

Не знаю, переставил тип, но это ничего не дало. Там песчет темпа вообще не происходит. А со 120 при нажатии на кнопку "прибавить темп" вместо 121 иногда может высветить даже 11, но при этом скорость мигания не меняется.. Я, конечно сам буду думать, но может и у Вас найдется время немного на устройство у Вас ведь стаж работы с баском большой, а у меня только пару битых месяцов. Гораздо лучше будет если дать другим новичкам готовую прошивку. Итак, будем держать хвост пистолетом и да воздастся нам!!! :)

0


Вы здесь » Программирование ATMEL в BASCOM. » Световые эффекты » Светодиодный диммер