Preface |
|
iii | |
|
|
1 | (24) |
|
|
1 | (3) |
|
Combinational logic circuits |
|
|
4 | (2) |
|
|
6 | (2) |
|
Sequential logic circuits |
|
|
8 | (3) |
|
|
11 | (2) |
|
|
13 | (2) |
|
|
15 | (2) |
|
|
17 | (4) |
|
|
21 | (1) |
|
|
22 | (2) |
|
|
24 | (1) |
|
|
25 | (30) |
|
|
25 | (1) |
|
|
26 | (1) |
|
|
27 | (5) |
|
Pin definitions and functions |
|
|
32 | (2) |
|
|
34 | (2) |
|
|
36 | (3) |
|
|
39 | (3) |
|
|
42 | (4) |
|
|
46 | (4) |
|
|
50 | (2) |
|
Programming the internal Program Memory |
|
|
52 | (2) |
|
|
54 | (1) |
|
The 8051 assembly language programming |
|
|
55 | (34) |
|
|
55 | (1) |
|
|
55 | (5) |
|
|
60 | (1) |
|
|
61 | (3) |
|
Data transfer instructions |
|
|
64 | (2) |
|
|
66 | (5) |
|
|
71 | (1) |
|
|
72 | (2) |
|
Program control instructions |
|
|
74 | (4) |
|
Application examples and problems |
|
|
78 | (8) |
|
Programmable pulse source |
|
|
78 | (1) |
|
|
78 | (3) |
|
synchronizing timer interrupts |
|
|
81 | (3) |
|
|
84 | (2) |
|
|
86 | (2) |
|
|
88 | (1) |
|
|
89 | (40) |
|
|
89 | (1) |
|
|
89 | (15) |
|
|
104 | (6) |
|
|
110 | (4) |
|
|
114 | (3) |
|
Stepper motor interfacing |
|
|
117 | (8) |
|
|
125 | (2) |
|
|
127 | (2) |
|
|
129 | (26) |
|
|
129 | (1) |
|
|
130 | (2) |
|
Digital-to-analog conversion |
|
|
132 | (7) |
|
Analog-to-digital conversion |
|
|
139 | (7) |
|
|
146 | (5) |
|
|
151 | (3) |
|
|
154 | (1) |
|
Interfacing personal computers |
|
|
155 | (44) |
|
|
155 | (1) |
|
Programming the 8051 microcontroller serial port |
|
|
156 | (8) |
|
Programming the personal computer serial ports |
|
|
164 | (10) |
|
The 8051 microcontroller - PC serial communications |
|
|
174 | (20) |
|
|
194 | (3) |
|
|
197 | (1) |
|
|
198 | (1) |
|
The 83C552 microcontroller |
|
|
199 | (60) |
|
|
199 | (2) |
|
|
201 | (2) |
|
|
203 | (1) |
|
Pin definitions and functions |
|
|
204 | (3) |
|
|
207 | (5) |
|
|
212 | (1) |
|
Analog-to-digital converter |
|
|
213 | (4) |
|
Pulse width modulated outputs |
|
|
217 | (5) |
|
|
222 | (4) |
|
|
226 | (2) |
|
Application examples and problems |
|
|
228 | (28) |
|
|
228 | (3) |
|
|
231 | (11) |
|
|
242 | (9) |
|
Programmable Logic Controllers |
|
|
251 | (5) |
|
|
256 | (2) |
|
|
258 | (1) |
|
Serial interfaces for distributed embedded systems |
|
|
259 | (22) |
|
|
259 | (1) |
|
|
260 | (4) |
|
The 83C552 microcontroller I2C bus subsystem |
|
|
264 | (2) |
|
I2C bus application examples and problems |
|
|
266 | (8) |
|
Interfacing I/O expanders |
|
|
266 | (5) |
|
|
271 | (3) |
|
Distributed embedded systems based on I2C bus |
|
|
274 | (1) |
|
|
275 | (4) |
|
|
279 | (1) |
|
|
280 | (1) |
|
High level languages for microcontrollers |
|
|
281 | (20) |
|
Why high level languages? |
|
|
281 | (1) |
|
When to use high level languages? |
|
|
282 | (1) |
|
Which language to choose? |
|
|
282 | (1) |
|
|
283 | (1) |
|
Application examples and problems |
|
|
284 | (14) |
|
|
284 | (1) |
|
|
285 | (4) |
|
|
289 | (3) |
|
|
292 | (6) |
|
|
298 | (1) |
|
|
299 | (2) |
|
|
301 | (26) |
|
|
301 | (1) |
|
|
302 | (5) |
|
|
307 | (3) |
|
|
310 | (2) |
|
Hardware-software co-design |
|
|
312 | (4) |
|
I/O interface co-design for distributed systems |
|
|
316 | (7) |
|
Hardware-software co-design systems |
|
|
323 | (1) |
|
|
324 | (3) |
|
|
327 | (42) |
|
|
327 | (1) |
|
|
327 | (12) |
|
|
328 | (1) |
|
|
329 | (10) |
|
|
339 | (29) |
|
A microcontroller architecture |
|
|
340 | (4) |
|
A microcontroller plus ASIC architecture |
|
|
344 | (24) |
|
|
368 | (1) |
Appendix A Survey of microcontrollers |
|
369 | (6) |
Appendix B The 8051 microcontroller Special Function Registers |
|
375 | (2) |
Appendix C The 83C552 microcontroller Special Function Registers |
|
377 | (4) |
Appendix D The 8051 and 83C552 microcontrollers instruction set |
|
381 | (24) |
Appendix E Instruction set - summary |
|
405 | (6) |
Index |
|
411 | |