SPECIAL OFFERS
Keep up with new releases and promotions. Sign up to hear from us.
Register your product to gain access to bonus material or receive a coupon.
This EPUB will be accessible from your Account page after purchase.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
It's been suggested that there are now as many embedded systems in everyday use as there are people on planet Earth. Domestic appliances from washing machines to TVs, video recorders and mobile phones, now include at least one embedded processor. They are also vital components in a huge variety of automotive, medical, aerospace and military systems. As a result, there is strong demand for programmers with 'embedded' skills, and many desktop developers are moving into this area.
Embedded C is designed for programmers with desktop experience in C, C++ or Java who want to learn the skills required for the unique challenges of embedded systems.
The book and CD-ROM include the following key features:
A complete embedded operating system is presented, with full source code on the CD-ROM.
(NOTE: Each chapter ends with a Conclusion.)
Preface.
1. Programming Embedded Systems in C.
Introduction. What is an Embedded System? Which Processor Should You Use? Which Programming Language Should You Use? Which Operating System Should You Use? How Do You Develop Embedded Software?
Introduction. What's in a Name? The External Interface of the Standard 8051. Reset Requirements. Clock Frequency and Performance. Memory Issues. I/O Pins. Timers. Interrupts. Serial Interface. Power Consumption.
Introduction. Installing the Keil Software and Loading the Project. Configuring the Simulator. Building the Target. Running the Simulation. Dissecting the Program. Aside: Building the Hardware.
Introduction. Basic Techniques for Reading from Port Pins. Example: Reading and Writing Bytes. Example: Reading and Writing Bits (simple version). Example: Reading and Writing Bits (generic version). The Need for Pull-up Resistors. Dealing with Switch Bounce. Example: Reading Switch Inputs (basic code). Example: Counting Goats.
Introduction. Object-oriented Programming with C. The Project Header (main.h) The Port Header (port.h). Example: Restructuring the 'Hello Embedded World' Example. Example: Restructuring the Goat-counting Example. Further Examples.
Introduction. Creating 'Hardware Delays' Using Timer 0 and Timer 1. Example: Generating a Precise 50 ms Delay. Example: Creating a Portable Hardware Delay. Why Not Use Timer 2? The Need for 'Timeout' Mechanisms. Creating Loop Timeouts. Example: Testing Loop Timeouts. Example: A More Reliable Switch Interface. Creating Hardware Timeouts. Example: Testing a Hardware Timeout.
Introduction. The Basis of a Simple Embedded OS. Introducing sEOS. Using Timer 0 or Timer 1. Is This Approach Portable? Alternative System Architectures. Important Design Considerations When Using sEOS. Example: Milk Pasteurization.
Introduction. Implementing a Multi-State (Timed) System. Example: Traffic Light Sequencing. Example: Animatronic Dinosaur. Implementing a Multi-State (Input/Timed) System. Example: Controller for a Washing Machine.
Introduction. What is RS-232? Does RS-232 Still Matter? The Basic RS-232 Protocol. Asynchronous Data Transmission and Baud Rates. Flow Control. The Software Architecture. Using the on-chip UART for RS-232 Communications. Memory Requirements. Example: Displaying Elapsed Time on a PC. The Serial-Menu Architecture. Example: Data Acquisition. Example: Remote-control Robot.
Introduction. The Software Architecture. Key Software Components Used in This Example. Running the Program. The Software.
Introduction. Have We Achieved Our Aims? Suggestions for Further Study. Patterns for Time-Triggered Embedded Systems. Embedded Operating Systems.