ECE 425L – Microprocessor Systems Lab
Department of Electrical & Computer Engineering
1. Course Number and Name: ECE 425L – Microprocessor Systems Lab
2. Credit Units/Contact Hours: 1/3
3. Course Coordinator: Xiaojun Geng
4. Text, References & Software
ARM Assembly Language: Fundamentals and Techniques, William Hohl, ISBN: 9781439806104, CRC Press, 2009.
UM10139 LPC214x User manual, NXP Semiconductors.
ARM assembly guide: http://www.heyrick.co.uk/assembler/
ARM information center: http://infocenter.arm.com
5. Specific Course Information
a. Course Description
Practice of software development on microprocessor-based applications. The laboratory complements the lecture course ECE425 by providing hands-on experience on programming microprocessors, interfacing with peripheral devices, and using the required software development tools.
b. Prerequisite by Topic
Students must be familiar with high-level programming language and conventional techniques in designing digital logic circuit using discrete logics. Specifically, they must be familiar with flowcharting, program coding, conversion of numbers among various number systems, logic function minimization, timing analysis, and functions of standard MSI combinational and sequential circuits such as decoder, multiplexer, encoder, comparator, adder, subtractor, flip-flops, shift registers, and counters.
c. Elective Course (EE), Required Course (CompE)
6. Specific Goals for the Course
a. Specific Outcomes of Instructions – After completing this course the students should be able to:
Use the KEIL µVision IDE to edit, compile, and debug assembly language programs
Use Flash programming tools to write program to memory.
Program processor to interface peripherals such as LCDs and LEDs through GPIO, analog, and serial channels.
Develop applications with internal and external interrupts.
Construct complete ARM-based application systems
b. Relationship to Student Outcomes
This supports the achievement of the following student outcomes:
a. An ability to apply knowledge of math, science, and engineering to the analysis of electrical and computer engineering problems.
b. An ability to design and conduct scientific and engineering experiments, as well as to analyze and interpret data.
c. An ability to design systems which include hardware and/or software components within realistic constraints such as cost, manufacturability, safety and environmental concerns.
d. An ability to function in multidisciplinary teams.
g. An ability to communicate effectively through written reports and oral presentations.
i. A recognition of the need for and an ability to engage in life-long learning.
k. An ability to use modern engineering techniques for analysis and design.
m. An ability to analyze and design complex devices and/or systems containing hardware and/or software components.
7. Topics Covered/Course Outline
1. Introduction to the LPC2148 Education Board
2. Introduction to Software Development Environment
3. Assembly project making and debugging
4. Lighting up LEDs
5. Loading Constants and Literal Pool
6. Reading switches with logic operations
7. Arithmetic operations and Branches
8. Calling subroutines in assembly and C
10. Generation of Square Waves With the Timer Module
11. Pulse Width Measurement with Input Capture
12. User Interface with the ARM processor: Keypad and LCD
13. Using AD Converter and DA Converter
Xiaojun Geng, Professor of Electrical and Computer Engineering, October 2011
Ali Amini, Professor of Electrical and Computer Engineering, March 2013