Software and Hardware Engineering

Software and Hardware Engineering : Motorola M68HC12

By (author)  , By (author) 

List price: US$77.00

Currently unavailable

Add to wishlist

AbeBooks may have this title (opens in new window).

Try AbeBooks


Software and Hardware Engineering: Motorola M68HC12 is the second in a series of processor-specific texts designed to stand alone or to accompany Cady's previous book, Microcontrollers and Microcomputers: Principles of Software and Hardware Engineering (OUP 98). This two-text concept provides well-written text coverage of the general principles of software and hardware design. This accompanying processor-specific volume allows professors to choose a particular microcontroller for their course/lab work. The previous text focused specifically on the Motorola M688HC11. This text provides an introduction to the architecture and design of software and hardware for the Mortorola M68HC12. Specifically, it covers the hardware features of two versions of the M68HC12 - the M68HC12A4 and the M68HC912B32. In addition to covering and comparing features common with its M68HC11 predecessor, this text features chapter on fuzzy logic and how to program a fuzzy inference engine. A detailed appendix explains the design of software for a debugging pod. There are more than 100 extensive programming examples. This text will provide the beginning student with specific material and examples to apply the Motorola M68HC12 microcontroller in real-world applications. It is written so that a student or engineer familiar with the Motorla M68HC11 will be easily assimilate the differences between it and the M68HC12. It is suitable for undergraduate students in electrical engineering or technology programs in electrical and computer technology. This text can be used with its companion volume, Microcontrollers and Microcomputers: Principles of Software and Hardware Engineering, or with any other book that examines the general principles of microcomputer technology. It can stand by itself in a course devoted to the M68HC12. A world wide web site provides an errata and other information including source files for all chapter examples: http://www more

Product details

  • Paperback | 592 pages
  • 188 x 231.1 x 30.5mm | 975.23g
  • Oxford University Press Inc
  • New York, United States
  • English
  • numerous line figures
  • 0195124693
  • 9780195124699

Table of contents

