The PIC microcontroller your personal introductory course - Morton, John (Elsevier/Newnes, 2005)
Rev. ed. of: PIC.
Cover -- Title page -- Copyright page -- Table of contents -- Acknowledgements -- Preface to the third edition -- 1 Introduction -- Some tips before starting -- Binary, decimal and hexadecimal -- An 8-bit system -- Initial steps -- Choosing your PIC microcontroller -- Writing -- Assembling -- The file registers -- A program template -- 2 Exploring the PIC5x series -- Your first program -- Configuration bits -- Testing the program -- Simulating -- Emulating -- Blowing the PIC microcontroller -- Hardware -- Using the testing instructions -- Timing -- Seven-segment displays -- The program counter -- Subroutines and the stack -- Logic gates -- The watchdog timer -- Final instructions -- The STATUS file register -- The carry and digit carry flags -- Pages -- What caused the reset? -- Indirect addressing -- Some useful (but not vital) tricks -- Final PIC5x program -- 'Bike buddy' -- 3 The PIC12F50x series (8-pin PIC microcontrollers) -- Differences from the PIC16F54 --
- The STATUS register -- The OSCCAL register -- Inputs and outputs -- The OPTION register -- The TRIS register -- The general purpose file registers -- The MCLR -- Configuration bits -- Example project: 'PIC dice' -- Random digression -- 4 Intermediate operations using the PIC12F675 -- The inner differences -- The OPTION and WPU registers -- The TRISIO register -- Calibrating the internal oscillator -- PCLATH: Higher bits of the program counter -- Remaining differences -- Interrupts -- INTCON -- The interrupt service routine -- Interrupts during sleep -- Maintaining the STATUS quo -- New program template -- Example project: 'Quiz game controller' -- EEPROM -- EECON1 -- Reading from the EEPROM -- Writing to the EEPROM -- Example project: 'Telephone card chip' -- Further EEPROM examples: Music maker -- Power monitor -- Analogue to digital conversion -- ADCON0 -- ANSEL: Analogue select register -- A/D conversion interrupt -- Example project: 'Bath monitor' -- Comparator module --
- Voltage reference -- Comparator interrupts -- Comparator example: 'Sun follower' -- Comparator example: Reading many buttons from one pin -- Final project: Intelligent garden lights -- 5 Advanced operations and the future -- Extra timers: TMR1 & ... -- Capture/Compare/PWM -- USART: Serial communication -- Programming tips -- 6 A PIC development environment -- 7 Sample programs -- Program A: LedOn -- Turns an LED on -- Program B: PushButton (1.0) -- If a push button is pressed, turns on an LED -- Program C: PushButton (2.0) -- Shorter version of PushButton 1.0 -- Program D: Timing -- LED states toggled every second, and buzzer on every five seconds -- Program E: Traffic -- Pedestrian traffic lights junction is simulated -- Program F: Counter (1.0) -- Counts signals from a push button, resets after 16 -- Program G: Counter (2.0) -- Stop reading button twice (otherwise, as Counter 1.0)
A uniquely concise and practical guide to getting up and running with the PIC Microcontroller