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

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
(Новая: $prog &HFF , &HE4 , &HD9 , &H00 'óêàçûâàåì êàêèå ôóñèáèòû íàäî ïðîøèòü $regfile = "m32def.dat" ' ôàéë ñïåöèôèêàöèè Ìåãè32...)
 
 
(не показано 9 промежуточных версий 3 участников)
Строка 1: Строка 1:
$prog &HFF , &HE4 , &HD9 , &H00      'óêàçûâàåì êàêèå ôóñèáèòû íàäî ïðîøèòü
+
[[Категория:МиниБот]]
$regfile = "m32def.dat"      ' ôàéë ñïåöèôèêàöèè Ìåãè32
+
Сигнальный провод сервы подключен к ножке МК B.0
$crystal = 8000000      ' óêàçûâàåì íà êàêîé ÷àñòîòå áóäåì ðàáîòàòü
 
  
 +
<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 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)
  
 
Do
 
Do
 
   Call Povorot(30)
 
   Call Povorot(30)
 
 
Loop
 
Loop
  
Строка 23: Строка 24:
 
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>

Текущая версия на 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>