Skip to main content

Microcontroller Theory and Applications with the PIC18F

Microcontroller Theory and Applications with the PIC18F

ISBN: 978-1-118-02693-9

Feb 2012

496 pages


Product not available for purchase


Rafiquzzaman's Microcontroller Theory and Applications with the PIC 18F has been designed for a one-semester or one-quarter course in microcontrollers taught at the undergraduate level in electrical/computer engineering and computer science departments.  The students are expected to have a background in C language and digital logic (both combinational and sequential) design.  Practitioners of microcontroller-based applications will find more simplified explanations, together with examples and comparisons considerations, than are found in manufacturers' manuals.

Related Resources



1. Introduction to Microcontrollers.

1.1 Explanation of Terms.

1.2 Microcontroller Data Types.

1.3 Evolution of the Microcontroller.

1.4 Typical Microcontroller Applications.

2. Microcontroller Basics.

2.1 Basic Blocks of a Microcomputer.

2.2 Microcontroller Architectures.

2.3 Central Processing Unit (CPU).

2.4 Basic Concept of Pipelining.

2.5 RISC vs. CISC.

2.6 Functional Representation of a Typical Microcontroller—The PiC18F4321.

Questions and Problems. 

3. Introduction to Programming Languages.

3.1 Basics of Programming Languages.

3.2 Machine Language

3.3 Assembly Language.

3.4 High-Level Language.

3.5 Choosing a Programming Language.

3.6 Flowcharts.

Questions and Problems. 

4. Microcontroller Memory and Input/Output (I/O).

4.1 Introduction to Microcontroller Memory.

4.2 Microcontroller Input/Output (I/O).

Questions and Problems. 

5. PIC18F Architecture and Addressing Modes.

5.1 Introduction.

5.2 PIC18F Register Architecture.

5.3 PIC18F Memory Organization.

5.4 PIC18F Addressing Modes.

Questions and Problems.

6. Assembly Language Programming with the PIC18F: Part 1.

6.1 Basic Concepts.

6.2 PIC18F Instruction Format.

6.3 PIC18F Instruction Set.

Questions and Problems. 

7. Assembly Language Programming with the PIC18F: Part 2.

7.1 PiC18F Jump/Branch Instructions.

7.2 PiC18F Test, Compare, and Skip Instructions.

7.3 PIC18F Table Read/Write Instructions.

7.4 PIC18F Subroutine Instructions.

7.5 PIC18F System Control Instructions.

7.6 PIC18F Hardware vs. Software Stack.

7.7 Multiplication and Division Algorithms.

7.8 Advanced Programming Examples.

7.9 PIC18F Delay Routine.

Questions and Problems. 

8. PIC18F Hardware and Interfacing: Part 1.

8.1 PIC18F Pins and Signals.

8.2 PIC18F4321 I/O Instructions.

8.3 PIC18F Interrupts.

8.4 PIC18F Interface to and LCD (Liquid Crystal Display).

8.5 Interfacing PIC18F4321 to a Hexadecimal Keyboard and a Seven-segment Display.

Questions and Problems. 

9. PIC18F Hardware and Interfacing: Part 2.

9.1 PIC18F Timers.

9.2 Analog Interface.

9.3 Serial Interface.

9.4 PIC18F4321 Capture/Compare/PWM (CCP) Modules.

9.5 DC Motor Control.

Questions and Problems. 

10. Basics of Programming the PIC18F Using C.

10.1 Introduction to C Language.

10.2 Data Types.

10.3 Bit Manipulation Operations.

10.4 Control Structures.

10.5 Structures and Unions.

10.6 Functions in C.

10.7 Macros.

10.8 Configuring PIC18F4321 I/O Ports Using C.

10.9 Programming PIC18F4321 Interrupts Using C.

10.10 Programming the PIC18F4321 Interface to LCD Using C.

10.11 PIC18F on-chip Timers.

10.12 Programming the PIC18F4321 on-chip A/D Converter Using C.

10.13 Interfacing and External D/A (Digital-to-Analog) Converter Using C.

10.14 PIC18F SPI Mode for Serial I/O Using C.

10.15 Programming the PIC18F4321 CCP Modules Using C.

10.16 DC Motor Control Using PWM Mode and C.

Questions and Problems. 

Appendix A: Answers to Selected Problems.

Appendix B: Glossary.

Appendix C: PIC19F Instruction Set (Alphabetical Order).

Appendix D: PIC18F Instruction Set – Details.

Appendix E: PIC18F4321 Special Function Registers.

Appendix F: Tutorial for Assembling and Debugging a PIC18F Assembly Language Program Using the MPLAB.

Appendix G: Tutorial for Compiling and Debugging a C-Program Using the MPLAB.

Appendix H: Interfacing the PIC18F4321 to Personal Computer Using PICKIT™ 3.



  • Real world application:  Focuses on the PIC microcontroller which has displaced HC11/12 in industrial practice.  PIC is more powerful and less expensive than HC, and it is only a matter of time before it is displaced in teaching as well.
  • Comprehensive pedagogy:  The first PIC microcontroller text that provides thorough coverage of fundamental concepts rather than simply providing operational detail.
  • Balanced framework:  Includes coverage of microcontroller programming in C, as favored in industry, and in assembly, which still prevails in the classroom.