Главная » Статьи » Программирование » Программирование в BascomAVR |
Управляем моторами с помощью L293D
На нашем контроллере есть микросхема L293D, вот её та мы сейчас и
задействуем. Подключим один мотор к ней на выводы M1. In1 на PD2, In2 на
PD3 и En1 на PD4. При таком подключение мы сможем управлять скоростью
моторов, если это не требуется, то вывод En1 нужно подключить на +5
вольт. Пишем программу:
Code $regfile = "m16def.dat" ' файл спецификации Меги16 $crystal = 16000000 ' указываем на какой частоте будем работать '---------------------------------------------------------------------------- Config Timer1 = Pwm , Pwm = 8 , Prescale = 256 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down Config Pind.2 = Output : R Alias Portd.2 'ногу сконфигурировали как выход и обозвали R Config Pind.3 = Output : L Alias Portd.3 'ногу сконфигурировали как выход и обозвали L Config Pind.4 = Output 'ногу ШИМа сконфигурировали как выход '---------------------------------------------------------------------------- Dim Speed As Byte Speed = 80 ' задаём скорость мотору Do R = 1 : Pwm1b = Speed 'вращаем в одну сторону 3 секунды Wait 3 R = 0 : Pwm1b = 0 'остановка мотора на 3 секунды L = 0 : Pwm1b = 0 Wait 3 L = 1 : Pwm1b = Speed 'вращаем в другую сторону 3 секунды Wait 3 R = 0 : Pwm1b = 0 'остановка мотора на 3 секунды L = 0 : Pwm1b = 0 Wait 3 Loop Так как мы используем аппаратный шим, то должно учитываться, что максимальная скорость(Переменная Speed) будет при значение 255. Ну и больше тут добавить не чего. Программа довольно простая. Ссылка на предыдущую статью. Ссылка на следующую статью. Ссылка на скачивание исходника и прошивки. Источник: www.enore.ru | |
Категория: Программирование в BascomAVR | Добавил: Space (31.01.2011) | | |
Просмотров: 2015 | |
Всего комментариев: 0 | |