HT46R064D/065D/066D
Enhanced A/D Type 8-Bit OTP MCU with LED Driver
Input/Output Ports
Holtek microcontrollers offer considerable flexibility on their I/O ports. Most pins can have either an
input or output designation under user program control. Additionally, as there are pull-high resistors
and wake-up software configurations, the user is provided with an I/O structure to meet the needs of a
wide range of application possibilities.
For input operation, these ports are non-latching, which means the inputs must be ready at the T2 rising
edge of instruction ²MOV A,[m]², where m denotes the port address. For output operation, all the data
is latched and remains unchanged until the output latch is rewritten.
Pull-high Resistors
Many product applications require pull-high resistors for their switch inputs usually requiring the use of
an external resistor. To eliminate the need for these external resistors, when configured as an input have
the capability of being connected to an internal pull-high resistor. These pull-high resistors are selectable
via a register known as PAPU, PBPU, PCPU and PDPU located in the Data Memory. The pull-high
resistors are implemented using weak PMOS transistors. Note that pin PA7 does not have a pull-high
resistor selection.
Port A Wake-up
If the HALT instruction is executed, the device will enter the Sleep Mode, where the system clock will
stop resulting in power being conserved, a feature that is important for battery and other low-power
applications. Various methods exist to wake-up the microcontroller, one of which is to change the logic
condition on one of the PA0~PA7 pins from high to low. After a HALT instruction forces the
microcontroller into entering the Sleep Mode, the processor will remain in a low-power state until the
logic condition of the selected wake-up pin on Port A changes from high to low. This function is
especially suitable for applications that can be woken up via external switches. Note that pins PA0 to
PA7 can be selected individually to have this wake-up feature using an internal register known as
PAWK, located in the Data Memory.
PAWK, PAC, PAPU, PBC, PBPU, PCC, PCPU Register - HT46R064D
Bit
Register
Name
POR
7
6
5
4
3
2
1
0
PAWK
PAC
00H
FFH
00H
1FH
00H
1FH
00H
PAWK7 PAWK6 PAWK5 PAWK4 PAWK3 PAWK2 PAWK1 PAWK0
PAC7
¾
PAC6
PAPU6
¾
PAC5
PAPU5
¾
PAC4
PAPU4
PBC4
PAC3
PAPU3
PBC3
PAC2
PAPU2
PBC2
PAC1
PAPU1
PBC1
PAC0
PAPU0
PBC0
PAPU
PBC
¾
PBPU
PCC
PBPU4
PCC4
PBPU3
PCC3
PBPU2
PCC2
PBPU1
PCC1
PBPU0
PCC0
¾
¾
¾
¾
¾
¾
PCPU
PCPU4
PCPU3
PCPU2
PCPU1
PCPU0
¾
¾
¾
²¾² Unimplemented, read as ²0²
PAWKn: PA wake-up function enable
0: disable
1: enable
PACn/PBCn/PCCn: I/O type selection
0: output
1: input
PAPUn/PBPUn/PCPUn: Pull-high function enable
0: disable
1: enable
Rev. 1.00
40
January 12, 2011