ECE 323: Introduction to Microprocessors
Instructor: Dr. Ratchaneekorn Thamvichai |
|
Email: rthamvichai@stcloudstate.edu |
Office: ECC 216A |
Phone: 308-5503 |
Office hours: M - TH 1 – 3 PM, TH 11 AM – 1 PM |
Class:
Lecture |
M T W 12.00 - 12.50 PM ECC 126 |
Lab |
Open Lab |
(both software and hardware) |
Lab check-off: Thursday 11.00 AM – 1.00 PM Lab report: Monday at the beginning of class |
Final Exam: Monday May 7th, 2007 10.15 AM – 12.45 PM
Prerequisite: ECE 322 Advanced Logic Design or instructor consent
Textbook: The 80x86 IBM PC and Compatible Computers, Vol. Volume I&II (4th edition) By Muhammed Ali Mazidi and Janice Gillispie Mazidi; Prentice Hall, 2003.
Course Description: Computer organization, microprocessors, assembly and high-level language programming. Parallel and serial interfaces, interrupts, analog-to-digital, digital-to-analog, and single board microprocessor based design. Computer aided design and simulation. Labs with design emphasis.
Course Objective: To give students knowledge of programming and interfacing of the Intel family of embedded microprocessors.
Course Outcomes: Upon completion of this course, students will have demonstrated:
- that they can explain how a microprocessor works (outcome a)
- an ability to design a memory system to interface a microprocessor to memory IC chips (outcome a and e)
- an ability to design an interface between a microprocessor and external devices, both digital and analog (outcome a and e)
- an ability to construct and debug a single board computer (outcome a, b, c, d, and e)
- an ability to design and write assembly and C programming language programs to make a microprocessor perform desired tasks (outcome a, b and e)
- an ability to write clear and concise laboratory reports using appropriate standard software application (outcome f)
Grading Policy:
Homework/Quizzes 8%
Software Labs 10%
Hardware Labs 16%
Midterm 1 22%
Midterm 2 22%
Final Exam 22%
Note: Makeup exams will not be given except in the case of emergencies.
Tentative course outline:
Week Topic/Textbook
1 History of computing systems and Introduction to the microprocessors/Ch. 0 and Ch. 1
2 The 8086 architecture and programming models/Ch. 1
3 Introduction to Assembly language program Data types, data representations/ Ch. 2
4-6 The architecture of 80186 CPU/Ch. 9
and Assembly language program:instruction set, addressing modes/Ch. 3
7-8 Memory and Memory interfacing/Ch. 10
9-10 Assembly language program:/Ch. 3, 6
10-11 I/O devices and interface/ Ch. 11, 12
11 Modular programming/ Ch. 7
12 Hardware and software interrupts, Interrupt service routines /Ch. 14
13-14 Serial communications/Ch. 17
Laboratory and homework policy
Software Labs: (For individual)
- Software lab assignments are implemented using ASSEMBLY programming on PC located in Room 216.
- Software labs are given weekly and will be checked on a lab due date.
Hardware Labs: (For group of two students or individual)
- Hardware labs are involved in the construction of a single board computer (SBC) based on the 80C186EB microprocessor. The single board computer is to be designed, wire‑wrapped and tested by a team of two students. Progress evaluations are to be held on a lab due date.
- Each group are required to submit a lab report on Monday following the lab due date. No late lab report.
- Grade of each student will be given separately based on his/her work and knowledge on the single board computer.
Students who do not finish hardware labs will not be allowed to take final exam.
- For each lab, 30 points is the possible grade, 20 points for your individual demonstration and 10 points for your lab report. The guideline for the lab report is given on the next page.
Late lab check-off policy for both hardware and software:
- Allow first time late.
- On the lab due date: from 2 PM to 5 PM, students will get 15 / 20
- One day after lab due date, students will get 10 / 20
- No points given starting from second day after lab due date
Homework: - will be given once a week and due at the beginning of class on due date. NO Late homework.
Class Rules:
- You are expected to attend classes regularly. If you miss a class, it is your responsibility to find out about lab assignments, homework and examinations.
- You are encouraged to collaborate (not copy) and discuss assignments with other students in the class. You are welcome to see me after you have made a rigorous effort. This way helps you learn more and get better at problem solving.
- Discuss with people who’ve already taken the course is also fine.
- Copy programming code is unacceptable, including reading someone else’s code and then write your own in the same way.
- Cheating of any kind will not be tolerated.
- Giving/receiving help on examinations is unacceptable
- Penalties for academic dishonesty:
- ZERO on the assignment for the first occasion
- for repeat offenses, the penalty will be determined by faculty committee
Feel free to stop by my office and talk to me about any class matters, or other issues. I will be glad to help you in any way I can.Guideline of Laboratory Report for ECE 323
The lab reports for hardware are required for all students. The lab report must be typed using word processing. The length of the lab report (excluding figures, truth tables, and source codes) is one page, 12-point font, single-space, 1-inch margin (top, bottom, left and right).
The lab report is due on Monday following the lab check-off day (Wednesday). The lab report must include the following topics.
1. OBJECTIVE
State the purpose of the experiment in a short paragraph. Do not copy the objectives given in the laboratory handout.
2. PROCEDURE
a) Describe briefly each part of the experiment.
b) Include a flowchart (if any).
c) Include a timing diagram (if any).
3. CONCLUSION: state significant results and what you have learned.
4. Answering given questions: Answer all questions asked for in the lab handout.
5. Comments: Describe any difficulties or problems you had with the experiment. If
any, your thoughts on how you think about the lab.
6. Schematic diagram of the single board computer (3 points).
7. Print-out programming code (if any).

