COUNT | Example |
COUNT Pin, Duration, Variable
Function
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.
Quick Facts
SX18 / SX20 / SX28 / SX48 / SX52 | |
Units in Duration | 1 ms |
Duration range | 1 ms to 65.535 sec |
Minimum pulse width | 50 / FREQ |
Maximum frequency (square wave) |
FREQ / 100 |
Explanation
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