The 8051 Microcontroller and Embedded Systems – Mazidi & Mazidi – 1st Edition

Description

This book uses a step-by-step approach to teach the fundamentals of language programming and of the 8051 microcontroller. It uses many examples to clarify concepts. Simple, concise examples are utilized to show what action each instruction performs, then a sample is provided to show its application.

This text provides a comprehensive understanding of the internal organization of the 8051 registers and resources in a way that sheds the student’s fear of language. Whether become designers of stand-alone systems or embedded systems, they will find this text a useful resource.

View more

  • 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/OPORT 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


  • Citation

Leave us a commentNo Comments


guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x