C R Sarma is an associate professor in the Department of Electronics and Communications Engineering at the G Narayanamma Institute of Technology and Science, Hyderabad. His areas of interest are microprocessors, microcontrollers, embedded systems, computer networks and robotics. His passion lies in developing innovative applications using embedded systems and training young professionals in the subject. He is the author of several books including Computer Networks: A Pragmatic Approach (Jaico Publishing House), Intel Microprocessors (Pearson Education), Microprocessors and Microcontrollers (Premier Publishing House).
+ Read morePreface ix
1 Embedded Computing
1.1 Embedded Systems and Human Intelligence
1.2 Complex Systems and Microprocessors
1.3 The Embedded System Design Process
1.4 Formalisms for System Design
1.5 Design Example: Automatic Cooking Oven
1.6 A few Brief Examples of the Possibilities of Embedded Systems
Self Evaluation Questions
2 The 8051 Architecture
2.1 Introduction
2.2 8051 Microcontroller Hardware
2.3 Input/Output Ports and Circuits
2.4 Internal and External Memory
2.5 Counter and Timers
2.6 Serial Data Input/Output
2.7 Interrupts
Self Evaluation Questions
3 Concepts in Assembly Language Programming
3.1 Introduction
3.2 Assembly Language Programming: The Process
3.3 Programming Tools and Techniques
3.4 Programming the 8051: Data Transfer and Logical Instructions
Self Evaluation Questions
4 Arithmetic Transfer Control Instructions
4.1 Arithmetic Operations
4.2 Logic Instructions
4.3 Flags Affected by Instructions
4.4 Bit Manipulation Instructions
4.5 Jump and Call Instructions
4.6 Examples of Binary and Decimal Arithmetic Operations
Self Evaluation Questions
5 Application Programming
5.1 Developing Applications
5.2 Display
5.3 The Keyboard
5.4 Conversion and Interfacing of Different Data Types
5.5 Multiple Interrupts
Self Evaluation Questions
6 Real–Time Operating Systems
6.1 Real-Time Processing
6.2 What is a Real-Time Operating System?
6.3 The Mode of Operation of an RTOS
6.4 Differences Between a Desktop OS and an RTOS
6.5 More about Tasks and Task States
6.6 Blocked States, Semaphores and Messages
6.7 Semaphores and Shared Data
6.8 Message Queues, Mailboxes and Pipes
6.9 Timer Functions and Events
6.10 Events Management
6.11 Inter-Task Communication
6.12 Interrupt Routines in an RTOS Environment
Self Evaluation Questions
7 Basic Design Using a Real-Time Operating System
7.1 Designing with Real Time Operating Systems: Criteria for using RTOS
7.2 Designing with Real Time Operating Systems: Points to be considered
7.3 Hard Real-Time Scheduling Considerations
7.4 Saving Memory and Power
7.5 An example of an RTOS: C-OS (Open Source)
7.6 Embedded Software Development Tools: Host and Target Machines
7.7 Linker/Locators for Embedded Software
7.8 Getting Embedded Software into the Target System
7.9 Debugging Techniques: Testing on a Host Machine
Self Evaluation Questions
8 Introduction to Advanced Architectures
8.1 ARM and SHARC
8.2 Bus Protocols: I2C Bus and CAN Bus
8.3 Networked Embedded Systems
8.4 Internet-Enabled Systems
8.5 Design Example: Elevator Controller
Self Evaluation Questions
Appendix A: Instruction Set of 8051
Appendix B: 8051 Timer Programming
B.1 Initialising a Timer
B.2 Reading the Timer
Appendix C: 8051 Counter Programming
C.1 Limits to Reading Counters
C.2 Frequency Measurement: Tachometers
Appendix D: 8051 Serial Programming
D.1 Setting the Serial Port Baud Rate
D.2 Writing to the Serial Port
D.3 Reading the Serial Port
Appendix E: 8051 Interrupt Programming
E.1 Serial Interrupts
E.2 Common Problems with Interrupts
Appendix F: Keil IDE Project, Build, Debug
F.1 The Keil Integrated Design Environment
Index
+ Read more