Embedded Microcomputer Systems: Real Time Interfacing,
Jonathan W. Valvano, Brooks-Cole Publishers,  ISBN 0-534-36642-2
A detailed outline, A description of the book

Introduction to Embedded Systems: Interfacing to the Freescale 9S12
Jonathan W. Valvano, Cengage Publishing, ISBN-10: 049541137X | ISBN-13: 9780495411376
A brief overview  Table of Contents

Introduction to Embedded Microcomputer Systems: Motorola 6811 and 6812 Simulation,
Jonathan W. Valvano, Brooks-Cole Publishers, ISBN 0-534-39177-x
A detailed outline, A description of the book


Send questions to: Jonathan W. Valvano .

What is the Online Homework System?  https://hw.utexas.edu/overview.html
The University of Texas operates an online homework system, grading over 1,000,000 questions each week, and used by over 1000 schools. It is a free service. As an instructor, you register your class with the service and define homework sets for your class (which problems and the due dates). Register your class in the computer science category (not math, physics or chemistry).  Currently, I have written over 200 questions specific to embedded microcomputer systems. These questions can be used in conjunction with either of my two textbooks. You can find my online questions by searching for names starting with JWV_. The program numbers refer to chapter and sections Introduction to Embedded Microcomputer Systems book. The first set of ten homework sets, shown below was used Spring 2004 while teaching an EE class based on the book Embedded Microcomputer Systems: Real Time Interfacing. The second set of ten homework sets, shown below was used Fall 2003 while teaching an EE class based on the book Introduction to Embedded Microcomputer Systems: Motorola 6811 and 6812 Simulation. Your students signup under your class ID and download the homework questions. Multiple choice questions have randomized order of selections. Numerical answer questions have numerical parameters selected randomly. For example, in the following LED question, each student gets a question with different LED voltage and different LED current. The students answer the homework assignments on line. The on-line system is interactive, meaning the students know immediately if their answers are correct. The students' scores are based on how many wrong choices they make before getting it right (you can specify the grading formula) You download a spreadsheet of the grades for your class.
  

Educational Philosophy
The most important educational activity our students should perform is a hands-on laboratory. Design is an important skill that should be taught in an embedded systems class. However, the use of paper and pencil homework can be used as a supplement to laboratory assignments. I have two educational objectives for assigning on-line homework.  First, on-line homework provides a simple means for testing basic comprehension of fundamental concepts. On-line homework can evaluate the students' knowledge of definitions, design equations, and basic functionality of I/O ports. Second, I use on-line homework as a means to prepare students for examinations.

The following are two lists of specific questions assigned as homework. The links are pdf files a typical student would download while doing the homework. After you register your class, you will have access to the problems and solutions.

Embedded Microcomputer Systems: Real Time Interfacing.
Homework 1, Numbers, Fixed-point
JWV_1_1_software_maintenance
JWV_3_1_Bus
JWV_3_1_ReadCycle
JWV_1_4_data_flow_graph
JWV_1_4_arrow_call_graph
JWV_2_3_Convert8bitNumber1
JWV_2_3_Convert8bitNumber2
JWV_2_4_Number_of_bits1
JWV_2_4_Number_of_bytes1
JWV_2_1_NumberFormat1
JWV_2_1_NumberFormat2
JWV_2_1_NumberFormat3
JWV_2_1_NumberFormat4
JWV_2_10_drop_out
JWV_2_10_Associative
JWV_2_10_Fixed_point1
JWV_2_10_Fixed_point2
Example Homework 1

Embedded Microcomputer Systems: Real Time Interfacing.
Homework 2, C programming skills
JWV_8_1_Static1
JWV_8_1_Static2
JWV_8_1_Static3
JWV_8_1_Local
JWV_8_1_Constant1
JWV_8_1_Constant2
JWV_8_4_Addition
JWV_8_4_Multiplication
JWV_8_1_Allocation1
JWV_9_3_Name1
JWV_9_3_Name2
JWV_9_3_Name3
JWV_9_3_Name4
JWV_9_3_Name5
Example Homework 2

Embedded Microcomputer Systems: Real Time Interfacing.
Homework 3, Debugging Skills
JWV_7_1_Nonintrusive
JWV_7_1_Intrusive
JWV_7_2_LogicAnalyzer
JWV_7_2_Emulator
JWV_7_2_BDM
JWV_7_4_Stabilize
JWV_7_4_Functional
JWV_7_5_ExecutionSpeed2
JWV_7_6_Profiling
JWV_8_1_Metrowerks1
Example Homework 3

Embedded Microcomputer Systems: Real Time Interfacing.
Homework 4, Simple Interfaces, RTI interrupts
JWV_5_1_DeviceDriver
JWV_5_2_InputPort2
JWV_5_2_OutputPort2
JWV_5_2_ClrBit2
JWV_5_2_SetBit2
JWV_6_2_Switch1
JWV_6_3_LED1
JWV_6_3_7405
JWV_11_1_InterruptArm
JWV_11_1_InterruptVector
JWV_11_8_SetRTIF
JWV_11_8_ClearRTIF
Example Homework 4

