Categories Pricing Corporate
Free Textbook

PaulOS: Part II

An 8051 Real-Time Operating System

Language:  English
This text book is intended for under-graduate Engineering and/or IT students studying micro-controllers and embedded systems.
Download free PDF textbooks or read online. Less than 15% adverts
Business subscription free for the first 30 days, then $5.99/mo

This text book is intended for under-graduate Engineering and/or IT students studying micro-controllers and embedded systems. It covers mainly the 8051 family of micro-controllers starting with the basic architecture and then moves on to assembly language and Real-Time Operating System (RTOS) where three main types of self-developed RTOSs are discussed (with full source code listing). These are the round-robin SanctOS , the co-operative PaulOS and finally the pre-emptive MagnOS RTOS giving also various example application programs using the Keil IDE.

This text book is intended to be used either as a stand-alone text for an 8051-based course on micro controllers or as a reference book for those whose work requires familiarity with micro controllers and real-time operating systems.

The strong emphasis of this book is on interfacing and programming the 8051 to typical real-world devices such as switches, displays, motors, and A/D converters through both assembly language and C language programming. In particular, a variety of Real-Time Operating Systems (RTOS) are well explained and working programs are actually implemented (and well documented). Many programming examples, in both assembly language and C, are also included in order to help the students (and anyone interested in the topic) better understand the RTOS principle.

It would be helpful if the reader has already got some familiarity with personal computers and has taken introductory courses in digital devices and some experience with assembly language programming. It is assumed that the reader is familiar with binary and hexadecimal numbers.

Learning to write programs is like learning to ride a bicycle in that reading alone is not enough. Handson practical experience is essential. Therefore, to enhance the usefulness of this book as a learning tool, the reader is encouraged to test some of the example programs given throughout this book using easily available free software, such as the latest demo version of the KEIL IDE (

  1. 8051 Basics
    1. Introduction
    2. Memory Types
    3. Code Memory
    4. External RAM
    5. Register Banks
    6. Bit Memory
    7. Special Function Register (SFR) Memory
    8. SFR Descriptions
  2. Basic Registers
    1. The Accumulator, Address E0H, Bit-addressable
    2. The R registers
    3. The B Register, address F0H, Bit-addressable
    4. The Data Pointer (DPTR)
    5. The Program Counter (PC)
    6. The Stack Pointer (SP), address 81H
    7. Addressing Modes
    8. Program Flow
    9. Low-Level Information
    10. Timers
    11. Serial Port Operation
    12. Interrupts
  3. A51 Examples
    1. Template.a51
    2. Serial Port Example Program
    3. Traffic Lights A51 Program
  4. 8032 Differences
    1. 8032 Extras
    2. 256 Bytes of Internal RAM
    3. Additional Timer 2
  5. Evaluation Boards
    1. FLITE-32 Development Board
    2. Typical Settings for KEIL uV2
    3. The NMIY-0031 Board
    4. C8051F020TB
  6. Programming in C with KEIL µV2 IDE
    1. Byte Ordering – BIG ENDIAN and LITTLE ENDIAN
    2. Explicitly Declared Memory Types
    3. Data types
    4. Interrupt routines
  7. Real-Time Operating System
    1. What is a Real-Time Operating System
    2. Types of RTOSs
  8. SanctOS – a Round-Robin RTOS
    1. SanctOS System Commands
    2. Variations from the A51 version
    3. SanctOS example program
  9. PaulOS – a Co-operative RTOS
    1. Description of the RTOS Operation
    2. PaulOS.C System Commands
    3. Descriptions of the commands
    4. PaulOS parameters header file
    5. Example using PaulOS RTOS
  10. MagnOS – a Pre-Emptive RTOS
    1. MagnOS System Commands
    2. Detailed description of commands
  11. Interfacing
    1. Interfacing add-ons to the 8051
    2. LEDs
    3. Input Switches
    4. Keypad
    5. LCD Display
    6. LCD Command Set
    7. DC Motor
    8. DC motor using H-Bridge
    9. Model Servo Control
    10. Stepper Motor
  12. Index for Part I
  13. Index for Part II
  14. Programming Tips and Pitfalls
    1. RAM size
    2. SP setting
    3. SFRs
    4. Port usage
    5. DPTR
    6. Serial port (UART)
    7. Interrupts
    8. RTOSs pitfalls
    9. C Tips
  15. Appendix A ParrOS.a51
  16. Appendix B PaulOS A51 version
  17. Appendix C SanctOS.C
  18. Appendix D PaulOS.C
  19. Appendix E MagnOS.C
  20. Appendix F Further Examples
  21. Appendix G 8086 PaulOS RTOS
  22. Appendix H 8051 Instruction Set
  23. Bibliography
  24. Index
  25. End Notes
About the Author

Paul P. Debono