Всем доброго времени суток, решил написать простенькую программу для сонара по инструкции http://avrproject.ru/publ....1-0-51, но столкнулся с проблемой что дисплей выдаёт всякую чуш. Тогда всё упростил до максимума и написал то что находиться в низу. И в итоге получилось что на расстаянии 0-1 см показывает 0, на 1-4 -- 1, на 4-6 -- 2, от 6 и далее 3. Подскажите это ошибка в коде или брак в сонаре и не может это быть связано с тем что длительность секунды в баскоме зависит от частоты процессора а не от реальной длмтельности? 
  Код
$regfile = "m16def.dat" 
 $crystal = 8000000 
 $lib "lcd4.lbx" 
 Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.2 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 
 Config Lcd = 16 * 2 
 Config Portd.4 = Output 
 Trigger Alias Portd.4 
 Trigger = 0 
 Config Portd.5 = Input 
 Dim A As Word 
 Dim S As Single 
 Do 
 Trigger = 1 
 Waitus 10 
 Trigger = 0 
 Pulsein A , Pind , 5 , 1 
 Cls 
 Lcd A 
 Waitms 100 
 Loop