COUNT Pin, Duration, Variable
Count the number of cycles (0-1-0 or 1-0-1) on the specified pin during the Duration time frame and store that number in Variable.
|SX18 / SX20 / SX28 / SX48 / SX52|
|Units in Duration||1 ms|
|Duration range||1 ms to 65.535 sec|
|Minimum pulse width||50 / FREQ|
|FREQ / 100|
The COUNT instruction makes the Pin an input, then for the specified Duration, counts cycles on that pin and stores the total in Variable. A cycle is a change in state from 1 to 0 to 1, or from 0 to 1 to 0. Each loop in the COUNT routine requires 40 clock cycles, so the incoming signal must remain high or low for at least 40 cycles to be measured accurately. The maximum frequency that COUNT can accurately handle is about 1% the clock frequency driving the SX. A 20 MHz clock source, for example, would allow the COUNT instruction to count transitions in a 200 kHz square wave (or period of 5 µsecs).
If you use COUNT on slowly changing analog waveforms like sine waves, you may find that the value returned is higher than expected. This is because the waveform may pass through the SX’s 1.4-volt logic threshold slowly enough that noise causes false counts. You can fix this by enabling the SCHMITT trigger configuration on the pin used for COUNT.
Related instructions: PULSIN