PWMSCLB = 0x04; //период B 0x02 = 255 мкс, выбрать
// наибольший коэффициент заполнения для всех каналов
PWMPER0 = 255;
PWMPER1 = 255;
PWMPER2 = 255;
PWMPER3 = 255;
//Запуск двигателей
PWME = PWME | 0x5F; // разрешения режима ШИМ для каналов 0,1,2,3,4 и 5
PWMDTY0 = 80; // установить коэффициенты заполнения
// для каналов 0,1,2 и 3
PWMDTY1 = 80;
PWMDTY2 = 80;
PWMDTY3 = 80;
// Взлет
while (PWMTY0 200) {
PWMDTY0 = PWMDTY0 + 1;
PWMDTY1 =PWMDTY1 + 1;
PWMDTY2 = PWMDTY2 + 1;
PWMDTY3 = PWMDTY3 + 1;
}
P = 20;
// установить коэффициенты заполнения для двигателей на режим полета
while (battery == 1) //проверить включение батареи
{
// двигатель 1
ATD0CLT5 = 0x04; //режим оцифровки многоканальный
while ((ATD0STAT0 0x80) == 0);
sensoravg = ATD0DR4H; //установить PAD00 для датчика 1
if ((int)sensoravg 80) {
PWMDTY0 = PWMDTY0 + 20;
delay2;
for (i=0; ip; i++) PWMDTY0--;
}
// двигатель 2
ATD0CLT5 = 0x04;
while ((ATD0STAT0 0x80) == 0);
sensoravg = ATD0DR5H; //установить PAD00 для датчика 2
if ((int)sensoravg 80) {
PWMDTY1 = PWMDTY1 + 20;
delay2;
for (i=0; ip; i++) PWMDTY1--;
}
// двигатель 3
ATD0CLT5 = 0x04;
while ((ATD0STAT0 0x80) == 0);
sensoravg = ATD0DR6H; //установить PAD00 для датчика 3
if ((int)sensoravg 80) {
PWMDTY2 = PWMDTY2 + 0;
delay2;
for (i=0; ip; i++) PWMDTY2--;
}
// двигатель 4
ATD0CLT5 = 0x04;
while ((ATD0STAT0 0x80) == 0);
sensoravg = ATD0DR7H; //установить PAD00 для датчика 4
if ((int)sensoravg 80) {
PWMDTY7 = PWMDTY7 + 20;
delay2;
for (i=0; ip; i++) PWMDTY7--;
}
} //конец while
// снизить скорость двигателей для посадки
while (PWMDTY0 80) {
PWMDTY0--;
PWMDTY1--;
PWMDTY2--;
PWMDTY3--;
delay1;
}
// остановить двигатели
PWME = 0x00;
}
//********************************************************************
7.5.6. Некоторые комментарии
Вышеупомянутая программа — неполная версия программы парящего робота. Читатели обратят внимание, что она содержит только простой алгоритм управления. Кроме того, из-за проблем дрейфа, полученных в экспериментах с гиродатчиками, для предотвращения столкновений с препятствиями в программе используются только инфракрасные датчики.
7.6. Система защиты компьютера, основанная на нечеткой логике
7.6.1. Описание проекта
В этом разделе описана основанная на нечеткой логике система защиты от вторжения, которая может защитить ваш компьютер от несанкционированного внешнего доступа. В частности, рассматриваемая система может с помощью встроенных в МК 68HC12/HCS12 функций поддержки нечеткой логики обнаруживать внедрение постороннего гипертекста (HTTP) при туннелировании информации по сетевой шине компьютера. Туннелирование применяется для легальной установки сеансов связи между ведущим компьютером внутри компьютерной сети и компьютером, внешним по отношению к этой сети. «Злоумышленник» использует такой внешний компьютер, чтобы установить тайный сеанс связи, формируя несанкционированные сообщения внутри пакетов обычного протокола HTTP. Чтобы предотвратить такие действия, общество защиты компьютерной информации разработало в прошедшем десятилетии ряд информационных систем. Цель описываемой микроконтроллерной системы защиты состоит не в том, чтобы заменить существующие коммерческие системы, а в том, чтобы помогать таким системам, оценивая присутствие в данных сетевого трафика внедренных посторонних HTTP сообщений.