РАДИОСХЕМЫ



СТАРЫЙ ФОРУМ

Форум на ЭЛВО


РАДИОФОРУМЫ


СХЕМЫ И СТАТЬИ



  • Страница 1 из 1
  • 1
Архив - только для чтения
RGB светодиод и Световод
Сообщение # 1        
filin3303
аватар
  Постов: 133   ОК 

Добавлено (02.02.2019, 01:16)
---------------------------------------------

Код

'ПРОГРАММА НА BASCOM-------------------------------------------------------------------------------
$regfile = "ATtiny25.dat"                    ' тип процессора
$crystal = 16384000                    ' частота кварца

'-------------------------------------------------------------------------------
' соответствие электрических цепей выводам портов
'-------------------------------------------------------------------------------

'-------------------------------------------------------------------------------
' переменные
'----------------------------------------------------------------------
Dim A As Byte

Dim B As Byte
Dim C As Byte

Dim D As Byte

Dim E As Byte

Dim F As Bit

Dim T As Byte

'===============================================================================
' начало программы
'-------------------------------------------------------------------------------

Configmodule:
  'настройка портов ввода/вывода
                    ' направление
      Ddrb = &B00010011                    '
                    '
                    '  1 где шим
                    ' начальное значение
    '  Portb = &B00000011                    ' (подтягивание)

    Tccr1 = &B00000001
    Gtccr = &B01100000

    Tccr0a = &B10100011
    Tccr0b = &B00000001

'78 элементов ШИМ

A = 10
B = 10
C = 250

E = 1
D = 1

Set F

    'Config Watchdog = 16

    On Timer0 Timer0_int

    Enable Interrupts
    Enable Timer0
                    ' разрешить работу прерываний
    'Start Watchdog

' загрузка конфигурации
Loadconfig:

' основной цикл программы
Main:

'If F = 1 Then Reset Watchdog

'If A > 250 Then Reset F
'If B > 250 Then Reset F
'If C > 250 Then Reset F
If D > 3 Then D = 1

Goto Main

Timer0_int:
   Disable Interrupts

   Incr T

   If T > 200 Then
   T = 0

   Ocr0a = A                    '  фаза B канал
   Ocr0b = B                    '  фаза A канал
   Ocr1b = C                    '  фаза С канал

   Select Case D
        Case 1 : If A > 250 Then
            E = 2
            C = 10
            End If

        Case 2 : If B > 250 Then
            E = 3
            A = 10
            End If

        Case 3 : If C > 250 Then
             E = 1
             B = 10
             End If

        'Case 4 : If B = 255 Then E = 5
        'Case 5 : If C = 255 Then E = 6
        'Case 6 : If A = 0 Then E = 1
    End Select

   D = E
   Select Case D

        Case 1 : Incr A
                B = 10
                 Decr C

        Case 2 : Decr A
                 Incr B
                  C = 10

        Case 3 : A = 10
                 Decr B
                 Incr C

    End Select
   End If

Enable Interrupts
Enable Timer0
Return
Сообщение # 2        
valeriy-jahin
аватар
  Постов: 5   Х 
Очень интересная схема, надо как то будет попробовать сделать что то подобное book
  • Страница 1 из 1
  • 1
Поиск:

Внимание! Форум переехал на Tehnodium.ru



© 2010-2022 "Форум Радиосхемы". All Rights Reserved  Почта  PDA