© 2000 Scenix Semiconductor, Inc. All rights reserved. - 13 - www.scenix.com SX48BD/SX52BD/SX52BD75/SX52BD100 3.3.2  Port Configuration Registers The port configuration registers that you control with the MOV !rx,W instruction operate as described below. RA through RE Data Direction Registers (MODE=1Fh) Each register bit sets the data direction for one port pin. Set the bit to 1 to make the pin operate as a high-imped- ance input. Clear the bit to 0 to make the pin operate as an output. Upon reset, the bit is set to 1. PLP_A through PLP_E: Pullup Enable Registers (MODE=1Eh) Each  register  bit  determines  whether  an  internal  pullup resistor is connected to the pin. Set the bit to 1 to discon- nect the pullup resistor or clear the bit to 0 to connect the pullup resistor. Upon reset, the bit is set to 1. LVL_A through LVL_E: Input Level Registers (MODE=1Dh) Each register bit determines the voltage levels sensed on the  input  port,  either  TTL  or  CMOS,  when  the  Schmitt trigger option is disabled. Program each bit according to the type of device that is driving the port input pin. Set the bit to 1 for TTL or clear the bit to 0 for CMOS. Upon reset, the bit is set to 1. If SYNC is enabled in the FUSE regis- ter,  port  data  must  be  read  more  than  2  cycles  after  a change to the input level mode or Schmitt Trigger mode (see Figure 3-2). ST_B through ST_E: Schmitt Trigger Enable Registers (MODE=1Ch) Each  register  bit  determines  whether  the  port  input  pin operates with a Schmitt trigger. Set the bit to 1 to disable Schmitt trigger operation and sense either TTL or CMOS voltage levels; or clear the bit to 0 to enable Schmitt trig- ger operation. Upon reset, the bit is set to 1. If  SYNC is enabled  in  the  FUSE  register,  port  data  must  be  read more than 2 cycles after a change to the input level mode or Schmitt Trigger mode (see Figure 3-2). WKEN_B: Wakeup Enable Register (MODE=1Bh) Each   register   bit   enables   or   disables   the   Multi-Input Wakeup/Interrupt (MIWU) function for the corresponding Port B input pin. Clear the bit to 0 to enable MIWU opera- tion or set the bit to 1 to disable MIWU operation. Upon reset, the bit is set to 1.For more information on using the Multi-Input Wakeup/Interrupt function, see Section 7.0. WKED_B: Wakeup Edge Register (MODE=1Ah) Each register bit selects the edge sensitivity of the Port B input pin for MIWU operation. Clear the bit to 0 to sense rising (low-to-high) edges. Set the bit to 1 to sense falling (high-to-low) edges. Upon reset, the bit is set to 1. WKPND_B: Wakeup Pending Flag Register (MODE=19h) When  you  access  the  WKPND_B  register  using  MOV !RB,W,  the  CPU  does  an  exchange  between  the  con- tents   of   W   and   WKPND_B.   Each   bit   read   from   the WKPND_B  register  indicates  the  status  of  the  corre- sponding MIWU pin. A bit set to 1 indicates that a valid edge has occurred on the corresponding MIWU pin, and has  triggered  a  wakeup  or  interrupt.  A  bit  set  to  0  indi- cates that no valid edge has occurred on the MIWU pin. CMP_B: Comparator Register (MODE=08h) When   you   access   the   CMP_B   register   using   MOV !RB,W,  the  CPU  does  an  exchange  between  the  con- tents  of  W  and  CMP_B.  This  feature  lets  you  read  the CMP_B register contents while writing a new value to the register. Clear bit 7 to enable operation of the compara- tor. Clear bit 6 to place the comparator result on the RB0 pin. Bit 0 is a result flag that is set to 1 when the voltage on  RB2  (positive  input)  is  greater  than  RB1  (negative input), or cleared to 0 otherwise. (For more information on using the comparator, see Section 11.0.) 3.3.3  Port Configuration Upon Power-Up Upon  power-up,  all  the  port  control  registers  are  initial- ized to FFh. Thus, each port pin is configured to operate as a high-impedance input that senses TTL voltage lev- els,   with   no   internal   pullup   resistor   connected.   The MODE register is initialized to 1Fh, which allows immedi- ate write access to the data direction registers using the “MOV !rx,W” instruction.