Embedded Microcomputer Systems: Real Time Interfacing.
Homework 5, Finite State Machines, Output Compare Interrupts
JWV_11_1_InterruptArm2
JWV_11_1_InterruptVector2
JWV_11_8_SetC7F
JWV_11_8_ClearC0F
JWV_11_1_InterruptVector3
JWV_8_7_MealyMoore
JWV_8_7_Mealy2
JWV_8_7_Moore2
JWV_6_11_Stepper1
JWV_6_11_Stepper2
Example Homework 5

Embedded Microcomputer Systems: Real Time Interfacing.
Homework 6, SPI interface, DAC
JWV_5_4_SPI1
JWV_5_4_SPI2
JWV_5_4_SPI3
JWV_5_4_SPI4
JWV_5_4_ClearSPIF
JWV_5_4_SPI_timing
JWV_6_5_DAC1
JWV_6_5_DAC2
JWV_6_11_Stepper3
Example Homework 6

Embedded Microcomputer Systems: Real Time Interfacing.
Homework 7, ADC, Analyzing Fifo Behavior
JWV_5_5_ADCconversion2
JWV_5_5_ADCconversion3
JWV_5_5_ADC1
JWV_5_5_ADC2
JWV_5_5_ADC_ClearCCF0
JWV_5_5_ADC_ClearSCF
JWV_6_5_ADC2
JWV_6_5_ADC4
JWV_11_2_FifoIObound
JWV_11_2_FifoCPUbound
Example Homework 7

Embedded Microcomputer Systems: Real Time Interfacing.
Homework 8, Input Capture Interrupts, Keyboard Interfaces
JWV_11_8_ClearC1F
JWV_11_8_InputCapture1
JWV_11_8_InputCapture2
JWV_11_8_InputCapture3
JWV_11_1_InterruptVector4
JWV_6_7_MatrixKeyboard1
JWV_6_7_MatrixKeyboard2
JWV_6_7_MatrixKeyboard3
JWV_6_7_MatrixKeyboard4
JWV_11_4_Reentrancy1
JWV_11_4_Reentrancy2
Example Homework 8

Embedded Microcomputer Systems: Real Time Interfacing.
Homework 9, SCI interfacing
JWV_5_3_Bandwidth
JWV_5_3_BaudRate
JWV_5_3_SC0BD
JWV_5_3_SetRDRF
JWV_5_3_ClearRDRF
JWV_5_3_SetTDRE
JWV_5_3_ClearTDRE
JWV_6_4_RS232
JWV_6_4_Asynchronous
JWV_6_4_HalfDuplex
JWV_11_7_InterruptVector
JWV_11_7_SCILatency
Example Homework 9

Embedded Microcomputer Systems: Real Time Interfacing.
Homework 10, Memory Interfacing, Timing Diagrams
JWV_3_6_CycleStretch
JWV_3_6_SetupTime
JWV_3_6_SetupShiftReg
JWV_3_6_TriggerSequence
JWV_3_6_ROMinterface
JWV_3_6_RAMinterface
JWV_3_6_RAMWriteDataAvailable
JWV_3_6_DPAGE
JWV_3_6_PPAGE
Example Homework 10
Intro to Embedded Microcomputer Sys: 6811 and 6812 Simulation
Homework 1, Introduction
JWV_1_1_software_maintenance
JWV_1_3_nonvolatile_memory
JWV_1_3_microcontroller
JWV_1_3_microprocessor
JWV_1_3_microcomputer 
JWV_1_3_embedded_system
JWV_1_5_product_development 
JWV_1_3_ADC_definition
JWV_1_4_data_flow_graph
JWV_1_3_LCD_definition
JWV_1_6_static_efficiency
JWV_1_6_dynamic_efficiency
JWV_1_4_arrow_call_graph
JWV_1_4_structured_program
Example Homework 1

Intro to Embedded Microcomputer Sys: 6811 and 6812 Simulation
Homework 2, Numbers, conversions, fixed point
JWV_2_1_Estimate_Number
JWV_2_3_Convert8bitNumber1
JWV_2_3_Convert8bitNumber2
JWV_2_4_Convert16bitNumber1
JWV_2_4_Convert16bitNumber2
JWV_2_3_Convert8bitSNumber1
JWV_2_4_Convert16bitSNumber1
JWV_2_4_Number_of_bits1
JWV_2_4_Number_of_bytes1
JWV_2_1_NumberFormat1
JWV_2_1_NumberFormat2
JWV_2_1_NumberFormat3
JWV_2_1_NumberFormat4
JWV_2_8_Addition1
JWV_2_8_Addition2
JWV_2_10_drop_out
JWV_2_10_Fixed_point1
JWV_2_10_Fixed_point2
Example Homework 2

