Embedded Microprocessor Systems Design
An Introduction Using The Intel 80C188Eb
Résumé
Contents
Preface xi CHAPTER 1 Introduction 1 1.1 Microprocessors and Embedded Systems 3 1.2 Diverse Applications 5 1.3 Common System Structure and Operation 9 1.4 Embedded System Design 11 1.5 The 80C188EB Microprocessor and the 16 80x86 Family 1.6 Organization of this Text 20 1.7 Summary 22 CHAPTER 2 Register View of a Simple 23 Microprocessor System 2.1 Memory Cells 24 2.2 Storage Registers 27 2.3 Data Transfer Between Registers 31 2.4 Register View of a Memory Subsystem 35 2.5 Register View of I/O Subsystems 36 2.6 Operational Registers 38 2.7 Register View of a Simple Microprocessor 39 2.8 Register View of a System's Operation 43 2.9 Summary 46 2.10 Problems 47 CHAPTER 3 Register View of 80C188EB Systems 51 3.1 80C188EB CPU Subsystem 52 3.2 Memory Subsystem 55 3.3 I/O Subsystems 57 3.4 80C188EB Modular Core CPU 59 3.5 Memory Segmentation and the BIU's 62 Segment Registers 3.6 The EU and its Registers 70 3.7 Programmer's Register View of an 71 80C188EB System 3.8 The 80C186EB Microprocessor 72 3.9 Summary 72 3.10 Problems 73 CHAPTER 4 Assembly Language and Assemblers 77 4.1 Machine Language Instructions 78 4.2 Assembly Language Instructions 80 4.3 Simple Programs Structured as 84 Sequential Tasks 4.4 ASM86 Assembly Language and Assemblers 88 4.5 Relocatable Program Modules and 91 Location 4.6 Embedded Assemblers Versus DOS 93 Assemblers 4.7 Intel's ASM86 Assembler and Utilities 94 4.8 Assembly Language Programs that Run 100 Under DOS 4.9 Borland's TASM Assembler and 102 Paradigm's LOCATE 4.10 ROMable DOS and DOS Emulators 106 4.11 Summary 107 4.12 Problems 108 CHAPTER 5 Debugging Tools 111 5.1 Debugger Fundamentals 112 5.2 Debugging Tools Overview 116 5.3 Borland's Turbo Debugger 124 5.4 Intel's RISM (Remote) Monitor 129 5.5 PromICE ROM Emulator 129 5.6 Paradigm DEBUG/RT Remote Debugger 130 5.7 CodeTAP Target Access Probe 133 5.8 Intel EV80C186EB Evaluation Board 135 5.9 Observing Instruction and Program 136 Execution 5.10 Summary 139 5.11 Problems 140 CHAPTER 6 Data Transfer, Data Allocation, 141 and Addressing Modes 6.1 Data Transfer and Addressing Modes 142 6.2 I/O Port Addressing 145 6.3 Register Addressing 148 6.4 Immediate Addressing 148 6.5 Allocating RAM for Data Variables 150 6.6 Memory Addressing Modes 157 6.7 Structures 164 6.8 Addressability and Segment Overrides 167 6.9 Allocating ROM for Data Constants 167 6.10 Address Object Transfers 170 6.11 80C186EB Data Transfer Considerations 172 6.12 Summary 173 6.13 Problems 173 CHAPTER 7 Bit Manipulation, Branching, and 179 Looping 7.1 Flags Register 180 7.2 Logical Instructions 182 7.3 Shifts and Rotates 185 7.4 Unconditional Jumps 188 7.5 Conditional Jumps 194 7.6 Looping and Iteration Control 199 7.7 Conditional Task Execution 202 7.8 Repeated String Instructions 206 7.9 Records 209 7.10 Summary 211 7.11 Problems 212 CHAPTER 8 The Stack, Procedures, and Modular 217 Software 8.1 The Stack 218 8.2 80C188EB Stack Allocation and Operation 220 8.3 Procedures 224 8.4 Procedures in a Single Module Program 232 8.5 Parameter Passing 234 8.6 Modular Software Design Using 244 Procedures 8.7 Procedure Sequencing Using a Finite 247 State Machine 8.8 Testing and Debugging Procedures 252 8.9 Summary 253 8.10 Problems 253 CHAPTER 9 Arithmetic Operands and Arithmetic 257 9.1 Numeric Operand Representations 258 9.2 Unsigned Binary Arithmetic 259 9.3 Signed Binary Arithmetic 264 9.4 Unpacked BCD Arithmetic 269 9.5 Packed BCD Arithmetic 272 9.6 Binary/BCD Conversions 273 9.7 Summary 273 9.8 Problems 276 CHAPTER 10 80C188EB CPU Subsystems 281 10.1 CPU Subsystems 282 10.2 The 80C188EB Microprocessor 285 10.3 System Clock, Reset, and Bus Cycles 287 10.4 Address/Data Bus Demultiplexing 296 10.5 A Fully Buffered 80C188EB CPU 299 Subsystem 10.6 Logic Family Compatibility, Loading, 302 and Buffering 10.7 A Minimum Component Complete System 309 10.8 Single and Multi-Board Systems 311 10.9 Peripheral Control Block (PCB) 315 10.10 The 80C186EB Microprocessor 319 10.11 Summary 320 10.12 Problems 321 CHAPTER 11 Memory Subsystems 325 11.1 Memory Subsystems 326 11.2 Logical Structure and Operation of 328 Memory ICs 11.3 Static Random Access Memory, SRAM 333 11.4 Erasable Programmable Read Only 337 Memory 11.5 Flash Memory 339 11.6 Memory Subsystem Design 349 11.7 80C188EB Memory Subsystem Design 351 11.8 80C186EB Memory Subsystem Design 353 11.9 Memory Address Decoding 356 11.10 The 80C188EB's Chip-Select Unit 358 11.11 SSI and MSI External Address Decoders 364 11.12 PLD External Address Decoders 366 11.13 Summary 374 11.14 Problems 374 CHAPTER 12 Basic I/O Subsystems 377 12.1 Basic I/O Ports 378 12.2 MSI I/O Ports 384 12.3 I/O Ports on Microprocessor 387 Compatible ICs and Device Controllers 12.4 I/O Port Address Decoding 388 12.5 PLD External I/O Address Decoders 392 12.6 SSI and MSI External I/O Address 394 Decoders 12.7 Conditional I/O 397 12.8 The 80C188EB Input/Output Unit 401 12.9 Interfacing I/O Ports to an 80C186EB 408 12.10 82C55A Programmable LSI I/O Ports 409 12.11 Summary 415 12.12 Problems 416 CHAPTER 13 Timing 419 13.1 Timing Constraints and System 420 Architecture 13.2 Instruction Execution Time 420 13.3 Wait States 423 13.4 Memory IC Timing Parameters 425 13.5 Memory Subsystem Timing Compatibility 429 Calculations 13.6 I/O Timing Considerations 441 13.7 80C188EB Timer/Counter Unit 442 13.8 82C54 Programmable Interval 453 Timer/Counter 13.9 Real-Time Clocks 456 13.10 Watchdog Timers 459 13.11 Summary 459 13.12 Problems 460 CHAPTER 14 Interrupts and Exceptions 463 14.1 Fundamental Interrupt Concepts 464 14.2 80C188EB Interrupts and Interrupt 467 Processing Sequence 14.3 Interrupt Vector Table 470 14.4 80C188EB Hardware Interrupts 473 14.5 80C188EB Interrupt Control Unit 480 14.6 Interrupt Service Routines 491 14.7 Interrupt Driven Systems 496 14.8 Software Interrupts and Exceptions 497 14.9 Interrupt Priority and Latency 500 14.10 82C59A Priority Interrupt Controller 503 14.11 Debugging Hardware Interrupts 506 14.12 Summary 507 14.13 Problems 508 CHAPTER 15 Data Entry and Display 511 15.1 User Data Entry 512 15.2 Mechanical Switches 512 15.3 Keypads and Keyboards 525 15.4 Optical Shaft Encoders 532 15.5 Displays 540 15.6 LED Displays 541 15.7 Multiplexed Eight-Digit LED Display 547 Driver 15.8 Liquid Crystal Display (LCD) Modules 549 15.9 Vacuum Fluorescent Display (VFD) 562 Modules 15.10 Summary 563 15.11 Problems 563 CHAPTER 16 Serial I/O Subsystems 567 16.1 Serial Data Transfer 568 16.2 Universal Asynchronous 573 Receiver/Transmitters 16.3 The 80C188EB's Serial Communications 576 Unit, SCU 16.4 SCU Asynchronous Serial Transfers 577 16.5 Circular Memory Buffers 585 16.6 RS-232 and Other Serial 586 Communications Interfaces 16.7 Flow Control 592 16.8 "PC Type" UARTs 594 16.9 SCU Asynchronous Serial Transfer for 598 Multiprocessor Systems 16.10 Synchronous Serial Data Transfer 601 16.11 Clocked Synchronous Transfers Using 602 the SCU 16.12 Summary 603 16.13 Problems 604 CHAPTER 17 Analog Data and Analog Output 607 Subsystems 17.1 Analog Data and Analog I/O Subsystems 608 17.2 Digital-to-Analog Converters (DACs) 610 17.3 DAC to System Bus Interface 618 17.4 Basic DAC Circuits 624 17.5 Loading and Impedance Considerations 627 17.6 Operational Amplifiers 630 17.7 Analog Demultiplexers 633 17.8 Track-Holds 636 17.9 Digital Potentiometers 640 17.10 Summary 642 17.11 Problems 643 CHAPTER 18 Analog Input Subsystems 647 18.1 Analog Data Acquisition 648 18.2 Input Transducers 649 18.3 Analog Input Signal Conditioning 651 18.4 Track-holds for Analog to Digital 657 Conversion 18.5 Analog-to-Digital Converters (ADCs) 658 18.6 Direct Conversion Techniques 662 18.7 Indirect Conversion Techniques 668 18.8 Analog Multiplexers 672 18.9 Multichannel Data Acquisition System 675 18.10 Summary 677 18.11 Problems 678 CHAPTER 19 High Data Rate I/O 681 19.1 Programmed I/O and Interrupt Driven 682 I/O Data Transfer Rates 19.2 Hardware FIFO Buffers 684 19.3 DMA Transfers 689 19.4 The 80C188EB's Support for DMA and 692 Multiple Bus Masters 19.5 82C37A DMA Controller 693 19.6 80C18xEx Family Members with On-Chip 695 DMA 19.7 Summary 703 19.8 Problems 704 CHAPTER 20 Multi-Module and Multi-Language 705 Programs 20.1 Multi-Module Programs 706 20.2 Linking Multiple Modules 709 20.3 Managing Multi-module Programs with a 713 Make Utility 20.4 Segment Groups 717 20.5 Mixed Language Programs 719 20.6 Memory Models 721 20.7 Interfacing C and Assembly Language 722 Modules 20.8 Simplified Segment Directives 732 20.9 Startup Code 734 20.10 Summary 735 Appendix A: ASCII Codes 739 Appendix B: Some Useful URLs 741 Appendix C: Instruction Set Descriptions 743 Appendix D: Instruction Set Opcodes and Clock 791 Cycles Bibliography 801 Index 809
Caractéristiques techniques
PAPIER | |
Éditeur(s) | Prentice Hall |
Auteur(s) | Kenneth L. Short |
Parution | 01/02/1998 |
Nb. de pages | 819 |
Format | 19,5 x 24 |
Couverture | Relié |
Poids | 1444g |
Intérieur | Noir et Blanc |
EAN13 | 9780132494670 |
Avantages Eyrolles.com
Consultez aussi
- Les meilleures ventes en Graphisme & Photo
- Les meilleures ventes en Informatique
- Les meilleures ventes en Construction
- Les meilleures ventes en Entreprise & Droit
- Les meilleures ventes en Sciences
- Les meilleures ventes en Littérature
- Les meilleures ventes en Arts & Loisirs
- Les meilleures ventes en Vie pratique
- Les meilleures ventes en Voyage et Tourisme
- Les meilleures ventes en BD et Jeunesse