This module will build on knowledge of microprocessor systems gained in the Microprocessor 1 module. The module is design to enable learners develop skills in implementing microprocessor based solutions to engineering problems.
Review to AVR Microcontrollers
AVR microcontroller history and features. Microcontrollers and embedded processors. Overview of AVR family of processors.
AVR Architecture
Harvard Vs Von Neumann architectures. RISC Vs CISC architectures. General purpose registers in the AVR. The AVR data memory. AVR Status Register. Program Counter and program ROM space in the AVR. Interrupt handling and circuitry. AVR port structure. ADC system.
AVR Assembly Language Programming
Introduction to AVR assembly programming. Flowcharts and pseudo-code. Assembling an AVR program. Branch instructions and looping. Call instructions, subroutines and stack usage. Assembler directives. Addressing modes. Look-up tables.
Programming for microprocessors in C
Data types and time delays in C. Logic operations in C. Data conversion programs in C. Data serialization in C. Memory allocation in C.
Microprocessor Interfacing, interrupt and timer programming
I/O port programming in AVR. I/O bit manipulation programming. I/O programming in C. Data serialization. AVR timer and counter programming. AVR timer interrupts. Programming external hardware interrupts. AVR serial port programming.
Case studies of microprocessor applications
Alarm systems. Process control. Keyboard control. LCD controller
Debugging and troubleshooting microprocessor systems
System design issues. Processor simulator. System emulation. Symbolic debugging. JTAG.
The module will be delivered through a series of lectures and lab sessions with student self-directed learning including assessment activities.
Module Content & Assessment | |
---|---|
Assessment Breakdown | % |
Formal Examination | 50 |
Other Assessment(s) | 50 |