APSC 380 : Introduction to Microcomputers
Ed Casas.
You can contact me by e-mail (edc@ece.ubc.ca) or at my office in
MCLD 451 (822-2592) (preferably during office hours).
Monday, Wednesday and Friday, 9:30 to 10:30 AM in Forward (FORW)
303. Tutorials cover new and important material and attendance
is required.
Fridays, 10:30 to 11:30 AM.
Dai Nan will demonstrate the labs and mark the assignemnts. Her
e-mail address is dain@ece.ubc.ca and her office is
in MCLD 113.
Mondays 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
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 18 Feb 1
2 Programming a Keypad and Display Feb 1 Feb 22
3 Washing Machine Controller Feb 22 Mar 8
4 Microcontroller Mar 8 Mar 22
5 T.B.D. Mar 22 Apr 5
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 (MCLD 112A) 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 about once per week and will be
due one week later. 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.
There is no text for this course. 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 book Real--Time Microcomputer System Design: An
Introduction, by Peter Laurence and Konrad Mauch,
McGraw-Hill, 1987 was used for this course for many years
although much of the material is now outdated.
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/~edc/380/)
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.
Mailing List
The lecturer will post important announcements about the course
on the apsc380-announce mailing list. All students in
the course should subscribe to this mailing list.
Students should post questions or answers about the course
material to the apsc380 mailing list.
Instructions on subscribing are available
on the course Web page.
The mailing lists can also be accessed through the apsc380-announce and apsc380 archives.
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
APSC 380 Home Page