circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 

November 2000 , Issue 124

A PIC17C44-Based Computer


by Duane Perkins

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 bits—each 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.