CHAPTER 0: INTRODUCTION TO COMPUTING 1 Section 0.1: Numbering and coding systems 2 Section 0.2: Digital primer 9 Section 0.3: Inside the computer 13 CHAPTER 1: THE 8051 MICROCONTROLLERS 23 Section 1.1: Microcontrollers and embedded processors 24 Section 1.2: Overview of the 8051 family 28 CHAPTER 2: 8051 ASSEMBLY LANGUAGE PROGRAMMING 37 Section 2.1: Inside the 8051 38 Section 2.2: Introduction to 8051 Assembly programming 41 Section 2.
3: Assembling and running an 8051 program 44 Section 2.4: The program counter and ROM space in the 8051 46 Section 2.5: 8051 data types and directives 49 Section 2.6: 8051 flag bits and the PSW register 52 Section 2.7: 8051 register banks and stack 55 CHAPTER 3: JUMP, LOOP, AND CALL INSTRUCTIONS 69 Section 3.1: Loop and jump instructions 70 Section 3.2: Call instructions 75 Section 3.3: Time delay for various 8051 chips 80 CHAPTER 4: I/O PORT PROGRAMMING 93 Section 4.
1: 8051 I/O programming 94 Section 4.2: I/O bit manipulation programming 100 CHAPTER 5: 8051 ADDRESSING MODES 109 Section 5.1: Immediate and register addressing modes 110 Section 5.2: Accessing memory using various addressing modes 112 Section 5.3: Bit addresses for I/O and RAM 122 Section 5.4: Extra 128-byte on-chip RAM in 8052 131 CHAPTER 6: ARITHMETIC & LOGIC INSTRUCTIONS AND PROGRAMS 139 Section 6.1: Arithmetic instructions 140 Section 6.2: Signed number concepts and arithmetic operations 150 Section 6.
3: Logic and compare instructions 155 Section 6.4: Rotate instruction and data serialization 161 Section 6.5: BCD, ASCII, and other application programs 167 CHAPTER 7: 8051 PROGRAMMING IN C 181 Section 7.1: Data types and time delay in 8051 C 182 Section 7.2: I/O programming in 8051 C 188 Section 7.3: Logic operations in 8051 C 194 Section 7.4: Data conversion programs in 8051 C 199 Section 7.5: Accessing code ROM space in 8051 C 204 Section 7.
6: Data serialization using 8051 C 209 CHAPTER 8: 8051 HARDWARE CONNECTION AND INTEL HEX FILE 217 Section 8.1: Pin description of the 8051 218 Section 8.2: Design and test of DS89C4x0 trainer 224 Section 8.3: Explaining the Intel hex file 232 CHAPTER 9: 8051 TIMER PROGRAMMING IN ASSEMBLY AND C 239 Section 9.1: Programming 8051 timers 240 Section 9.2: Counter programming 255 Section 9.3: Programming timers 0 and 1 in 8051 C 260 CHAPTER 10: 8051 SERIAL PORT PROGRAMMING IN ASSEMBLY AND C 277 Section 10.1: Basics of serial communication 278 Section 10.
2: 8051 connection to RS232 285 Section 10.3: 8051 serial port programming in Assembly 287 Section 10.4: Programming the second serial port 300 Section 10.5: Serial port programming in C 306 CHAPTER 11: INTERRUPTS PROGRAMMING IN ASSEMBLY AND C 317 Section 11.1: 8051 interrupts 318 Section 11.2: Programming timer interrupts 322 Section 11.3: Programming external hardware interrupts 326 Section 11.4: Programming the serial communication interrupt 333 Section 11.
5: Interrupt priority in the 8051/52 337 Section 11.6: Interrupt programming in C 340 CHAPTER 12: LCD AND KEYBOARD INTERFACING 351 Section 12.1: LCD interfacing 352 Section 12.2: Keyboard interfacing 363 CHAPTER 13: ADC, DAC, AND SENSOR INTERFACING 373 Section 13.1: Parallel and serial ADC 374 Section 13.2: DAC interfacing 398 Section 13.3: Sensor interfacing and signal conditioning 403 CHAPTER 14: 8051 INTERFACING TO EXTERNAL MEMORY 411 Section 14.1: Semiconductor memory 412 Section 14.
2: Memory address decoding 422 Section 14.3: 8031/51 interfacing with external ROM 425 Section 14.4: 8051 data memory space 430 Section 14.5: Accessing external data memory in 8051 C 440 CHAPTER 15: 8051 INTERFACING WITH THE 8255 449 Section 15.1: Programming the 8255 450 Section 15.2: 8255 interfacing 458 Section 15.3: 8051 C programming for the 8255 462 CHAPTER 16: DS12887 RTC INTERFACING AND PROGRAMMING 467 Section 16.1: DS12887 RTC interfacing 468 Section 16.
2: DS12887 RTC programming in C 476 Section 16.3: Alarm, SQW, and IRQ features of the DS12887 chip 479 CHAPTER 17: MOTOR CONTROL: RELAY, PWM , DC , AND STEPPER MOTORS 491 Section 17.1: Relays and optoisolators 492 Section 17.2: Stepper motor interfacing 498 Section 17.3: DC motor interfacing and PWM 507 APPENDIX A: 8051 INSTRUCTIONS, TIMING, AND REGISTERS 523 APPENDIX B: BASICS OF WIRE WRAPPING 563 APPENDIX C: IC TECHNOLOGY AND SYSTEM DESIGN ISSUES 567 APPENDIX D: FLOWCHARTS AND PSEUDOCODE 587 APPENDIX E: 8051 PRIMER FOR X86 PROGRAMMERS 592 APPENDIX F: ASCII CODES 593 APPENDIX G: ASSEMBLERS, DEVELOPMENT RESOURCES, AND SUPPLIERS 594 APPENDIX H: DATA SHEETS 596 INDEX 617.