Задание№3-1 — различия между версиями

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
 
(не показаны 4 промежуточные версии 3 участников)
Строка 1: Строка 1:
 +
[[Категория:МиниБот]]
 +
Сигнальный провод сервы подключен к ножке МК B.0
 +
 
<source lang="vb">
 
<source lang="vb">
 
$prog &HFF , &HE4 , &HD9 , &H00      'указываем какие фусибиты надо прошить
 
$prog &HFF , &HE4 , &HD9 , &H00      'указываем какие фусибиты надо прошить
 
$regfile = "m32def.dat"      ' файл спецификации Меги32
 
$regfile = "m32def.dat"      ' файл спецификации Меги32
 
$crystal = 8000000      ' указываем на какой частоте будем работать
 
$crystal = 8000000      ' указываем на какой частоте будем работать
 
+
$baud = 2400      ' указываем частоту дла usart (теперь нужно только для отладки программы)
 +
 
'----------------------------------------------------------------------------
 
'----------------------------------------------------------------------------
 
Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
 
Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
 
Config Pinc.2 = Output : Drl Alias Portc.2      'ногу сконфигурировали как выход и обозвали Drl
 
Config Pinc.2 = Output : Drl Alias Portc.2      'ногу сконфигурировали как выход и обозвали Drl
 
Config Pinc.3 = Output : Drr Alias Portc.3      'ногу сконфигурировали как выход и обозвали Drr
 
Config Pinc.3 = Output : Drr Alias Portc.3      'ногу сконфигурировали как выход и обозвали Drr
Config Pind.4 = Output      'ногу ШИМа левого движка сконфигурировали как выход
+
Config Pind.4 = Output      'ногу ШИМа левого движка сконфигурировали как выход
Config Pind.5 = Output                                     'ногу ШИМа правого движка сконфигурировали как выход
+
Config Pind.5 = Output       'ногу ШИМа правого движка сконфигурировали как выход
Config Pinb.0 = Output
 
 
'----------------------------------------------------------------------------
 
'----------------------------------------------------------------------------
 
Declare Sub Povorot(byval Gradus As Byte)
 
Declare Sub Povorot(byval Gradus As Byte)
Строка 17: Строка 20:
 
   Call Povorot(30)
 
   Call Povorot(30)
 
Loop
 
Loop
 +
  
 
Sub Povorot(byval Gradus As Byte)
 
Sub Povorot(byval Gradus As Byte)
 
Local A As Byte
 
Local A As Byte
 +
Local Temp As Word
 +
  Temp = Gradus / 10
 
   Portb.0 = 1
 
   Portb.0 = 1
   For A = 1 To Gradus
+
  Waitus 500
       Waitus 100
+
   For A = 1 To Temp
 +
       Waitus 111
 
   Next
 
   Next
   portb.0=1
+
   portb.0 = 0
 
   Waitus 18000
 
   Waitus 18000
 
End Sub
 
End Sub
 +
 
</source>
 
</source>

Текущая версия на 13:49, 28 марта 2009

Сигнальный провод сервы подключен к ножке МК B.0

<source lang="vb"> $prog &HFF , &HE4 , &HD9 , &H00 'указываем какие фусибиты надо прошить $regfile = "m32def.dat" ' файл спецификации Меги32 $crystal = 8000000 ' указываем на какой частоте будем работать $baud = 2400 ' указываем частоту дла usart (теперь нужно только для отладки программы)

'---------------------------------------------------------------------------- Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down Config Pinc.2 = Output : Drl Alias Portc.2 'ногу сконфигурировали как выход и обозвали Drl Config Pinc.3 = Output : Drr Alias Portc.3 'ногу сконфигурировали как выход и обозвали Drr Config Pind.4 = Output 'ногу ШИМа левого движка сконфигурировали как выход Config Pind.5 = Output 'ногу ШИМа правого движка сконфигурировали как выход '---------------------------------------------------------------------------- Declare Sub Povorot(byval Gradus As Byte)

Do

  Call Povorot(30)

Loop


Sub Povorot(byval Gradus As Byte) Local A As Byte Local Temp As Word

  Temp = Gradus / 10
  Portb.0 = 1
  Waitus 500
  For A = 1 To Temp
     Waitus 111
  Next
  portb.0 = 0
  Waitus 18000

End Sub

</source>