November
2000 , Issue 124
A
PIC17C44-Based Computer
THE CLOCK
OSCILLATOR
A crystal
or ceramic resonator can clock U1 or a pulse train can
be applied to OSC1 (pin 14 of U1). A 3-pin SIP socket
is provided for Y1. If a ceramic resonator with integral
capacitors is used, C10 and C11 should not be used.
The frequency
can be 33 MHz or lower, however it must not be above
25 MHz if EPROM is used for external program memory.
Use 70-ns SRAM for higher frequencies.
PORT ASSIGNMENTS
The PIC17C44
has five ports with a total of 33 I/O pins. Note that
a pin is specified herein as RX<N>, where X
is the port designation letter and N is the bit
designation of the pin. RX<M:N> designates a range
of pins, where M is the high bit and N
is the low bit. Most pins can be configured dynamically
under program control as inputs or outputs. Many pins
have alternative uses that are invoked by configuration
bits in internal memory or in various control registers.
Port A is
6 bits (2 bits are required for serial I/O). Port B
is 8 bitseach is available for input or output.
Port C has 8 bits used for the low-order address/data
bus. Port D has 8 bits used for the high-order address/data
bus. And lastly, Port E has 3 bits (ALE, OE, and WR).
RA<1:0>
can be interrupt or data inputs. RA<3:2> are Schmitt
Trigger inputs or high-current, open-drain outputs.
RA<4> is the serial TX line and RA<5> is
the serial RX line; these can be general-purpose inputs
if serial I/O is not used. RB<7:0> can be used
in accordance with the Microchip specs.
In microprocessor
or extended microcontroller modes, RC<7:0> is
used as the low-order address/data bus and RD<7:0>
for the high-order address/data bus. These multiplexed
pins drive the address latch when a TABLRD or TABLWT
instruction is executed. These are available for input
or output.
In these modes,
RE<2:0> is used for the ALE, OE, and WR lines.
ALE (active high) activates the address latch. OE (active
low) signals the memory chips and external devices to
drive the data bus. And, WR (active low) signals the
memory chips or external devices to write the data on
the data bus (read and put data on the bus when high).
And again, in microcontroller mode, these are available
for input or output.
Lastly, U2
decodes RA<15:13> and pulls one of its outputs
low.