Skyline писал(а):Krish писал(а):А можете посоветовать программатор которым вы пользуетесь, который 100% рабочии
А чем тебя твой прогер не устраивает? Ты же вроде как даже, прошивал им уже!
Я боюсь им спалить порт LPT )) интересно просто чем вы пользуетесь.
Ладно, приступим.
Robotsspace.ucoz.ru
' Автор: Space
' Servo one (c) 2008
$regfile = "m8def.dat" ' используем ATmega8
$crystal = 16000000 ' частота установленного кварца 16 mHz
Config Servos = 1 , Servo1 = Portd.2 , Reload = 11 ' Указываем кол-во серв, присваеваем имя Servo1 порту PD2, указываем длину импульса.
Config Portd.2 = Output ' конфигурируем вывод 2 порта D на ВЫХОД
Dim Minimum As Byte
Dim Maximum As Byte
Dim X As Integer
Dim Center As Byte
' берём серву, которая вращается на 180 градусов, если будете брать другую, то придётся изменить длину импульса и мак. и мин. градусы.
Minimum = 90 ' минимальный разворот сервопривода в градусах
Maximum = 180 ' максимальный разворот сервопривода в градусах
Const Wait1 = 500 ' задержка в мс.
Center = Maximum - Minimum ' считаем под каким углом будет центр у сервопривод
' в моём случае это 90 (180-90=90) градусов.
Const Top = 45 ' постоянная для изменения положения вала сервопривода.
Enable Interrupts
' ниже надо найти неизвестную то есть X. Распишу только начало: X = Center - Top. Center = Maximum - Minimum. Top=45
' Center = 180 - 90. Center=90. X = 90 - 45. X = 45. Это значение подставляется в строчку Servo(1) = X.
' И с центра вал поварачивается на 45 градусов. После идёт сумма тех же значений и вал возвращается в прежнее положение
' то есть под угол 90 градусов.
Do ' начало цикла программы
X = Center - Top
Servo(1) = X
X = Center + Top
Waitms Wait1
Servo(1) = Center
X = Center
Waitms Wait1
X = Center + Top
Servo(1) = X
X = Center - Top
Waitms Wait1
Servo(1) = Center
X = Center
Waitms Wait1
Loop
End
Вот прога, скажите что не так, если будет ошибка скажите плиз. Порт у меня portD2, кварц 16 mhz. серва TowerPro GP5010.
Добавлено спустя 11 минут 31 секунду:И вот ещё вопрос, как переводится .hex в формат .c а то не как не могу (