Catalog Description: Elements of microcontroller systems, hardware and software analysis. Memory structure, addressing techniques, registers, instruction set, branching, stack, subroutines, interrupts and input-output devices in microcontrollers. Design of small microcontroller systems using assembly and C programming. Laboratory.
Coordinator: Şenol Mutlu, Assistant Professor of Electrical Engineering
Goals: This course aims to expose the students to analysis and design of software and hardware for microcontroller systems. Assembly language as well as C language programming skills for real-time applications and interfacing is gained through 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 simulator. Experiments teach registers, addressing modes, instruction sets, branching, stack, subroutines, memory structure, interrupts and input/output interfacing in microcontroller. PS/2 and serial communication interfaces, analog to digital conversion unit, and timing unit of the microcontroller are studied.
At the end of this course, students will be able to:
1. Write assembly and C language programs for microcontroller based hardware systems.
2. Use interrupts and subroutines in the developed programs.
3. Use RAM, EEPROM and Flash memories of microcontrollers.
4. Use serial communication unit, timer unit and analog-to-digital converter unit of microcontrollers.
5. Design and realize microcontroller based systems.
1. CPU12RM, CPU12 Reference Manual, 4th. Revision, FreeScale Semiconductor Inc. 2006.
2. M68HC12 Microcontrollers, MC68HC912D60A Advance Information, 4th. Revision, FreeScale Semiconductor Inc. 2003.
1. 68HC12 microcontroller: theory and applications / Daniel J. Pack, Steven F. Barrett, Prentice Hall, c2002.
2. Introduction to microcontrollers: architecture, programming, and interfacing of the Motorola 6812, Lipovski, G. Jack. San Diego: Academic Press, c1999.
3. Embedded microcomputer systems: real time interfacing / Jonathan W. Valvano, Brooks/Cole, c2000.
Prerequisites by Topic:
· Basic Electronics.
· Digital Systems and Boolean Algebra.
1. Introduction to microprocessors and microcomputers. (2 hours)
2. Microcontroller hardware and system architecture. (3 hours)
3. Addressing modes and Instruction set.(9 hours)
4. Assembly Language Programming (4 hours)
5. Branching, Stack, Subroutines. (3 hours)
6. Resets and Interrupts (3 hours)
7. The MC68HC912D60 Programmable Timer. (3 hours)
8. Analog to Digital Converter Module (3 hours)
9. Multiple Serial Interface Module (3 hours)
10. Introduction to C Programming for Microcontrollers (3 hours)
Course Structure: The class meets for three lectures a week, each consisting of 50-minute sessions. 7 laboratory experiments per semester, each consisting of two hours. There are two midterm exams and a final project. The final project takes place during the final examination period. A group of three students form a project team. Each team proposes a project topic that needs to be approved by the instructor.
Computer Resources: Laboratory has 13 PCs loaded with Freescale’s Codewarrior and MCUEZ software used by students as assembler, debugger and simulator.
Laboratory Resources: Microprocessor laboratory is used to develop, run and test assembly and C codes for the experiments. Laboratory has 13 Personal Computers (Intel Pentium 4, 3.06 GHz, 504 MByte RAM, Flat LCD Displays) installed with CodeWarrior and MCUEZ Software for FreeScale Microcontrollers. It has 13 evaluation boards of M68EVB912D60, used to experiment with 16-bit microcontrollers of FreeScale, MC68HC912D60. There are 13 Serial Debugging Interface boards, used to program microcontrollers and do hardware debugging. There are 8 oscilloscopes (Hameg, HM203, 20 MHz), used to measure pulse width, frequency and period in experiments related to the usage of the timer modules of microcontrollers. There are also 13 PS/2 keyboards, used in experiments teaching how to communicate with microcontrollers through PS/2 interface.
1. Laboratory performance (35% total)
2. Two mid-term exams (30% total).
3. A final project (35%).
(c) Design a system, component or process to meet desired needs within realistic constraints. In this course, how to design a microcontroller based system for specific needs is discussed.
(e) Identify, formulate and solve engineering problems. The lab experiments and the final project are about solving engineering problems and motivate students to propose personal solutions.
(k) an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice. The state of the art equipments and software used in this course give students these abilities.
Prepared By: Şenol Mutlu