- What does PIC stand for? [Programmable Interface Controller]
- What is special about EEPROM? [It is non-volatile memory (i.e. it
retains its contents when the power is off, but it can be erased electrically.
EEPROM stands for Electrically Erasable Programmable Read Only Memory]
- What is a File Register? [It is a location in the PIC which
can be used to hold a single eight bit value. File Registers are numbered.
They are often referred to simply as registers]
- What is a Bank and why does the PIC use them? [The PIC only
has 7 bits which it can use to identify a register file. This means that
there is only space for up to 128 file registers. The PIC can make available
more register locations by switching banks. Each bank is an individual set
of register files. The 16CF84 has two such banks which are selected using
a bit in the STATUS register]
- What does a PORT do? [A PORT provides access to the outside world.
Individual pins in the PORT can be configured to read or write bits]
- I want to use bits 4 and 5 of PORTB as inputs and the rest as outputs.
What should I do? [You will need to set bits 4 and 5 high in TRISB to
enable them as inputs. The value of 0x30 will do this. Remember to set the
bank bits correctly when using the TRIS registers]
- What are interrupts for? [They let your program divert to another
piece of code in response to an event of some kind. The events which the
PIC supports are timer overflow, interrupt signal, change on some pins on
PORTB and EEPROM write complete. When the interrupt occurs the foreground
program is paused and its status saved while the PIC executes the interrupt
handler. This must interrogate the INTCON register to determine the cause
of the interrupt and then deal with it. When the interrupt returns the foreground
program should continue as if nothing had happened]
- What does a prescaler do? [It sits between a counter and divides the
number of pulses coming in by a particular factor. It is a bit like a gearbox,
in that it changes the speed of the input to produce a different output.
In the PIC it allows you to reduce the rate at which the counter timer or
the watchdog timer are incremented]
- Why do we use sleep? How do we wake up?[Sleep puts the PIC int a mode
where it uses the minimum power. Variable values are retained and the watchdog
keeps going but system clock is stopped along with the program. An external
interrupt will wake the PIC up]