Instruction manual

AMPDIO DRIVERS
Page 70
Command Word for Bit Set/Reset Format
5.4.2 82C54Counter Timer Registers
The following paragraphs describe the operations of the 82C54 counter timer that is a common
element on many of the supported cards. Each 82C54 has three counter timer channels. Full
details may be found in the device manufacturer’s data sheet in the file ‘App82c54.pdf’ file in the
‘manual’ sub-directory of the SOFTMAN CD.
Note that the supported ISA analogue cards (PC24E/PC25E, PC26AT, PC27E and PC30AT) use
the similar, but slightly less functional 82C53 counter timer. Most of the details below also apply to
the 82C53, full details of which may be found in the ‘App82c53.pdf’ file in the ‘manual’ sub-directory
of the SOFTMAN CD. The Read Back command which the driver performs before reading counter
timer values is only supported by the 82C54 and does not work on the 82C53, so that the values
read back will be unreliable. The counter timers on the cards which use the 82C53 are only
intended to be used for frequency generation, so this is not much of a problem.
Version 4.23 and later uses the Counter Latch command on the 82C53 to latch a single counter
value at a time instead of the unsupported Read Back command which can latch 2 or 3 counter
values at a time on the 82C54. This allows the counter timer values on cards that use the 82C53 to
be read back more reliably.
Each counter timer has the following register configuration. Offsets are from the start of the counter
timer block:
Port Offset Description Access Bits
00
16
Counter Timer 0 Data register R/W 8
01
16
Counter Timer 1 Data register R/W 8
02
16
Counter Timer 2 Data register R/W 8
03
16
Counter Timer Control register W 8
5.4.2.1 82C54 Counter 0 Data Register
The 82C54 Programmable Timer Counter provides three 16 bit counter/timers which can be
independently programmed to operate in any one of six modes with BCD or Binary count functions.
The register definition for Counter 0 Data is as follows.
0 1 2 3 4
5 6 7
0 = Bit Set/Reset
X X X
Don’t Care
Bit Set/Reset
0 = Reset
1 = Set
Port C Bit Select
0
1
2
3
4
5
6
7
0
1
0
1
0
1
0
1
B
0
0
0
1
1
0
0
1
1
B
1
0
0
0
0
1
1
1
1
B
2