Intro to Embedded Microcomputer Sys: 6811 and 6812 Simulation
Homework 3, Architecture
JWV_3_1_Bus
JWV_3_1_Register
JWV_3_1_ReadCycle
JWV_3_1_Control_Unit
JWV_3_1_EffectiveAddressRegister
JWV_3_2_Instruction_Phases
JWV_3_2_Address_Mode1
JWV_3_2_Address_Mode2
JWV_3_3_BSR_Instruction
JWV_3_3_Subtraction
JWV_3_3_IDIV
JWV_3_3_FDIV
JWV_3_4_LEAX
JWV_3_4_IndexMode1
JWV_3_4_IndexMode2
JWV_3_3_Conditional1
JWV_3_3_Conditional2
Example Homework 3

Intro to Embedded Microcomputer Sys: 6811 and 6812 Simulation
Homework 4, Assembly Syntax
JWV_4_1_Pass1
JWV_4_1_Pass2
JWV_4_4_EQU_SET
JWV_4_4_FCB_FCC
JWV_4_4_FCB_FDB
JWV_4_4_FDB
JWV_4_4_FCB
JWV_4_4_ResetVector
JWV_4_4_RMB
JWV_4_5_S19Record1
JWV_4_5_S19Record2
Example Homework 4

Intro to Embedded Microcomputer Sys: 6811 and 6812 Simulation
Homework 5, I/O ports
JWV_5_1_DeviceDriver
JWV_5_1_MemoryMapped
JWV_5_2_InputPort
JWV_5_2_OutputPort
JWV_5_2_ClrBit
JWV_5_2_SetBit
JWV_5_2_16bitRead
JWV_5_3_Bandwidth
JWV_5_3_BaudRate
JWV_5_3_SC0BD
JWV_5_3_SetRDRF
JWV_5_3_ClearRDRF
JWV_5_3_SetTDRE
JWV_5_3_ClearTDRE
JWV_5_5_ADCconversion1
Example Homework 5

Intro to Embedded Microcomputer Sys: 6811 and 6812 Simulation
Homework 6, Simple I/O Interfacing
JWV_6_2_Switch1
JWV_6_2_Switch2
JWV_6_3_LED1
JWV_6_3_7405
JWV_6_4_RS232
JWV_6_5_ADC1
JWV_6_5_ADC2
JWV_6_5_ADC3
JWV_6_11_Stepper1
JWV_6_11_Stepper2
Example Homework 6

Intro to Embedded Microcomputer Sys: 6811 and 6812 Simulation
Homework 7, Debugging
JWV_7_1_Nonintrusive
JWV_7_1_Instrument
JWV_7_1_Intrusive
JWV_7_2_LogicAnalyzer
JWV_7_2_Emulator
JWV_7_2_BDM
JWV_7_3_ViewBox
JWV_7_4_Stabilize
JWV_7_4_Functional
JWV_7_4_ScanPoint
JWV_7_5_ExecutionSpeed
JWV_7_6_Profiling
Example Homework 7

Intro to Embedded Microcomputer Sys: 6811 and 6812 Simulation
Homework 8, Programming
JWV_8_1_Constant1
JWV_8_1_Constant2
JWV_8_1_Local
JWV_8_1_StackRules
JWV_8_1_Static1
JWV_8_1_Static2
JWV_8_1_Static3
JWV_8_2_CallByValue
JWV_8_2_InitializeLocal
JWV_8_2_LocalBinding1
JWV_8_2_LocalBinding2
JWV_8_7_Mealy
JWV_8_7_MealyMoore
JWV_8_7_Moore
Example Homework 8

Intro to Embedded Microcomputer Sys: 6811 and 6812 Simulation
Homework 9, Program and Data Structures
JWV_8_1_StackRules
JWV_8_2_Java
JWV_8_2_LocalBinding3
JWV_8_3_ForLoop
JWV_8_3_LongBranch
JWV_8_4_Addition
JWV_8_4_Ediv
JWV_8_4_Emul
JWV_8_4_EmulEmuls
JWV_8_4_Multiplication
JWV_8_6_SWI1
JWV_8_6_SWI2
JWV_8_6_SWI3
JWV_10_4_Matrix1
JWV_10_4_Matrix2
JWV_10_6_MooreTable
JWV_10_6_MealyTable
Example Homework 9

Intro to Embedded Microcomputer Sys: 6811 and 6812 Simulation
Homework 10, Review
JWV_2_1_DecimalDigits
JWV_2_10_Fixed_point1
JWV_2_10_Fixed_point2
JWV_2_10_Associative
JWV_5_2_ClrBit
JWV_5_2_SetBit
JWV_5_3_Bandwidth
JWV_5_3_SC0BD
JWV_5_5_ADCconversion1
JWV_6_3_LED1
JWV_6_5_ADC2
JWV_8_2_LocalBinding3
JWV_8_4_Ediv
JWV_10_4_Matrix3
JWV_10_4_Matrix4
Example Homework 10