1. Ненужно учитывать переполнение.
2. Зачем считать обязательно с нуля? Совершенно ни к чему обнулять регистр счетчика, нужно продолжать считать импульсы с того состояния, которое осталось в нем от предыдущего цикла.
Просто из текущего значения в счетчике нужно вычитать значение, которое было в нем перед стартом, т.к. WORD - без знаковое целое число, то результат арифметической операции "вычитание" всегда будет правильным, не смотря не то, что после 65535 счетчик начнет считать с 0.
Например
в счетчике было 65530
после старта значения в нем будут увеличиваться 65530, 65531, 65532, 65533, 65534, 65535, 0, 1, 2 ....
т.е. начальное значение в счетчике было 65530.
Теперь каждый раз при обращении в программе к регистру счетчика нужно вычитать начальное значение, в нашем случае получим
65530-65530=0
65531-65530=1
65532-65530=2
65533-65530=3
65534-65530=4
65535-65530=5
0 - 65530=6
1 - 65530=7
2 - 65530=8
3 - 65530=9
и т.д.
Т.е. никакое переполнение учитывать не надо.





Ответить с цитированием