1. What does PIC stand for? [Programmable Interface Controller]

  2. 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]

  3. 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]
  4. 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]

  5. 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]

  6. 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]

  7. 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]

  8. 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]

  9. 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]