Цикл
|
|
Ruber | Дата: Пятница, 27.12.2013, 22:06 | Сообщение # 1 |
Группа: Проверенные
Сообщений: 14
Статус: Offline
| Мне нужно менять значение например шима. от 0 до 255. как это сделать?
|
|
| |
max | Дата: Пятница, 27.12.2013, 23:02 | Сообщение # 2 |
Группа: Друзья
Сообщений: 170
Статус: Offline
| Этот код будет плавно зажигать и гасить светодиод:Код $regfile = "m8def.dat" $crystal = 8000000
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1
Dim A As Byte
Do
For A = 0 To 255 Pwm1a = A Waitms 15Next A
For A = 255 To 0 Step -1 Pwm1a = A Waitms 15 Next A
Loop
End Увеличивая значение Pwm1a увеличиваем яркость светодиода и наоборот.
|
|
| |
Ruber | Дата: Пятница, 27.12.2013, 23:35 | Сообщение # 3 |
Группа: Проверенные
Сообщений: 14
Статус: Offline
| Огромное вам спасибо! :3
|
|
| |
kip96 | Дата: Суббота, 28.12.2013, 11:10 | Сообщение # 4 |
Группа: Свой человек
Сообщений: 170
Статус: Offline
| Код Config Timer0 = Timer , Prescale = 8 , Clear Timer = 0 ' конфигурируем таймер индикации On Oc0a Dimmer_b ' прерывание регулировки яркости индикатора 'On Oc0b Dimmer_c On Ovf0 Refresh ' метка на прерывание индикации Config Portb.1 = Output : Bri Alias Portb.1 Enable Interrupts ' разрешаем прерывания 'Enable Oc0a Enable Oc0b' по СОВПАДЕНИЮ Enable Ovf0 ' и по ПЕРЕПОЛНЕНИЮ ------- ------- Dimmer_b: Reset Bri Return
Refresh: Set Bri Return На заметку. Если сделат при помощи таймера шим, програмно, то можно подат шим на любую ногу. забыл:-) ьььььь
Сообщение отредактировал kip96 - Суббота, 28.12.2013, 11:11 |
|
| |
Ruber | Дата: Суббота, 28.12.2013, 11:31 | Сообщение # 5 |
Группа: Проверенные
Сообщений: 14
Статус: Offline
| Цитата kip96 ( ) На заметку. Если сделат при помощи таймера шим, програмно, то можно подат шим на любую ногу.забыл:-) ьььььь И вам спасибо! =) Буду экспериментировать)))))
|
|
| |
Ruber | Дата: Суббота, 28.12.2013, 12:46 | Сообщение # 6 |
Группа: Проверенные
Сообщений: 14
Статус: Offline
| Еще вопрос не по теме. А как кнопкой перелистывать режимы. Ну например надо перелистывать светодиоды штук 6 одной кнопкой, по очереди.
Сообщение отредактировал Ruber - Суббота, 28.12.2013, 12:47 |
|
| |
Ruber | Дата: Суббота, 28.12.2013, 17:13 | Сообщение # 7 |
Группа: Проверенные
Сообщений: 14
Статус: Offline
| Хотя не нужно=) Буду управлять пультом. Всем спасибо=)
|
|
| |
Ruber | Дата: Суббота, 28.12.2013, 21:58 | Сообщение # 8 |
Группа: Проверенные
Сообщений: 14
Статус: Offline
| А как нужно чтобы 2 шима выполнялись вместе?
For A = 0 to 255 for n = 0 to 20 pwm1a = a pwm1b = b next a next n
так не выходит( сначало постепенно набирает pwm1a потом pwm1b (
Сообщение отредактировал Ruber - Суббота, 28.12.2013, 22:23 |
|
| |
max | Дата: Суббота, 28.12.2013, 23:22 | Сообщение # 9 |
Группа: Друзья
Сообщений: 170
Статус: Offline
| Достаточно так: Код For A = 0 To 255 Pwm1a = A Pwm1b = A Waitms 15 Next A
|
|
| |
kip96 | Дата: Воскресенье, 29.12.2013, 20:34 | Сообщение # 10 |
Группа: Свой человек
Сообщений: 170
Статус: Offline
| Ruber, всё зависит от Вашей задачи . Думаю контроллер тоже не понял Вас. Для чего переменная n? Для чего её "циклить" и какую функцию она вообще несёт? Почему pwm1b набирает, если переменная b вообще ни как не изменяется?
|
|
| |
Ruber | Дата: Воскресенье, 29.12.2013, 21:04 | Сообщение # 11 |
Группа: Проверенные
Сообщений: 14
Статус: Offline
| Цитата kip96 ( ) Ruber, всё зависит от Вашей задачи . Думаю контроллер тоже не понял Вас.Для чего переменная n? Для чего её "циклить" и какую функцию она вообще несёт? Почему pwm1b набирает, если переменная b вообще ни как не изменяется? B и N на клаве рядом. я просто ошибся =)
|
|
| |
Ruber | Дата: Воскресенье, 29.12.2013, 21:14 | Сообщение # 12 |
Группа: Проверенные
Сообщений: 14
Статус: Offline
| Цитата max ( ) Достаточно так: Но мне нужны разные значения для шимов.
|
|
| |