1. Introduction; 1.1 Introduction; 1.2 Computers, Microprocessors, Microcomputers, Microcontrollers; 1.3 Some Basic Definitions; 1.4 Notation; 1.5 Bibliography and Further Reading; 1.6 References; 2. Introduction to the M68HC12 Hardware; 2.1 Chapter Pre-study Material; 2.2 Introduction; 2.3 The CPU, Registers; 2.4 Background Debug Mode (BDM); 2.5 Memory Map; 2.6 Addressing Modes; 2.7 Reset; 2.8 Conclusion and Chapter Summary Points; 2.9 Bibliography and Further Reading; 2.10 Problems; 3. As Assembler Program; 3.1 Assembly Language Example; 3.2 M68HC12 CASM12 Assembler; 3.3 Assembler Source Code Fields; 3.4 Assembler Pseudo-operations and Directives; 3.5 Assembler Output Files; 3.6 Assembler Invocation; 3.7 Assembler Errors; 3.8 Chapter Summary Points; 3.9 Problems; 4. The M68HC12 Instruction Set; 4.1 Introduction; 4.2 M68HC12 Instruction Set Categories; 4.3 M68HC12 Instruction and Operand Syntax; 4.4 Load and Store Register Instructions; 4.5 Transfer Register Instructions; 4.6 Move Register Instructions; 4.7 Decrement and Increment Instructions; 4.8 Clear and Set Instructions; 4.9 Shift and Rotate Instructions; 4.10 Arithmetic Instructions; 4.11 Logic nstructions; 4.12 Data Test Instructions; 4.13 Conditional Branch Instructions; 4.14 Loop Primitive Instructions; 4.15 Unconditional Jump and Branch Instructions; 4.16 Condition Code Register Instructions; 4.17 Interrupt Instructions; 4.19 Miscellaneous Instructions; 4.20 Chapter Summary Points; 4.21 Bibliography and Further Reading; 4.22 Problems; 5. D-Bug12 Monitor and Debugger; 5.1 M68HC12EVB D-bug Monitor; 5.2 Monitor Commands; 5.3 Monitor Utility Commands; 5.4 D-Bug12 Monitor Interrupt Vector Initialization; 5.5 Operating Hints for the D-Bug12 Monitor; 5.6 Problems; 6. Programs for the M68HC12; 6.1 Assembly Language Programming Style; 6.2 Structured Assembly Language Programming Style; 6.3 Example Programs; 6.4 Conclusions and Chapter Summary Points; 6.5 Bibliography and Further Reading; 6.6 Problems; 7. M68HC12 Parallel I/O; 7.1 Introduction; 7.2 M68HC12A4 and M68HC12B32; 7.3 Operating Modes; 7.4 The Programmer's I/O Model; 7.5 M68HC12 Parallel I/O ports; 7.6 Data Direction Registers; 7.7 Input and Output Pin Electronics; 7.8 I/O Software; 7.9 Hardware Handshaking I/O; 7.10 Chapter Summary Points; 7.11 Bibliography and Further Reading; 7.12 Problems; 8. M68HC12 Interrupts; 8.1 Introduction; 8.2 M68HC12 and M68HC11 Interrupt Comparison; 8.3 The Interrupt Process; 8.4 Interrupt Vectors; 8.5 Interrupt Priorities; 8.6 Nonmaskable Interrupts; 8.7 External Interrupt Source; 8.9 Internal Interrupt Sources; 8.10 Advanced Interrupts; 8.11 The Interrupt Service Routine; 8.12 Conclusion and Chapter Summaries; 8.13 Bibliography and Further Reading; 8.14 Problems; 9. M68HC12 Memories; 9.1 Introduction; 9.2 M68HC12 Memory Map; 9.3 M68HC12 RAM; 9.4 M68HC12 EEPROM; 9.5 MC68HC912B32 Flash EEPROM; 9.6 MC68HC12A4 Expansion Memory; 9.7 Expanded-narrow and Expanded wide Memory Designs; 9.8 Clock Stretch Bits; 9.9 Conclusion and Chapter Summary Points; 9.10 Bibliography and Further Reading; 9.11 Problems; 10. MC68HC12 Timer; 10.1 Introduction; 10.2 Basic Timer; 10.3 Output Compare; 10.4 Input Captuer; 10.5 Pulse Accumulator; 10.6 Plain and Fancy Timing; 10.7 Real-time Interrupts; 10.8 Timer Input and Output Electronics; 10.9 External Interrupts Using Timer Interrupts; 10.10 Clearing Timer Flags; 10.11 MC68HC912B32 Pulse-width modulator; 10.12 Conclusion and Chapter Summary Points; 10.13 Problems; 11. M68HC12 Serial I/O; 11.1 Introduction; 11.2 Port S Serial I/O; 11.3 Asynchronous Serial Communications Interface - SCI; 11.4 Synchromnous Serial Peripheral Interface - SPI; 11.5 MC68HC912B32 Byte Data Link Communciations Module; 11.6 Conclusion and Chapter Summary; 11.7 Bibliography and Further Reading; 11.8 Problems; 12. M68HC12 Analog Input; 12.1 Input; 12.2 M68HC12 A/D Converter; 12.3 A/D Input Synchronization; 12.4 A/D Interrupts; 12.5 Miscellaneous A/D Registers; 12.6 A/D Control Register Summary; 12.7 A/D Programming Summary; 12.8 A/D Programming Example; 12.9 Chapter Summary Points; 12.10 Bibliography and Further Reading; 12.11 Problems; 13. Fuzzy Logic; 13.1 Introduction; 13.2 Our Digital Heritage; 13.3 How is Fuzzy Logic Different?; 13.4 What is Fuzzy About Fuzzy Logic?; 13.5 Structure of a Fuzzy Logic Inference Program; 13.6 Fuzzification; 13.7 Rule Evaluation; 13.8 Defuzzification; 13.9 Putting it all Together; 13.10 The Complete Fuzzy Inference System; 13.11 Fuzzy Logic; 13.12 Conclusion and Chapter Summary Points; 13.13 Bibliography and Further Reading; 13.14 Problems; 14. Debugging Systems; 14.1 Introduction; 14.2 Development Related Features of the M68HC12; 14.3 Hardware Versus Software Breakpoints; 14.4 Background Debug Module; 14.5 Instruction Tagging; 14.6 Capturing M68HC12 Bus Signals; 14.7 Hardware Breakpoints; 14.8 Conclusion and Chapter Summary Points; 14.9 Bibliography adn Further Reading; 14.10 Problems; 15. Advanced M68HC12 Hardware; 15.1 M68HC12 Clock Generators; 15.2 Hardware Mode Select; 15.3 Expanded Mode Port E Emulation; 15.4 Miscellaneous Registers; 15.5 Power Saving Modes; 15.6 Bibliography and Further Reading; Appendix A Debugging Systems Pod Design; Answers to Chapter Problems; Indexshow more