roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 07:28

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: ПомоЩЪ =)
СообщениеДобавлено: 14 ноя 2006, 14:17 
Не в сети

Зарегистрирован: 21 окт 2006, 23:02
Сообщения: 5
Откуда: С планеты Татуин =)
Господа! Я новичоГ  :) , решил собрать простого робота по схеме в журнале радио. Все детали есть , вот только МК у меня не AT90S2313-10PI , а ATmega16-16PU , леплю ножку в ножку  :D  , вот только AVR123 предупредил что регистры могут не подойти  :( . Прошу Вас
помоч мне по написанию програмки или переделки родной (в "радио" , написанна на бэйесике) на Си ... Посвещение меня в новых конструктивных идеях поддерживается !!! :wink:  :)
ЗЫ Читал курс.. (многое вылетело.. :( ) , но в си так и не разобралсА....


Вложения:
2.gif
2.gif [ 122.55 КиБ | Просмотров: 1913 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 14 ноя 2006, 14:37 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
тогда вам нужно взять БЭЙСИК который указан в статье и откомпилить в нем прогу чтоб убедится что все ОК.

затем заменить хидер - XXXXdef.dat - на тот что для Меги16 и возможно в свойствах проекта указать мегу16 и снова компилировать.

если будут ошибки то смотреть в чем дело.


Последний раз редактировалось avr123.nm.ru 14 ноя 2006, 14:41, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 14 ноя 2006, 14:40 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Если вы выложите тут ТЕКСТ программы (скачав на сайте РАДИО)  то думаю вам быстрей помогут.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 14 ноя 2006, 23:01 
Не в сети

Зарегистрирован: 21 окт 2006, 23:02
Сообщения: 5
Откуда: С планеты Татуин =)
Воть.  :D

$crystal = 4000000            'Частота кварца ZQ1, Гц
$regfile = "2313def.dat"      'Подключаем описание МК
$lib "mcsbyte.lbx"            'Подключаем библиотеку функций
Config Rc5 = Pind.0           'PD0 - вход RC-5
Config Pinb.7 = Output        'PB7 - выход
Config Pinb.6 = Input         'PB6 - вход
Config Pinb.5 = Input         'PB5 - вход
Config Pinb.4 = Output        'PB4 - выход
Config Pinb.3 = Output        'PB3 - выход
Config Pinb.2 = Output        'PB2 - выход
Config Pinb.1 = Output        'PB1 - выход
Config Pinb.0 = Output        'PB0 - выход
Config Pind.6 = Output        'PD6 - выход
Dim Address As Byte           'Объявляем переменные
Dim Command As Byte
Dim A As Byte
Enable Interrupts             'Разрешаем прерывания
Set Portb.0                   'Включаем HL1
Waitms 100                    'и через 100 мс
Reset Portb.0                 'выключаем его.
Sound Portd.6 , 50 , 800      'Подаем зв.сигнал
1:                            'Основной цикл программы
Do
Debounce Pinb.5 , 0 , Prl     'Сработал SF2 -> на Prl
Debounce Pinb.6 , 0 , Prr     'Сработал SF1 -> на Prr
Getrc5(address , Command)     'Прием команды ПДУ
If Address = 0 Then           'Затем – ее выполнение
Command = Command And &B01111111
If Command = 12 Then         'Выключаем все (клавиша ОN-OFF)
For A = 0 To 7
 Reset Portb.a : Reset Portd.a
Next A
End If
If Command = 2 Then          'Малый вперед (клавиша 2)
 Set Portb.4 : Set Portb.1   'Включаем М1, М2 вперед
 Waitms 45                   'и через 45 мс выключаем
 Reset Portb.4 : Reset Portb.1
End If
If Command = 6 Then          'Малый назад (клавиша 6)
 Set Portb.2 : Set Portb.3   'Включаем М1, М2 назад
 Waitms 45                   'и через 45 мс выключаем
Reset Portb.2 : Reset Portb.3
End If
If Command = 7 Then          'Направо (клавиша 7)
 Set Portb.4 : Set Portb.2   'Включаем M1 назад, М2 вперед
 Waitms 45                   'и через 45 мс выключаем
 Reset Portb.4 : Reset Portb.2
End If
If Command = 5 Then          'Налево (клавиша 5)
 Set Portb.3 : Set Portb.1   'Включаем М1 вперед, М2 назад
 Waitms 45                   'и через 45 мс выключаем
 Reset Portb.3 : Reset Portb.1
End If
If Command = 32 Then         'Средний вперед (клавиша P+)
 Set Portb.4 : Set Portb.1   'Включаем М1, М2 вперед
 Waitms 180                  'и через 180 мс выключаем
 Reset Portb.4 : Reset Portb.1
 Set Portb.2 : Set Portb.3   'Тормозим в течение 20 мс
 Waitms 20
Reset Portb.2 : Reset Portb.3
End If
If Command = 33 Then         'Средний назад (клавиша P-)
 Set Portb.2 : Set Portb.3   'Включаем М1, М2 назад
 Waitms 180                  'и через 180 мс выключаем
 Reset Portb.2 : Reset Portb.3
 Set Portb.4 : Set Portb.1   'Тормозим в течение 20 мс
 Waitms 20
 Reset Portb.4 : Reset Portb.1
End If
If Command = 16 Then         'Резко направо (клавиша VOL+)
 Set Portb.4 : Set Portb.2   'Включаем M1 назад, М2 вперед
 Waitms 80                   'и через 80 мс выключаем
 Reset Portb.4 : Reset Portb.2
 Set Portb.3 : Set Portb.1   'Тормозим в течение 20 мс
 Waitms 20
 Reset Portb.3 : Reset Portb.1
End If
If Command = 17 Then         'Резко налево (клавиша VOL-)
 Set Portb.3 : Set Portb.1   'Включаем M1 назад, М2 вперед
 Waitms 80                   'и через 80 мс выключаем
 Reset Portb.3 : Reset Portb.1
Set Portb.4 : Set Portb.2    'Тормозим в течение 20 мс
Waitms 20
Reset Portb.4 : Reset Portb.2
End If
If Command = 4 Then          'Полный вперед (клавиша 4)
 Set Portb.4 : Set Portb.1   'Включаем М1, М2 вперед
 Waitms 250                  'и через 250 мс выключаем
 Reset Portb.4 : Reset Portb.1
End If
If Command = 8 Then          'Полный назад (клавиша 8)
 Set Portb.2 : Set Portb.3   'Включаем М1, М2 назад
 Waitms 250                  'и через 250 мс выключаем
 Reset Portb.2 : Reset Portb.3
End If
If Command = 1 Then          'Включить М3 (клавиша 1)
 Set Portb.7
End If
If Command = 9 Then          'Выключить М3 (клавиша 9)
 Reset Portb.7
End If
If Command = 3 Then          'Включить HL1 (клавиша 3)
Set Portb.0
End If
If Command = 10 Then         'Выключить HL1 (клавиша -/--)
 Reset Portb.0
End If
If Command = 13 Then         'Звуковой сигнал (клавиша MUTE)
Sound Portd.6 , 300 , 600
End If
If Command = 0 Then          'Демонстрация (клавиша 0)
 Sound Portd.6 , 300 , 600   'Подаем звуковой сигнал
 Set Portb.0 : Set Portb.7   'Включаем HL1 и M3
 Waitms 500
 Reset Portb.7               'Через 500 мс выключаем M3
 Set Portb.3 : Set Portb.1
 Waitms 1000                 'и 1000 мс поворачиваем налево
 Reset Portb.3 : Reset Portb.1 : Set Portb.4 : Set Portb.2
 Waitms 1000                 ' еще 1000 мс поворота направо
 Reset Portb.4 : Reset Portb.2 : Set Portb.4 : Set Portb.1
 Waitms 300                  '300 мс вперед
 Reset Portb.4 : Reset Portb.1 : Set Portb.2 : Set Portb.3
 Waitms 300                  '300 мс назад
 Reset Portb.2 : Reset Portb.3 : Set Portb.4 : Set Portb.1
 Waitms 300                  'Еще 300 мс вперед
 Reset Portb.4 : Reset Portb.1 : Set Portb.2 : Set Portb.3
 Waitms 300                  'и 300 мс назад.
 Reset Portb.2 : Reset Portb.3
 Reset Portb.0               'Выключаем HL1
 Sound Portd.6 , 200 , 600   'Подаем звуковой сигнал
End If
End If
Loop                          'Конец основного цикла
Prl:                          'После срабатывания SF2
Set Portb.2 : Set Portb.3     '200 мс движемся назад
Waitms 200
Reset Portb.2 : Reset Portb.3
Waitms 50                     'Через 50 мс подаем зв. сигнал
Sound Portd.6 , 70 , 800
Waitms 40                     'и еще через 40 мс поворачиваем
Set Portb.3 : Set Portb.1     'налево в течение 100 мс
Waitms 100
Reset Portb.3 : Reset Portb.1
Goto 1                        'К началу основного цикла
Prr:                          'После срабатывания SF1
Set Portb.2 : Set Portb.3     '200 мс движемся назад
Waitms 200
Reset Portb.2 : Reset Portb.3
Waitms 50                     'Через 50 мс подаем зв. сигнал
Sound Portd.6 , 70 , 800
Waitms 40                     'и еще через 40 мс поворачиваем
Set Portb.4 : Set Portb.2     'направо в течение 100 мс
Waitms 100
Reset Portb.4 : Reset Portb.2
Goto 1                        'К началу основного цикла
End


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 ноя 2006, 01:25 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
вот начал на Си переписывать.  попробуй продолжить, может кто еще подключится.


Вложения:
m16.rar [2.83 КиБ]
Скачиваний: 55
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO