Introduction to Embedded Microcomputer Systems: Motorola 6811 and 6812 Simulation,
Jonathan W. Valvano, Thomson-Engineering Publishers, ISBN 0-534-39177-x
The two readme.exe movies are not on the CD, to get them, go to
search isbn = 053439177X
click on Student Companion Site
click on Student Downloads
Click here for more recent readme movies
Embedded computer systems are electronic systems that include a microcomputer to perform a specific dedicated application. The computer is hidden inside these products. Embedded systems are ubiquitous. Every week millions of tiny computer chips come pouring out of factories like Motorola, Intel, Philips, and Mitsubishi finding their way into our everyday products. Our global economy, our production of food, our transportation systems, our military defense, our communication systems, and even our quality of life depend on the efficiency and effectiveness of these embedded systems. Engineers play a major role in all phases of this effort: planning, design, analysis, manufacturing, and marketing. This book provides an introduction to embedded systems, including both hardware interfacing and software fundamentals.
Although real applications require actual physical devices to perform desired operations, the approach taken in this book is to develop hardware and software using simulation. The simulator that accompanies this book is called Test EXecute And Simulate (TExaS). This simulator, like all good applications, has an easy learning curve. Although a professional engineer could use TExaS to develop actual embedded systems, its intended use is as an educational tool. It provides a self-contained approach to writing and testing microcomputer hardware and software. It is unique from other simulators in two aspects. If enabled, the simulator shows activity internal to the chip like the read/write address/data bus, the instruction register and effective address register. In this way, you can use TExaS to learn how a computer works. In particular, you can experience the architecture by observing activity inside the microcomputer. On the other end of the spectrum, you have the ability to connect external hardware devices like switches, LEDs, LCDs, keyboards, serial port devices, motors, and analog circuits. You can use logic probes, voltmeters, oscilloscopes and logic analyzers to observe the external hardware. The simulator supports most of the I/O port functions of the Motorola 6811 and 6812 microcomputers, like interrupts, serial port, input capture, output compare, key wakeup, STRA, timer overflow, real-time interrupt, and the ADC. With these features, you can use TExaS to learn microcomputer programming and interfacing. You can develop software either in assembly language using the TExaS assembler, or program in C using a cross-compiler. The freeware ICC11 compiler is included on the CD that accompanies this book. It can be found in the ICC11 folder as part of the TExaS installation. TExaS can import object code from most cross-compilers for the 6811 or 6812. So, combined with a commercial-grade cross-compiler, you will have a powerful hardware/software development system.
Objectives of the book
The overall objective of this book is to present basic computer architecture, teach assembly language programming, and present an introduction to interfacing. This book develops these topics around the TExaS simulator. Although TExaS can be used to develop hardware/software embedded systems on the Motorola 6805, 6808, 6811 or 6812, this book focuses on just the 6811 and 6812. The book describes both the general processes and the specific details involved in microcomputer simulation. In particular, detailed case studies are used to illustrate fundamental concepts, and laboratory assignments are provided. The specific objectives of this book include the understanding of:
the basic procedures involved in hardware/software simulation,
how information is represented on the computer,
the basic arithmetic and logical operations performed by the computer,
the fundamental architecture of the 6811 and 6812 microcomputers,
the input/output operations,
assembly language programming: considering both function and style,
simple hardware interfaces, including
switches, keyboards, LEDs, LCDs, DC motors, DACs, ADCs, and serial ports,
breakpoints, ScanPoints, profiles, monitors, voltmeters, oscilloscopes, logic analyzers.
program structures with a comparison between assembly and C,
elementary data structures,
This book does not discuss in detail every 6811/6812 instruction, but rather presents some of the instructions and uses them to discuss the general issues of representation of information, computer architecture, developing embedded system software. In contrast, the Motorola programming reference guides do give details of each assembly instruction. In a similar manner, the Motorola microcomputer technical reference manuals explain all the I/O port functions. In other words, you will use this book along with the manuals from Motorola. Two short manuals are included as appendices and many of the Motorola manuals are available as pdf documents on the CD. It might be better to order physical documents from Motorola's literature center, or to download the latest version from the Motorola web site.
This book is intended for an introductory laboratory course in microcomputer programming and/or microcomputer interfacing. It is assumed the student has some knowledge of C programming, digital logic and analog circuits. In fact, simple C programs are used throughout the book to assist the development of assembly language programs. Fortunately, located on the CD that accompanies this book, there is a reference called Developing Embedded Software in C using ICC11/ICC12 written as an HTML document. This reference is a complete C programming book, written specifically for embedded software on the 6811 and/or 6812. For more advanced information about microcomputer interfacing and programming, see Embedded Microcomputer Systems: Real Time Interfacing by Jonathan W. Valvano, published by Brooks/Cole, copyright (c) 2000.
This book incorporates a number of special features specifically designed for the beginning engineer. An effective educational approach is to learn by doing. The first action component of the book is the use of checkpoints, which can be found throughout the book. A checkpoint is a short question meant as an immediate feedback mechanism for the reader to evaluate his or her level of comprehension. Checkpoints should be performed while reading the chapter. Answers to checkpoints are given in Appendix 9. The second action component of the book is the tutorial. They are also included at the end of each chapter. The purpose of the tutorial is to immediately reinforce the specific topics of that chapter. Each tutorial includes a sequence of actions (specific things for the reader to do) and a list of questions. Tutorials are meant to be performed without supervision, and should be performed after reading the chapter, but before attempting the labs or homework. Answers to the tutorial questions are also included in Appendix 9. The most important action components of the book are the laboratory assignments included at the end of the chapters. Each laboratory solution can be built and tested using the TExaS simulator. Only by performing the laboratory assignments can the reader truly assimilate the hardware and software concepts introduced in this book. Laboratories are meant to be performed under the supervision of an instructor, and involve the classic engineering processes of design, construction, debugging, and evaluation. Homework problems can also be found at the end of each chapter. These problems are less detailed, and are intended to evaluate the readers understanding of specific topics introduced in the chapter.
Sections labeled with a * are advanced topics and can be skipped without loss of continuity. Chapter 9 contains a set of software style guidelines.
How to teach a course based on this book
The first step in the design of any course is to create a list of educational objectives. This book along with the two HTML documents on the CD could be used to teach introductory microcomputer programming and/or microcomputer interfacing. Specific educational objectives that are supported in this book are microcomputer architecture, number systems, assembly language programming, I/O device interfacing, subroutines, local variables, and interrupts. Chapters 1 through 8 could be used in this introductory assembly language programming class. This book can also be used for a more advanced course in microcomputer interfacing, using Chapters 6 through 12. In this more advanced class, assignments could be developed in assembly or in C.
The next important decision to make is the organization of the student laboratory. The importance of practical "hands on" experience is critical in the educational process. Unfortunately, space staff and money constraints force all of us to compromise, doing the best we can. On the other hand, the role of simulation is becoming increasingly important as the race for technological superiority is run with shorter and shorter design cycle times. Consequently, it is important to expose our students to the all phases of engineering design including problem specification, conceptualization, simulation, construction, and analysis. Universities that adopt this book will be allowed to download, rewrite, print out and distribute the laboratory assignments presented in this book.
The first laboratory configuration is based entirely on material included with book, and involves no extra costs. Each book comes with a CD that allows the student to install the TExaS application on a single computer. Students, for the most part, work off campus and come to a TA station for help or lab grading. In this configuration you can either develop software in assembly using the TExaS assembler or develop C programs using the demo version of ICC11. The simulator itself becomes the platform on which the lab assignments are developed and tested. For examples of this ICC11/TExaS combination run some of the demonstration examples in the ICC11 subdirectory of the TExaS application. Some laboratories are intended to be developed in assembly language using the TExaS simulator, while others could be performed in either assembly or C.
The second configuration performs simulation of C programs. In this laboratory setup, a standard PC-compatible laboratory room can be used. TExaS and a professional cross-compiler (like ImageCraft ICC11 or ICC12) are installed, and the students perform laboratory assignments in this central facility. Other than the professional cross-compiler, no additional setup costs are required. The advantage of this approach is that professional-style C software can be developed with only a modest expense. Laboratories can be adapted to be used with C instead of assembly language.
A third laboratory configuration combines simulation with some real microcomputer experiments. Labs can be first simulated, then run on a real microcomputer. Alternatively, some labs can be simulated, while other labs are developed on a real microcomputer. Students can work off campus on the simulation aspects of the labs. In this configuration, you can either develop software in assembly using the TExaS assembler or develop C programs using a cross-compiler. Object files generated by TExaS can be programmed into a real microcomputer, and debugged using standard debugging systems. This is the more expensive than the other two configurations because actual microcomputer hardware and debugging systems are required.
What's on the CD?
1) The Readme.exe is a 15-minute introductory tutorial about developing assembly language programs on TExaS. This animation does not need to be copied to your hard drive; you can simply watch the movie by double-clicking the Readme.exe that is on the CD itself.
2) The Readme2.exe is a 10-minute introductory tutorial about developing C language programs on TExaS. Again, this animation does not need to be copied to your hard drive to be viewed.
3) TExaS is a complete editor, assembler, and simulator for the 6805, 6808, 6811 and 6812 microcomputers. It simulates external hardware, I/O ports, interrupts, memory, and program execution. It is intended as a learning tool for embedded systems. This software is not freeware, but the purchase of the book entitles the owner to install one copy of the program. The texas directory contains the installer, which you must execute before using the application. Once installed TExaS creates these nine subdirectories
MC6811 6811 assembly examples
MC6812 6812 assembly examples
ICC11 6811 C examples using the freeware compiler
ICC11A 6811 C examples using the professional ICC11 compiler
ICC12 6812 C examples using the professional ICC12 compiler
The subdirectory ICC11 also contains the ImageCraft Freeware compiler. You can run the existing ICC11A and ICC12 examples, but to edit and recompile you will need the commercial C compiler. For TExaS upgrades look at: users.ece.utexas.edu/~valvano
4) The PDF directory contains many data sheets in Adobe's pdf format. This information does not need to be copied to your hard drive; you can simply read the data sheets from the CD itself. In particular there are data sheets for microcomputers, digital logic, memory chips, op amps, ADCs, DACs, timer chips and interface chips.
5) The assmbly directory contains a short HTML document describing how to program in assembly for embedded systems using the TExaS application. This document does not need to be copied to your hard drive; you can simply read the HTML document from the CD itself. The TExaS application itself also contains a lot of information about assembly language development as part of its on-line help.
6) The embed directory contains an HTML document describing how to program in C for embedded systems using ImageCraft's ICC11/ICC12. This document does not need to be copied to your hard drive; you can simply read the HTML document from the CD itself.
7) The tutorial directory on the CD contains files needed to perform the tutorials in this book. To perform the tutorials, you will copy either the Mc6811T or Mc6812T subdirectory to a hard drive. The movies in this directory can be viewed directly from the CD itself.
Universities that adopt this textbook have the following teaching resources available to them:
1) Lecture note slides (Word documents) for a course based on this book. For pdf versions of these slides, see
2) lots of microcomputer programs, see
ICC12 C programs http://users.ece.utexas.edu/~valvano/programs/ and
Metrowerks C programs http://users.ece.utexas.edu/~valvano/metrowerks/ and
Many 6811/6812 assembly/C programs included with the TExaS simulator installation
3) TExaS simulator, see
4) Free web-based homework service, see
Go to Home Page
Last updated April 19, 2008 Send comments to: Jonathan W. Valvano .