...Пару строчек проги, а работать не хочет толком (вместо импульсов от внешнего источника использую временно кнопку. Подтяжка на + через резистор. Если медленно нажимать (>1 сек), то вроде все ок, если "быстрее", то индикация на LCD и сама программа сбивается.
Максимально постарался закомментить для читабельности/наглядности.
$Regfile="m8adef.dat"
$hwstack=40
$swstack=16
$framesize=32
Config Lcdpin = Pin , Rs = Portd.0 , E = Portd.2 , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7
Config Lcd = 16 * 2
Config Debounce = 10
Dim sek As long
dim imp as Word
Config Portd.3 = Input
Config Int1 = Change 'CHANGE (при изменении фронта)
Config Timer1 = timer , Prescale = 256
On Timer1 Uphigh 'переход по переполнению
On Int1 Change_Front 'переход по изменению фронта
sek=0
imp=0
Enable Interrupts ' включить прерывания
Enable Int1 'по импульсу на ножке d.3
Enable Timer1 ' ... по переполнению
Cursor Off Noblink ' курсор OFF
Do 'основной цикл
Locate 1 , 1
Lcd "sek:";Sek ;" Tim1:"; timer1 ' секунды и таймер цикла
Waitms 100
Loop
Uphigh: 'секунды
Incr sek
Incr sek ' дважды,т.к. не хоцца умножать на 2
Return
Change_Front: ' кол-во импульсов и вывод на LCD
incr imp
Locate 2 , 6
Lcd imp;" Impulse"
return
p.s. ... как сей текст проги "вложить в разворачивающийся текст, т.к. скоро меня терпеливые модераторы забанят за ламерство!?! (Code/Spoiler)
p.s.s Спасибо за внимание