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





 

November 2000 , Issue 124

A PIC17C44-Based Computer


by Duane Perkins

MEMORY

Each of the three memory sockets will accept a 28-pin, 8-KB memory chip. These can be static RAM (6264) or EPROM (2764). An address in the range 0000:1FFF is the range of the PIC’s internal program memory. U5 and U6 are selected by an address in the range 2000:3FFF. And, the final memory socket, U7, is selected by an address in the range 4000:5FFF. Note that using RAM chips in all three sockets allows a program to be downloaded and executed in the extended microcontroller mode.

The SBC17C44 operates in the extended microcontroller mode. In this mode, the program code can reside in both internal and external memory.

The internal program memory is ROM. During program development, it is convenient to have a program loader and commonly used functions in internal memory. The application program can be downloaded to RAM and can call the commonly used functions, avoiding the need to assemble or link them every time the application program is changed.

The PIC17C44 has a 16-bit instruction code size and 16-bit buses for fetching instructions. To fetch instructions from external memory requires a 16-bit address latch that’s implemented on the motherboard by U2 and U3. RE0/ (ALE) is the address latch enable line, which is pulsed low during every instruction cycle.

If an instruction is fetched from a location in the range 2000:3FFF, the latched address selects a word in U5 and U6. U2 decodes bits 15:13 and pulls V1 low, thus enabling U5 and U6 via the CE pins. /OE is low, thus enabling U4 and U5 via the OE pins to put the instruction word on the AD bus.

And, note that /WR remains high so that the R/W pins are high and the memory is read rather than written. These control signals from Port E are present on every instruction cycle irrespective of the address.