
HT95CXXX
Rev. 1.50
22
May 26, 2005
In the event count or timer mode, once the timer/event
counter starts counting, it will count from the current
contents in the timer/event counter to FFFFH. If an over-
flow occurs, the counter is reloaded from the timer/event
counter preload register and generates the correspond-
ing interrupt request flag (T0F/T1F) at the same time.
In pulse width measurement mode with the
T0ON/T1ON and T0E/T1E bits equal to 1, once the
TMR0/TMR1 pin has received a transient from low to
high (or high to low; if the T0E/T1E bit is 0) it will start
counting until the TMR0/TMR1 pin returns to the original
level and resets the T0ON/T1ON. The measured result
will remain in the timer/event counter even if the acti-
vated transient occurs again. In other words, only 1 cy-
cle measurement can be done. Until setting the
T0ON/T1ON, the cycle measurement will function again
as long as it receives further transient pulse. Note that,
in this operating mode, the timer/event counter starts
counting not according to the logic level but according to
the transient edges. In the case of counter overflows,
the counter is reloaded from the timer/event counter
preload register and continue to measure the width and
issues the interrupt request just like the other two
modes.
To enable the counting operation, the timer on bit
(T0ON/T1ON) should be set to 1. In the pulse width
measurement mode, the T0ON/T1ON will be cleared
automatically after the measurement cycle is com-
pleted. But in the other two modes the T0ON/T1ON can
only be reset by instruction. The overflow of the
timer/event counter is one of the wake-up sources. No
matter what the operation mode is, writing a 0 to
ET0I/ET1I can disable the corresponding interrupt ser-
vice.
In the case of timer/event counter off condition, writing
data to the timer/event counter preload register also re-
loads that data to the timer/event counter. But if the
timer/event counter is turned on, data written to the
timer/event counter is reserved only in the timer/event
counter preload register. The timer/event counter will go
on operating until an overflow occurs.
Input/Output Ports
There is a maximum of 40 bidirectional input/output
lines in the HT95CXXX family MCU, labeled as PA, PB,
PD, PE, PF and PG. All of these I/O ports can be used
for input and output operations. For input operation,
these ports are non-latching, that is, the inputs must be
ready at the T2 rising edge of instruction “MOV A,[m]”
(m=12H, 14H, 18H, 1AH, 34H or 36H). For output oper-
ation, all the data is latched and remains unchanged un-
til the output latch is rewritten.
Each I/O line has its own control register (PAC, PBC,
PDC, PEC, PFC, PGC) to control the input/output con-
figuration. With this control register, CMOS output or
Schmitt trigger input can be reconfigured dynamically
under software control. To make one I/O line to function
as an input line, the corresponding latch of the control
register must be written with a 1 . The pull-high resis-
tance shows itself automatically if the pull-high option is
selected. The input source also depends on the control
register. If the control register bit is 1 , the input will
read the pad state. If the control register bit is 0 , the
contents of the latches will move to the internal bus. The
latter is possible in the read-modify-write instruction.
For output function, CMOS is the only configuration.
Each bit of these input/output latches can be set or
cleared by SET [m].i and CLR [m].i (m=12H, 14H,
18H, 1AH, 34H or 36H) instructions.
Some instructions first input data and then follow the
output operations. For example,
SET [m].i ,
CLR
[m].i , CPL [m] , CPLA[m] read the entire port states
into the CPU, execute the defined operations
(bit-operation), and then write the results back to the
latches or the accumulator.
Each line of port A has the capability of waking-up the
device. They are selected by mask option per bit.
There is a pull-high option available for all I/O lines.
Once the pull-high option of an I/O line is selected, the
I/O lines have pull-high resistor. Otherwise, the pull-high
resistor is absent. It should be noted that a non-pull-high
I/O line operating in input mode may cause a floating
state.
I/O port pull-high, wake-up function are selected by mask option
I/O Port
Output
Input
Supported for HT95CXXX
Pull-high Resistor Wake-up Function
400/40P
300/30P
200/20P
PA7~PA0
CMOS
Selected per bit
Selected per bit
PB7~PB0
CMOS
Selected per bit
PD7~PD0
CMOS
Selected per nibble
PE3~PE0
CMOS
Selected per nibble
PF7~PF0
CMOS
Selected per nibble
PG3~PG0
CMOS
Selected per nibble
Note:
means unavailable