Hector Erives, Ph.D., P.E.
Associate Professor
EE 308 Mircontrollers
Syllabus

General Outline
  • Introduction to the MC9S12 Microcontroller
  • Binary and Hexadecimal Numbers
  • Assembly Language Programming
  • C Language Programming
  • Introduction to MC9S12 Internal Peripherals: Timer, Timer interrupts, PWM subsystems
  • The MC9S12 Expanded Mode: Address/Data buss timing, Internal/External memory, Interfacing
  • More MC9S12 Internal Peripherals: A/D converters, Serial Peripheral Interface (SPI), Serial Communications Interface (SCI)
  • Using the MC9S12 in a Control Application

Texts
  • Class Notes
  • The HCS12/9S12: An Introduction to Software and Hardware Interfacing, 2nd Edition, H.-W. Huang, Delmar Learning
  • Manuals and data sheets from Freescale (Available online)

Lectures
Number Title (Date) Text Sections Manuals
1 Course Overview (1/16) Sections 1.2 - 1.3
2 Introduction to MC9S12 (1/18) Sections 1.4 - 1.8 S12CPUV2 Reference Manual, Sections 2.1 - 2.5
9S12DP256B Device Users Guide,Section 1
3 Assembly Language Programming (1/21) Section 2.2
4 Addressing Modes (1/23) Sections 1.9 - 1.10 S12CPUV2 Reference Manual, Section 3
5 More on MC9S12 Assembly Language Programming (1/28) Section 2.3 S12CPUV2 Reference Manual, Section 3, 5, and Appendix A
6 Disassembly of MC9S12 Op Codes, Review of Binary/Hex numbers (1/30) Section 2.4 - 2.6 S12CPUV2 Reference Manual, Section 5 and Appendix A
7 Writing an Assembly Language Program (2/4) Section 2.7 - 2.10
8 More on Writing an Assembly Language Program (2/6) Section 2.7 - 2.10, 7.5
9 The Stack and the Stack Pointer (2/11) Section 4.3
10 Using the Stack and Programming the MC9S12 in C (2/18) Section 4.3, Section 5.2 - 5.4
11 Programming the MC9S12 in C (2/22) Section 5.2 - 5.4
12 Programming the MC9S12 in C, Introduction to the MC9S12 Timer Subsystem (2/25) Section 5.8 -5.10, 8.3 - 8.4 HCS12 Enchanced Capture Timer (ECT) Block Guide
13 Real Time Interrupt (2/27) Section 6.2 - 6.7 S12CPUV2 Reference Manual, Section 7
9S12DP256B Device Users Guide, Section 5
HCS12 Clocks and Reset Generator (CRG) Block Guide
14 Output Compare Function (2/27) Section 8.6 9S12DP256B Device Users Guide, Section 5
HCS12 Enhanced Capture Timer (ECT) Block Guide
15 Input Capture Function (3/4) Section 8.5 9S12DP256B Device Users Guide, Section 5
HCS12 Enhanced Capture Timer (ECT) Block Guide
16 Introduction to Pulse Width Modulation (3/6) Section 8.10 - 8.11 HCS12 PWM Block Guide
17 The MC9S12 Pulse Width Modulation (3/18) Section 8.10 - 8.11 HCS12 PWM Block Guide
18 Analog to Digital Converters (3/18) Section 12.1 - 12.2 HCS12 Analog to Digital Converter (ATD) Block Guide
19 MC9S12 A/D Converter (3/20) Section 12.1 - 12.2 HCS12 Analog to Digital Converter (ATD) Block Guide
20 The Dragon12 LCD Display (3/27) Section 7.7 - 7.8 Hantronix HD16216L-S Data Sheet
21 Introduction to Serial Communications (3/29, 4/1) Section 9.2, 11.2 HCS12 Inter-Integrated Circuit (IIC) Block Guide
22 The IIC Serial Interface and the DS1307 Real Time Clock (4/3) Section 11.2 - 11.6 HCS12 Inter-Integrated Circuit (IIC) Block Guide
DS1307 Real Time Clock
23 Lab on the MC9S12 IIC and the DC1307 Real Time Clock, Asynchronous Serial Data Transfer (4/8, 4/10) Section 11.2 - 11.6 HCS12 Inter-Integrated Circuit (IIC) Block Guide
DS1307 Real Time Clock
24 Motor Control (4/15)
25 Introduction of the MC9S12 Expanded Mode (4/17) Section 14.2, 14.7 Multiplexed External Bus Interface (MEBI) Module Block Users Guide
DS1307 Real Time Clock
26 Expanded Mode on the MC9S12 (4/22) Section 14.2 - 14.7 Multiplexed External Bus Interface (MEBI) Module Block Users Guide
27 Expanded Mode on the MC9S12 (4/24)

Homeworks
Homework 1 (Due 1/23)
Homework 2 (Due 2/1)
Homework 3 (Due 2/6)
Homework 4 (Due 2/13)
Homework 5 (Due 2/22)
Homework 6 (Due 2/27)
Homework 7 (Due 3/6)
Homework 8 (Due 3/22)
Homework 9 (Due 4/5)
Homework 10 (Due 4/10)
Homework 11 (Due 4/19)

References
References for Lab 1 & 2
References for Disassembling
References for Stack
Review for Test 1
Last Modified: December 2012