HCS12 Introduction to Microcontrollers

Showing results for 
Show  only  | Search instead for 
Did you mean: 

HCS12 Introduction to Microcontrollers

No ratings

HCS12 Introduction to Microcontrollers

Freescale S12 C-Family

Specific Device Used = APS12C128SLK

Courses Developed by Fredrick M. Cady

Related Textbook: Oxford University Press: Software and Hardware Engineering: Fredrick M. Cady


All files related to this course are at bottom of this page.


Introductory level course.  Covers basic microcontroller concepts and exercises in both assembly and C programming language.  Instructor editions of the laboratory include answers to questions and additional commentary by author especially for instructors.

The following is a laboratory short courses developed applying the Process Oriented Guided Inquiry Learning (POGIL) pedagogy. 

POGIL uses guided inquiry – a learning cycle of exploration, concept invention and application – as the basis for many of the carefully designed materials that students use to guide them to construct new knowledge. 

POGIL is a student-centered strategy; students work in small groups with individual roles to ensure that all students are fully engaged in the learning process.

POGIL activities focus on core concepts and encourage a deep understanding of the course material while developing higher-order thinking skills.

POGIL develops process skills such as critical thinking, problem solving, and communication through cooperation and reflection, helping students become lifelong learners and preparing them to be more competitive in a global market.

Course Contents:

TitleTopicDocument NameObjectiveS/W RequiredH/W Required
The Microcontroller - General PrinciplesGeneral Principles – The MCULABSS12CINTRO01.pdfShow architecture of typical microcontroller; define terms.NoneNone
Software DevelopmentGeneral Principles – S/W DevelopmentLABS12CINTRO02.pdfShow S/W/firmware development tools and process.NoneNone
Introduction to CodeWarrior - Simluating the Microcontroller in Assembly LanguageIntroduction to the Laboratory – ILABSS12CINTRO03.pdfIntroduce the S/W development system used in the lab.CW
Introduction to CodeWarrior - Running Assembly Programs on the MicrocontrollerIntroduction to the Laboratory – IILABSS12CINTRO04.pdfContinue above and introduce hardware used in the lab.CWSLK
The AssemblerAssembler ProgramLABSS12CINTRO05.pdfLearn the fundamentals of the assembler.CW
Exploring Embedded C ProgrammingThe C CompilerLABS12CINTRO06.pdfLearn about using C in embedded systems.CW
Introduction to CodeWarrior - Simulating the Microcontroller in CIntro to uC HardwareLABSS12CINTRO07.pdfLearn programmer's model and addressing modesNoneNone
Introduction to Your Microcontroller HardwareIntro to uC HardwareLABS12CINTRO08.pdfLearn programmer's model and addressing modesNoneNone
The Microcontroller Instruction Set IInstructions – ILABSS12CINTRO09.pdfStart to learn the instruction set; memory addressing; conditional branching.NoneNone
The Microcontroller Instruction Set IIInstructions – IILABS12CINTRO10.pdfContinue ".CWSLK
The Bouncing Switch in AssemblySwitch Debouncing in AssemblyLABS12CINTRO27.pdfDemonstrate switch debouncing and solutionsCWSLK
The Timer – Introduction to Timer Overflows With CTimers – ILABSS12CINTRO11.pdfGenerating a delay using the timer overflow.CWSLK
Digital Input and OutputDigital Input and OutputLABSS12CINTRO12.pdfInput from switches, output to LEDs.CWSLK
Digital Input and Output With CDigital Input and OutputLABS12CINTRO13.pdfInput from switches, output to LEDs.CWSLK
I/O Software SynchronizationDigital I/O softwareLABSS12CINTRO14.pdfI/O software synchronizationCWSLK
Introduction to Interrupts Using CInterrupts – ILABS12CINTRO15.pdfLearn fundamentals of interrupt vectors, etc.CWSLK
The Bouncing Switch in CSwitch Debouncing in CLABS12CINTRO28.pdfDemonstrate switch debouncing and solutionsCWSLK
Introduction to InterruptsInterrupts – ILABS12CINTRO16.pdfLearn fundamentals of interrupt vectors, etc.CWSLK
Sources of Multiple InterruptsInterrupts – IILABS12CINTRO32.pdfMultiple sources of interrupts.CWSLK and scope
The Timer – Introduction to Timer OverflowsThe Timer – Intro to Timer OverflowsLABS12CINTRO17.pdfGenerating a delay by polling the timer overflow.CWSLK
The Timer – Timer Overflow InterruptsThe Timer – Timer Overflow InterruptsLABS12CINTRO18.pdfGenerating a delay using timer overflow interruptsCWSLK
The Timer – Output CompareThe Timer – Output CompareLABS12CINTRO19.pdfWaveform generation using output compare and interrupts.CWSLK and scope
The Timer – Input CaptureThe Timer – Input CaptureLABS12CINTRO20.pdfUsing input capture to measure pulse widthCWSLK
The Timer – Pulse AccumulatorThe Timer – Pulse AccumulatorLABS12CINTRO21.pdfUsing pulse accumulator in event counting and gated time modeCWSLK and signal generator
Analog Input using AssemblyATD – ILABSS12CINTRO22.pdfIntroduce analog-to-digital conversionCWSLK
Analog Input using CATD – ILABSS12CINTRO26.pdfIntroduce analog-to-digital conversionCWSLK
Sampling and Resolution for Analog InputATD- IILABS12CINTRO23.pdfATD SamplingNoneNone
HCS12 A/D Digital I/OATD – IIILABSS12CINTRO24.pdfDigital I/O using the ATDCWSLK
COPComing SoonUsing the COPCWSLK
MSCANComing SoonUsing the CAN moduleCWSLK
SERIAL I/O – SCISCILABS12CINTRO29.pdfIntroduction to SCICWSLK and terminal
SERIAL I/O INTERFACES – RS-232-CSCI-IILABS12CINTRO30.pdfCreating an RS-232-C communication Interface
SERIAL I/O – The Serial Peripheral InterfaceSPI – ILABSS12CINTRO31.pdfIntroduction to the SPICWSLK, scope, SPI device
Register Listing HCS12C FamilyRegister Listing HCS12C FamilyLABS12CINTRO25.pdf

Complete course files restricted to verified faculty only.  Available for download in the Faculty-Portal

Labels (1)
Tags (2)
Version history
Last update:
‎06-05-2013 12:31 PM
Updated by: