Программирование
Для полного поворота управляющих колес до упора в каком-либо направлении достаточно импульса продолжительностью, соответствующей одному обращению к подпрограмме delay. Для того чтобы выставить управляющие колеса в положение «прямо вперед», вначале посылается импульс, поворачивающий колеса полностью вправо или влево, а затем — более короткий импульс, смещающий колеса в противоположном направлении, выставляя их в среднее положение.
. Этот импульс получают в результате вызова подпрограммы shortdelay со значением 040h в качестве начального значения переменной delayl. Откорректируйте это значение в соответствии с используемым двигателем. Два импульса занимают долю секунды, поэтому получится эффект плавного изменения направления.
Управление скоростью вращения вала
Эта подпрограмма находит различные области применения. Идея заключается в том, что питание подается на двигатель как последовательность импульсов с амплитудой, соответствующей полному напряжению питания (напряжению, снимаемому с Н-образного моста). Однако соотношение между длиной импульсов и интервалами между ними можно изменять программно. Чем короче импульсы (и, следовательно, чем больше интервалы между ними), тем меньше энергии подается на Двигатель и тем медленнее вращается его вал. Этот способ управления скоростью предпочтительнее варьирования напряжения, поскольку снижает вероятность останова двигателя или его отказа при пуске на Малых оборотах.
Программа управления двигателем по каналу RC0 с применением транзисторного ключа, а соответствующий.
Блок-схема подпрограммы burst. Эта подпрограмма может использоваться для увеличения реализма поведения мобильного робота. Вместо того, чтобы рывком срываться с места и резко останавливаться, робот будет плавно ускоряться, начиная движение, и изящно тормозить при остановках. Для этого подпрограмма burst вызывается с фиксированными значениями переменных delay time и lenburst и исходным значением переменной hitime. Затем она входит в цикл, в котором hitime постепенно инкрементируется или декрементируется.
Звуковая имитация пулеметной очереди
Эта программа формирует пакет сигналов белого шума, который звук, напоминающий пулеметную очередь. Это — удачное дополнение к роботу-игрушке военного типа. Звук можно настраиваться так что данная программа может иметь и другие сферы применения.
Генератор случайных чисел работает в цикле, с большой скоростью формируя последовательность значений переменной randval. После формирования каждого нового числа считывается (с помощью операции логического «И» randval с 080h) его разряд , и канал RC7 порта С устанавливается в то же значение.
В результате на выходе RC7 выводится случайная последовательность значений. Она поступает на транзисторный ключ, в цепь коллектора которого включен динамик. Случайные уровни сигнала формирует пакет сигналов белого шума.
Когда переменная count содержит значение 050h, длительность звукового пакета составляет около половины секунды. При большей длительности становятся слышны регулярные биения, которые портят эффект. Это обусловлено тем, что последовательность на ‘самом деле не является случайной и повторяется через каждые 127 вызовов подпрограммы randno. Можно было бы расширить виртуальный сдвиговый регистр, скажем, до 16 разрядов и присваивать переменным bitn Hbitm значения разрядов и соответственно. Последовательность при этом будет повторяться через каждые 32 767 вызовов.
Источник: qwedr.com