APSC 380 : Introduction to Microcomputers
Contents: [
Instructor |
Lectures |
Tutorials |
Office Hours |
Teaching Assistants |
Labs |
Assignments |
Text |
Other References |
Web Page |
Evaluation |
Prerequisites |
Intended Audience |
Objectives |
Course Outline
]
Ed Casas.
You can contact me by e-mail (edc@ece.ubc.ca) or at my office in
MCLD 155 (822-2592) (preferably during office hours). MCLD 155
is in the basement of the Electrical and Computer Engineering
building.
Mondays and Wednesdays, 9:30 to 10:30 AM from January 5 to April
8 in Forward (FORW) 303. No lectures February 16 or 18 due to
mid-term break.
Fridays, 9:30 to 10:30 AM from January 9 to April 3 in FORW 303.
No tutorial February 20.
Tuesdays 11:30 to 12:30.
Jun Zhou (junz@ece.ubc.ca) and
Shahram Davari (shahramd@ece.ubc.ca). Jun and
Shahram will help students in the lab and will mark lab reports
and assignments.
Monday or Wednesday from 2:30 to 4:00 PM in MCLD 112.
The labs are an integral part of the course and all labs must
be completed to pass the course. Each lab requires you to
write a computer program and/or wire up a circuit to control the
lab hardware.
Lab Schedule
TAs will be in the labs during the scheduled lab times. You will
be asked to sign up for either Monday or Wednesday labs at the
start of the course. You will have two 1.5-hour lab sessions to
complete each lab.
You may also use the lab whenever it is not in use by another
course (i.e. when there are no TAs in the room). Room 112 is
open 24 hours a day but the building is locked outside normal
working hours. TAs will only be available during your scheduled
lab time.
The lab schedule is as follows:
Lab Topic Starts Report Due
1 A Simple C Program Jan 19 Feb 2
2 Programming a Keypad and Display Feb 2 Feb 16
3 Washing Machine Controller Feb 23 Mar 9
4 Microcontroller Mar 9 Mar 16
5 T.B.D. Mar 23 Apr 6
The topic of the fifth lab will be selected depending on the
students' interests.
Lab Marking
You must print out your program and demonstrate it to the TA
before the end of your second lab session. The TA will then ask
you one or two questions about your program to make sure you
understand the material. If did your own work you shouldn't have
any problems answering the question(s).
A short lab report must be handed in to the APSC 380 assignment
box (see below) before 9:30 AM on the due dates shown above.
This report should include a brief description of your program or
circuit, source code listings and schematics, and answers to any
questions posed in the lab notes.
Each lab will be marked out of 5 as follows:
correct program/circuit 3
answers after demo 1
accurate/complete/neat report 1
If a lab is not demonstrated on time you will receive a mark
of zero for that lab (0/5). If the report is not handed in on
time you will receive zero for the report (0/1).
The equipment available in the lab changes during the term and it
may be difficult to complete or demonstrate your lab after the
scheduled dates. Remember, you must demonstrate all labs, even
if you would get a mark of zero, to pass the course.
Labs are to be done individually. Students are encouraged to seek
help from classmates but copying is not allowed and each student
must submit an original solution. Possible penalties for
plagiarism include a mark of zero for all labs.
Lab Hints
Study the lab instructions and write your program and/or design
your circuit before the start of your first lab session.
Do not wait until the last few days to start the labs. The labs
will take longer than expected.
Ken Madore is the staff
member in charge of the lab. He is often available in the lab
during the day and will provide you with a user ID and a password
at the start of the course. He may also be able to help you with
problems in the labs if you cannot find of one of the TAs and he
is not busy with other duties.
An assignment will be given out each Monday and will be due at
9:30 AM Monday morning the following week. Your solutions should
be placed in the box labelled "APSC 380" outside the lab (MCLD
112). Solutions will be handed out for all questions but not all
questions will be marked. Late assignments will be given a
mark of zero.
Assignments are to be done individually. Students are encouraged
to seek help from classmates but copying is not allowed.
Possible penalties for plagiarism include a mark of zero for all
assignments.
The text for the course is Real--Time Microcomputer System
Design: An Introduction, by Peter Laurence and Konrad
Mauch, McGraw-Hill, 1987. This book has been used for this
course for many years.
Detailed notes will be distributed before the relevant lecture.
The notes will often contain exercises or sections to be
completed during the lecture.
Please wait until the end of the lecture before taking extra
copies. You can always print copies from the course's Web page
(see below).
The C Programming Language second edition, by Brian
W. Kernighan and Dennis M. Ritchie, Prentice Hall, 1988, is the
standard textbook on C.
The Art of Electronics, second edition, by Paul
Horowitz and Winfield Hill, Cambridge University Press, 1989, is
a good practical reference book on most aspects of electronics.
Students should check the course Web page (http://www.ece.ubc.ca/~apsc380)
regularly for announcements about the course. These web pages
can be read with any browser. Copies of the lecture notes,
assignments, exams, and solutions will be available in various
formats.
There will be a 50-minute mid-term examination in late February
(date TBD) and a final exam in April. The final mark will be
calculated as follows:
final exam 45%
midterm exam 25%
labs/reports 20%
assignments 10%
All labs must be completed to pass the course.
Late labs and assignments will receive a mark of zero.
Student should have some experience programming in a procedural
language such as C or FORTRAN (e.g. CPSC 152). Students should
be able to analyze basic electrical circuits (e.g. ELEC 256).
Students interested in using (rather than designing)
microcomputers for control (rather than computational)
applications.
By the end of the course the student should be able to:
- identify a control system's inputs and outputs
- design and describe (in tabular and diagram formats) a state
machine that implements a given control function
- convert between number systems and apply basic logical and
arithmetic operations to numbers
- write a computer program that implements a given algorithm
using the subset of C taught in the course
- describe the result of executing a given C program written
in the course's subset of C
- describe the function and operation of a microprocessor's
address, data and control buses when executing certain basic
machine-language instructions
- give the levels appearing on various signal lines during the
exchange of data over simple parallel (printer) and serial
(RS-232) interfaces
- select an appropriate type of sensor for a given application
- describe the principles of operation of three basic types of
A/D converters (flash, successive-approximation and dual-slope)
- draw schematics and compute steady-state voltages, currents
and power dissipation of simple BJT, FET, SCR and Triac switching
circuits
- select a particular type of electric motor for a given
application
- identify possible safety and reliability concerns for a
given control application
Detailed objectives will be provided in the introduction to each
set of lecture notes.
The following is the approximate order of the topics to be
covered:
- microcomputers for control applications
- programming in C
- state machines
- boolean logic, number systems, logic circuits
- microcomputer system architecture
- parallel and serial interfaces
- mid-term exam
- sensors and analog-to-digital converters
- electromechanical actuators and power electronics
- safety and reliability
Contents: [
Instructor |
Lectures |
Tutorials |
Office Hours |
Teaching Assistants |
Labs |
Assignments |
Text |
Other References |
Web Page |
Evaluation |
Prerequisites |
Intended Audience |
Objectives |
Course Outline
]
APSC 380 Home Page