This is the Table of Contents forProgramming & Customizing the 8051 Microcontroller.Table of ContentsAcknowledgmentsAbout the AuthorIntroduction The Intel 8051 Additional Information and Resources Conventions used in this book Microcontrollers Different types of microcontrollers Embedded Microcontrollers External Memory Microcontrollers Processor Architectures Harvard versus Princeton CISC versus RISC Microcontroller Memory Types Control Storage Variable Area Program Counter Stack Hardware Interface Registers (I/O Space) Microcontroller Features Clocking I/O Pins Interrupts Timers Peripherals The 8051 8051 Suppliers 8051 Processor Architecture The CPU 8051 Addressing Modes External Addressing Interrupts 8051 Instruction Execution 8051 Instruction Set Data Movement Instructions Bit Operators Execution Change Operators 8051 hardware features Device Packaging Chip Technologies Power Considerations Reset System clock/oscillators Parallel Input/Output Level Conversion Timers Serial I/O RS-232 Level Conversion Control Store External Memory Devices Ordering Information Enhanced 8051 Features 8051 Architecture Enhancements Intel MCS-151/251 Dallas Semiconductor High-Speed Microcontrollers Control Store and External Memory Resizing Dallas Semiconductor HSM Control Store Adding Wait States to Dallas Semiconductor HSM Microcontrollers with External RAM Scratchpad RAM Enhancements Timers Dallas Semiconductor HSM Extensions TIMER2 Dallas Semiconductor HSM Watchdog Timers Serial I/O Dallas Semiconductor HSM's Second Serial Port Microwire SPI I2C CAN Analog I/O Atmel AT89Cx051 Voltage Comparators Application design Power input Reset System oscillators and clocks I/O Pin Interfacing Interrupts External RAM and ROM 8051 Programming 8051 Programming Dallas Semiconductor DS8700 Programmer Atmel AT789Cx051 Programming PROG35: AT89Cx051 Programmer Circuit Dallas Semiconductor "Secure" Devices Microcontroller Programming Software Development Tools/Environments Assembly Language 8051 Assembly Language Programming Styles Interpreters High-Level Languages Intel Hex Format Object Files 8051 Debugging Hints Experiments with the 8051 Tools and parts required PROG1: Setting up UMPS and getting a Program to Assemble PROG2: Arithmetic Operations PROG3: Direct Bank Register Addressing PROG4: Indirect Bank Register Addressing PROG6: RAM Direct Addressing PROG7: Bit Addressing PROG8: The DPTR Pointer Register and External Memory PROG5: Jumping Around and Control Store Pages PROG9: Conditional Branching PROG10: Loop Control PROG11: Stack Operations PROG12: Stack Arithmetic Operations PROG13: Subroutines PROG14: Register Parameter Passing PROG15: Stack Parameter Passing PROG16: Implementing Variable Arrays PROG17: Control Store Tables PROG18: State Machines PROG1: Running a Program in Hardware PROG19: Polling a button PROG45: Inadvertently Changing an I/O Bit PROG20: Button Debouncing PROG21: Christmas Lights PROG34: Oscillators PROG34: Decoupling Capacitors and Power Supplies PROG22: Reset PROG23: RAM Contents on Power Up PROG24: Timer Interrupts with Context Saving PROG25: Timer Interrupts without Context Saving PROG26: Button Debouncing using Interrupts and Timer PROG27: Memory-Mapped I/O PROG28: External Memory In Closing Emulators Types of Emulators Monitor Programs PROG29: AT89Cx051 monitor/emulator using the DS87C520 Real-Time Operating Systems RTOS Basics PROG30: 8051 Example RTOS PROG30: RTOSLite PROG31: FullRTOS LCD Digital Clock/Thermometer using FullRTOS Example Applications Marya's Music Box PROG36: 51Bot - Getting the Wheels Turning PROG37: 51Bot - Remote Operation with I/R TV Remote Control PROG41: 51Bot - RS-232 Interface PROG42: 51Bot - PWM Motor Control 51Bot: Embedded Card PROG33: Aircraft Control Demonstration PROG39: Light Sensors for Robots PROG38: Ultrasonic Distance Measuring PROG49: NTSC Compatible Video Output PROG47: Electronic RS-232 "Breakout Box" EpilogueAppendix A - GlossaryAppendix B - 8051 Resources Contacting the Author 8051 Suppliers Part Suppliers Periodicals Web Resources Consultants and Product Suppliers Appendix C - 16-Bit Operations Declaring 16-Bit Variables Incrementing and Decrementing Addition, Subtraction and Bit Operations Multiplication Division Appendix D - Useful Routines Timing Delays Table Operations LCD Interfaces I2C Bus Master Interface "Bit Banking" Asynchronous Serial Interface Hex to ASCII conversion Sorting Numbers Loading the "Encryption Array" Circular Buffers Appendix E - UMPSAppendix F - SimmStickAppendix G - Remote 8051 DebuggerAppendix H - The CD-ROMAppendix I - PROG50: Ordering Raw Cards and KitsIndexThis is the Table of Contents forProgramming & Customizing the 8051 Microcontroller. |