8051 Microcontroller and Embedded Systems 2nd Ed Muhammad Ali Mazidi

Muhammad Ali Mazidi is the finest writer of all time for writing technical books like PIC, 8051 and other technologies worldwide, The 8051 Microcontroller and Embedded Systems 2nd Ed Muhammad Ali Mazidi is the comprehensive book based on 8051 microconrollers and its variant like 89C51, 89C52, 89S51, 89S52 and other variants. The beauty of the this book is, starts from basic to advanced. How to program and interfacing with external world.

Mazidi’s 8051 Microcontroller, Its a systematic approach, a step by step easiest method which covers all important aspect of 8051 based microcontroller. Both programming languages C and Assembly Language which are most used in worldwide for their versatile features. It offers wide range of live practical sample programs with the opportunity of learning.

Table of Content

CHAPTER 0: INTRODUCTION TO COMPUTING 1

0.1: Numbering and coding systems 2
0.2: Digital primer 9
0.3: Inside the micro computer 13

CHAPTER 1: THE 8051 MICROCONTROLLERS 23

1.1: Microcontrollers and embedded  processors 24
1.2: Overview of the 8051 family 28

CHAPTER 2: 8051 ASSEMBLY LANGUAGE PROGRAMMING 37

2.1: Inside the 8051 38
2.2: Introduction to 8051 Assembly programming 41
2.3: Assembling and running an 8051 program 44
2.4: The program counter and ROM space in the 8051 46
2.5: 8051 data types and directives 49
2.6: 8051 flag bits and the PSW register 52
2.7: 8051 register banks and stack 55

CHAPTER 3: JUMP, LOOP, AND CALL INSTRUCTIONS 69

3.1: Loop and jump instructions 70
3.2: Call instructions 75
3.3: Time delay for various 8051 chips 80

CHAPTER 4: I/OPORT PROGRAMMING 93

4.1: 8051 I/O programming 94
4.2: I/O bit manipulation programming 100

CHAPTER 5: 8051 ADDRESSING MODES 109

5.1: Immediate and register addressing modes 110
5.2: Accessing memory using various addressing modes 112
5.3: Bit addresses for I/O and RAM 122
5.4: Extra 128-byte on-chip RAM in 8052 131

CHAPTER 6: ARITHMETIC & LOGIC INSTRUCTIONS AND PROGRAMS 139

6.1: Arithmetic instructions 140
6.2: Signed number concepts and arithmetic operations 150
6.3: Logic and compare instructions 155
6.4: Rotate instruction and data serialization 161
6.5: BCD, ASCII, and other application programs 167

CHAPTER 7: 8051 PROGRAMMING IN C 181

7.1: Data types and time delay in 8051 C 182
7.2: I/O programming in 8051 C 188
7.3: Logic operations in 8051 C 194
7.4: Data conversion programs in 8051 C 199
7.5: Accessing code ROM space in 8051 C 204
7.6: Data serialization using 8051 C 209

CHAPTER 8: 8051 HARDWARE CONNECTION AND INTEL HEX FILE 217

8.1: Pin description of the 8051 218
8.2: Design and test of DS89C4x0 trainer 224
8.3: Explaining the Intel hex file 232

CHAPTER 9: 8051 TIMER PROGRAMMING IN ASSEMBLY AND C 239

9.1: Programming 8051 timers 240
9.2: Counter programming 255
9.3: Programming timers 0 and 1 in 8051 C 260

CHAPTER 10: 8051 SERIAL PORT PROGRAMMING IN ASSEMBLY AND C 277

10.1: Basics of serial communication 278
10.2: 8051 connection to RS232 285
10.3: 8051 serial port programming in Assembly 287
10.4: Programming the second serial port 300
10.5: Serial port programming in C 306

CHAPTER 11: INTERRUPTS PROGRAMMING IN ASSEMBLY AND C 317

11.1: 8051 interrupts 318
11.2: Programming timer interrupts 322
11.3: Programming external hardware interrupts 326
11.4: Programming the serial communication interrupt 333
11.5: Interrupt priority in the 8051/52 337
11.6: Interrupt programming in C 340

CHAPTER 12: LCD AND KEYBOARD INTERFACING 351

12.1: LCD interfacing 352
12.2: Keyboard interfacing 363

CHAPTER 13: ADC, DAC, AND SENSOR INTERFACING 373

13.1: Parallel and serial ADC 374
13.2: DAC interfacing 398
13.3: Sensor interfacing and signal conditioning 403

CHAPTER 14: 8051 INTERFACING TO EXTERNAL MEMORY 411

14.1: Semiconductor memory 412
14.2: Memory address decoding 422
14.3: 8031/51 interfacing with external ROM 425
14.4: 8051 data memory space 430
14.5: Accessing external data memory in 8051 C 440

CHAPTER 15: 8051 INTERFACING WITH THE 8255 449

15.1: Programming the 8255 450
15.2: 8255 interfacing 458
15.3: 8051 C programming for the 8255 462

CHAPTER 16: DS12887 RTC INTERFACING AND PROGRAMMING 467

16.1: DS12887 RTC interfacing 468
16.2: DS12887 RTC programming in C 476
16.3: Alarm, SQW, and IRQ features of the DS12887 chip 479

CHAPTER 17: MOTOR CONTROL: RELAY, PWM, DC, AND STEPPER MOTORS 491

17.1: Relays and optoisolators 492
17.2: Stepper motor interfacing 498
17.3: DC motor interfacing and PWM 507

APPENDIX

  • 8051 INSTRUCTIONS, TIMING, AND REGISTERS 523
  • BASICS OF WIRE WRAPPING 563
  • IC TECHNOLOGY AND SYSTEM DESIGN ISSUES 567
  • FLOWCHARTS AND PSEUDOCODE 587
  • 8051 PRIMER FOR X86 PROGRAMMERS 592
  • ASCII CODES 593
  • ASSEMBLERS, DEVELOPMENT RESOURCES
  • DATA SHEETS 8051, 596