background image

 Port Initialization

and Direction Control

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              

Semiconductor Group

5 of 7

AP164601   1998-02

2.2

Configuration of Alternate Output Function

In order to use an alternate output function of a Port 3 pin, its direction must be set to
output AND the corresponding port data register bit must contain a ‘1’. Otherwise, the
alternate output function is not enabled and the pin will be stuck at ‘0’ (see figure of Port 3
pins in chapter 'Parallel Ports' in respective User's Manual, e.g. C167 Derivatives User's
Manual, V2.0, p. 

6-18

). Configuration of the WR# signal which is an alternate output

function of P3.13 on 8xC166 microcontrollers or SSC shift clock output on most other
C166 microcontrollers could be performed as follows:

BSET P3.13

; enable WR#/SCLK as alternate output function of P3.13,
; initial level is inactive high

BSET DP3.13 

; set direction to output

NOP

; or other instruction which does not access P3

Note that when a port data register still contains its reset value 0000h, and the direction of
a pin is set to output before the corresponding bit in the port data register is set to ‘1’, a
low level will appear at the pin. For P3.13/WR# of 8xC166 microcontrollers in particular,
this low level will be regarded as write strobe by external memory devices, and
unexpected results may occur.

2.3

Configuration of CAPCOM Pins

When a Port 2 pin is to be used as compare signal output (alternate function) for the
CAPCOM unit of 8xC166 microcontrollers (respectively Port 7 and Port 8 for CAPCOM2
unit on other C166 microcontrollers), it is not required to write a ‘1’ into the corresponding
bit of the port data register. It is only required to set the direction to output.

3

Initialization of several Port Pins on the same Port

When several port pins are to be configured as outputs on the same port, the port data
register should be programmed before the direction of the selected port pin is set to
output. This is preferably done using MOV or Bit Field instructions.

When for example the alternate function of P3.13 shall be used (WR# function on 8xC166
microcontrollers, SSC shift clock output SCLK on most other C166 microcontrollers), and
P3.10 shall be used as transmit data output TxD0, this could be done with the following
instruction sequence:

BFLDH P3,#24h,#24h

; set P3.13/WR#/SCLK and P3.10/TxD0 to '1'

BFLDH DP3,#24h,#24h

; switch direction to output

NOP

; or other instruction which does not access P3

Содержание AP164601

Страница 1: ...ntrol This Application Note discusses various aspects of the initialization of port pins as outputs effects of single Bit and Bit Field BFLDL H instructions ports with bit protection initialization of alternate output functions effects of interrupts during port initialization and bitfield function in C compilers Author Christoph Meinhold HL DC AT ...

Страница 2: ...ration as General Purpose Outputs 3 2 2 Configuration of Alternate Output Function 5 2 3 Configuration of CAPCOM Pins 5 3 Initialization of several Port Pins on the same Port 5 AP164601 ApNote Revision History Actual Revision Rel 1 0 Previous Revison Rel 0 0 Page of Actual Rel Page of prev Rel Subjects changes since last release 7 7 Example for bit field function in C added ...

Страница 3: ...ardware All other pins have to be configured by software when they are to be used as outputs 2 Initialization of Single Port Pins as Outputs 2 1 Configuration as General Purpose Outputs When a port pin is to be used as general purpose output first the initial output value should be written to the port data register and then the direction of this pin should be set to output to achieve a defined tra...

Страница 4: ... are modified by the on chip periperal units from unintentionally being overwritten by a bit read modify write sequence via Bit and Bit Field instructions see section Protected Bits and Bit Handling and Bit Protection in respective User s Manual e g C167 Derivatives User s Manual V2 0 p 2 17 and p 4 9 It is therefore advised to always set the port data register and the port direction register at l...

Страница 5: ...l will appear at the pin For P3 13 WR of 8xC166 microcontrollers in particular this low level will be regarded as write strobe by external memory devices and unexpected results may occur 2 3 Configuration of CAPCOM Pins When a Port 2 pin is to be used as compare signal output alternate function for the CAPCOM unit of 8xC166 microcontrollers respectively Port 7 and Port 8 for CAPCOM2 unit on other ...

Страница 6: ...T Px BSET DPx instruction pairs and in general after each instruction which has modified the port direction as follows BSET P3 13 set P3 13 WR SCLK to 1 BSET DP3 13 set direction of P3 13 to output NOP or other instruction which does not access P3 BSET P3 10 set P3 10 TxD0 to 1 BSET DP3 10 set direction of P3 10 to output NOP or other instruction which does not access P3 Or on C level _pubit P3 13...

Страница 7: ...A 0x240A This instruction sequence may result in the following assembler instruction sequence BFLDH P3 24h 24h set P3 13 WR SCLK and P3 10 TxD0 to 1 BFLDL P3 0Ah 0Ah set P3 1 T6OUT and P3 3 T3OUT to 1 CAUTION P3 13 and P3 10 are still inputs when this instruction reads P3 P3 13 and P3 10 values read from pin maybe undefined P3 13 and P3 10 SFR values may be overwritten with pin values no WR strobe...

Отзывы: