[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Наш сайт » Статьи » Робот с управлением по RC5
Робот с управлением по RC5
SpaceДата: Пятница, 02.09.2011, 17:14 | Сообщение # 1
Администратор
Язык программированя: BascomAVR
Группа: Администраторы
Сообщений: 327
Репутация: 8
Статус: Offline
Видео работы:



Статья

Код программы:
Code
'*******************************************************************************
' Автор: Space                    *
' Сайт: www.enore.ucoz.ru                    *
' Дата начала:  28.06.2011 г.                    *
' CPU:  ATmega32                    *
' Тактовая частота:  16000000  Hz                    *
' Компилятор: BASCOM-AVR 1.11.9.0                    *
'*******************************************************************************
' Программируемые Fuse:
' BOOTSZ0, BOOTSZ1
' CKORT
' SPIEN
' SUT0
'*******************************************************************************

'***************************Тип_микроконтроллера**  ******************************
$regfile = "m32def.dat"                    ' файл спецификации Меги32
$crystal = 16000000                    ' указываем на какой частоте будем работать
'********************************Порты******************************************
Config Pina.1 = Output : Пн Alias Porta.1                   'ногу сконфигурировали как выход и обозвали пн(правый_назад)
Config Pina.2 = Output : Пв Alias Porta.2                   'ногу сконфигурировали как выход и обозвали пв(правый_вперёд)
Config Pina.3 = Output : Лн Alias Porta.3                   'ногу сконфигурировали как выход и обозвали лн(левый_назад)
Config Pina.4 = Output : Лв Alias Porta.4                   'ногу сконфигурировали как выход и обозвали лв(левый_вперёд)
Config Rc5 = Pind.2
'*******************************************************************************
'*******************************Прерывания********  *****************************
Enable Interrupts
'******************************Переменные***************************************
'*********************************Byte********  **********************************
Dim Address As Byte
Dim Command As Byte
'************************Оcновной_цикл_программы********************************
Do
      Gosub Прием_rc5
      Gosub Команды
Loop
'******************************Подпрограммы*************************************
Команды:
If Command = 32 Then : Gosub Прямо
Elseif Command = 33 Then : Gosub Назад
Elseif Command = 17 Then : Gosub Влево
Elseif Command = 16 Then : Gosub Вправо
Else : Gosub Стоп : End If
Return
'*******************************************************************************
Прием_rc5:
      Getrc5(address , Command)
      If Address <> 255 And Command <> 255 Then
         Command = Command And &B01111111
      End If
Return
'*******************************************************************************
Влево:
      Пн = 0 : Пв = 1
      Лн = 1 : Лв = 0
Return
'*******************************************************************************
Вправо:
      Пн = 1 : Пв = 0
      Лн = 0 : Лв = 1
Return
'*******************************************************************************
Прямо:
      Пн = 0 : Пв = 1
      Лн = 0 : Лв = 1
Return
'*******************************************************************************
Назад:
      Пн = 1 : Пв = 0
      Лн = 1 : Лв = 0
Return
'*******************************************************************************
Стоп:
      Пн = 0 : Пв = 0
      Лн = 0 : Лв = 0
Return
'*******************************************************************************
End
'*****************************************  **************************************


P.S. Питание идёт 9 вольт, от паяльной станции, лениво было заряжать аккумулятор pardon


Форум » Наш сайт » Статьи » Робот с управлением по RC5
  • Страница 1 из 1
  • 1
Поиск: