Home

EE443 Microcontroller

BogazIcI UnIversIty

Department of ElectrICal & ELECTRONIC EngINEERING

Instructor:

             Assistant Professor Senol Mutlu

BETA Lab, Tel: (212) 359-7442

             e-mail address: senol.mutlu@boun.edu.tr

Office Hours:

At my office, by appointment. I have an open door policy.

Lectures:

Tuesday 12-1 p.m., Friday 11-1 pm at KBPCLAB.

Lab, Monday 9-11 and 3-5 p.m. at Microprocessors Lab

Credits: (3+1+0) 4

Teaching Assistant: To Be Determined (TBD)

Course Description:

This course aims to expose the students to analysis and design of microcontroller system software and hardware.  Assembly language as well as C language programming skills for real-time applications and interfacing will be gained through the laboratory experiments. MC68HC912D60, 16 bit microcontroller of Freescale from HC12 family is used in the experiments. This microcontroller is on an evaluation board, M68EVB912D60. The experiments are about programming the microcontroller using Freescale’s Codewarrior and MCUEZ assembler, debugger and emaluator. These experiments will teach registers, addressing modes, instruction sets, branching, subroutines, memory structure, interrupts and background debugging mode of the microcontroller.  Serial communication interface, analog to digital conversion unit, and timing unit of the microcontroller will be studied.

Website:

http://www.cims.ee.boun.edu.tr

Your username is your student ID. Your initial password is also your student ID if this is the first time you are using it. Please change your password after the first time you logged in. Course info, some additional course material and your grades will be published on this website.

Prerequisites:

Digital design: gates, combinational and sequential circuits

Programming fundamentals

EE-140/CmpE-240: Digital design

Recommended: CmpE-344: Computer Organization

Textbook:

MC68HC912D60 Technical Data

http://www.freescale.com/files/microcontrollers/doc/data_sheet/MC68HC912D60.pdf?fsrch=1

CPU12 Reference Manual: M68HC12 and HCS12Microcontrollers

http://www.freescale.com/files/microcontrollers/doc/ref_manual/CPU12RM.pdf

Reference textbooks:

68HC12 microcontroller : theory and applications / Daniel J. Pack, Steven F. Barrett, Prentice Hall, c2002. (BU Library: TJ223.M53 P33 2002).

Introduction to microcontrollers: architecture, programming, and interfacing of the Motorola 6812, Lipovski, G. Jack. San Diego: Academic Press, c1999. (BU Library: TJ223.P76 L57 1999).

Embedded microcomputer systems: real time interfacing / Jonathan W. Valvano, Brooks/Cole, c2000. (BU Library: TK7895.E42 V35 2000).

Literature Search

Inspec and Compendex databases: Membership is required. Since the university is a member, these databases can be reached from computers on campus by following the link below from the library and choosing “Ei Engineering Village 2”:

http://www.library.boun.edu.tr/OnlineVeritabanlari.phtml

IEEE Xplore: All IEEE conference proceeding and journal papers can be reached from the following link: http://www.ieeexplore.ieee.org

Membership is required. Again, this site can be reached from a computer on campus.

US patents: Look for issued patent and also patent applications.

http://www.uspto.gov/patft/index.html

European Patents: http://ep.espacenet.com

Digital Dissertations Full Text: You can search Ph.D. and Master thesis. It is not free but may be you can have view couple pages as preview.

http://www.library.boun.edu.tr/OnlineVeritabanlari.phtml choose Digital Dissertations Full Text

Laboratories:

The purpose of laboratory experiments is to gain experience on registers, addressing modes, instruction sets, memory structure, interrupts, background debugging mode, serial communication interface, analog to digital conversion unit, and timing unit of the microcontroller. Codewarrier and MCUEZ assemblers, debuggers and emulators will be used to write assembly and C codes intended for MC68HC912D60 16-bit microcontroller of Freescale’s HC12 family.

Lab 1: Introduction to CodeWarrior and Simple Assembly Code to Read a Switch and Turn on a LED

Lab 2: Assembly Code for Sorting and Arithmetic Operations

Lab. 3: Understanding and Using Stack and Subroutines: Sorting Example and turning on LEDs with a sequence using subroutines and stack.

Lab 4: Interfacing PS/2 Keyboard to MCU: Synchronous Serial Communication Example

Lab 5: Pulse Generation with Adjustable Pulse Width and Period Using the Timer Module and Interrupts

Lab 6: A Simple Voltmeter Using Analog to Digital Conversion Unit of the Microcontroller

Lab 7: Using the Serial Communication Interface of the Microcontroller and Introduction to C Programming

Laboratory Resources:

Microprocessor laboratory will be used to develop, run and test assembly and C codes for the experiements. Laboratory has 13 PCs loaded with Freescale’s Codewarrior and MCUEZ software. A limited version of Codewarrior is available at:

http://www.freescale.com/webapp/sps/site/overview.jsp?nodeId=01272600610BF1

Each PC is connected to M68EVB912D60, an evaluation board with MC68HC912D60 microcontroller. Serial Debugging Interface board can be used to program the microcontroller and do hardware debugging.

Midterms:

The approximate dates of the midterms in this course are indicated in the course outline. It will be held in class, and will be about 2 hours long.

Final Project:

The final project will take place during the final examination period. A group of three students will form a project team. Each team is going to propose a project topic that needs to be approved by the instructor.

Grading Policy:

Course grades will be assigned according to the following grading formula. Please note that this formula is tentative; students will be informed of any major changes.

Labs..................................................... 35%

Midterms .............................................. 30%

Final Project:......................................... 35%

In most cases students will be made aware of the basic statistics (mean, median, and standard deviation) for each assignment.

Course Outline

(Tentative)

 

 

Mo.

Date

Material Covered

Labs

Comments

Sep.

23

Setting Class Time & Location, Administrative Information, Introduction, Motivation (1 hr)

 

 

Sep

26

Basic Microprocessor Architecture and the 68HC12 (2 hrs)

 

 

September 30-October 3 Ramadan Holiday

Oct.

7

The Instruction Set

 

 

 

10

The Instruction Set

 

 

 

14

Addressing

 

 

 

17

Addressing

 

 

 

21

Branching, Stack, Subroutines

Lab. 1

 

 

24

Branching, Stack, Subroutines

 

 

 

28

Assembly Language Programming

Lab. 2

 

28 October Tuesday afternoon and 29 October Wednesday Republic Holiday

 

 

Midterm I (2 hrs)

 

 

 

31

Assembly Language Programming

 

 

Nov.

4

Exceptions-Resets and Interrupts

Lab. 3

 

 

7

Exceptions-Resets and Interrupts

 

 

 

11

Exceptions-Resets and Interrupts

Lab. 4

 

 

14

Exceptions-Resets and Interrupts

 

 

 

18

Timer Module

Lab. 5

 

 

21

Timer Module

 

 

 

25

Timer Module

 

 

 

28

Timer Module

 

 

Dec.

2

Analog to Digital Converter Module

 

 

Dec

5

Analog to Digital Converter Module

 

 

 

 

Midterm II (2 hrs)

 

 

Dec 8, 11, Monday, Thursday, Sacrifice Holiday

 

16

Multiple Serial Interface Module

Lab. 6

 

 

19

Multiple Serial Interface Module

 

 

 

23

Multiple Serial Interface Module

Lab. 7

 

 

26

Introduction to C Programming

 

 

 

30

Introduction to C Programming

 

 

Dec 31th, Wednesday, Last Day of Classes

Jan 5-17, 2009 Monday-Saturday Final Period