|
Description Syllabus Policies Quizzes/Homework Grading
12/5/2011 - links to AVR Summary and AVR Assembler manuals added
11/29/2011 - updates to first three weeks; links to wiki and sample code added
This page was last updated on 02/16/2012.
Lectures are on Monday, Wednesday, and Friday in S362 from 8:00am to 8:50am.
Labs are on Thursday in S343 from 8:00am to 10:50am.
As stated in my general course policies, attendance is mandatory for all lectures and labs. Email me when you foresee yourself to be absent. I reserve the right to administratively drop anyone who misses 3 or more lectures or labs. Be sure to read the entire document for all relevant policies that apply to this course.
This course presents assembly language programming as the bridge between hardware and high-level programming languages (such as C, which you'll learn in CE2810). Topics covered include the addressing modes, registers, and instruction set of a microcontroller; subsystems such as the timer/counter, analog to digital convertor; EEPROM, and interrupts. Software control of hardware is stressed. In the laboratory, students design software to demonstrate proficiency in these areas.
Please consult the official course description for detailed objectives.
No textbook is required for this course. You will instead
be making extensive use of the Atmel reference guides, which are distributed via
the wiki.
The most important references are:
Each student is required to purchase an Atmel32 kit with keypad and display. These are available from Tech Support.
You will be required to install and use a program called AVRStudio. It is assumed you have the standard MSOE laptop configuration, with which AVRStudio has been confirmed to be compatible. If you are running a non-standard image, it is your responsibility to ensure compatibility with AVRStudio.
Week | Day | Topic | Reading | Lab (Thursday) |
---|---|---|---|---|
1 11/28 |
M | Course Introduction | wiki:
Microcontroller components wiki: Atmega32 architecture
wiki: Simple Program |
Quiz:
Lab Safety Lab 1: Atmel Development Environment Setup Due in Blackboard by 11pm Dec 6, 2011 Prelab videos: |
W |
Atmega32
architectural overview download and install AVRStudio AVRStudio Service Release 3 |
|||
F |
AVR Assembler Directives, simulator/debugger |
|||
2 12/5 |
M |
Data memory: Addressing
Modes: Load/Store instructions Index registers |
wiki: Data Transfer instructions
Sample program: Sample
code:
Sample code: |
Quiz 2 Prelab videos: Listing file interpretation video
Lab 2: AVRStudio/Debugging Reference material: |
W | ||||
F |
Instruction set:
Status Register flags again Comparison, Transfers, Bit manipulation |
|||
3 12/12 |
M | Catch-up |
|
Quiz 3 Lab 3: Bouncing Lights Due in Blackboard by 11pm Jan 3, 2012 |
W |
The Stack, Subroutines Review |
|||
F | Exam 1 | |||
Christmas Break | ||||
4 1/2 |
M | No school |
wiki: I/O Ports
Sample code: |
Quiz 4 Lab 4: Bouncing Lights Revisited Due in Blackboard by 11pm Jan 10, 2012 |
W | Exam review | |||
F | Assembler software design guidelines | |||
5 1/9 |
M | Addressing Modes review |
Sample Code: Program Memory access |
Quiz 5: I/O Ports, subroutines and stack Due in Blackboard by 11pm Jan 17, 2012 |
W |
Sample Code: USART demo USART tech ref: page 146 of the Atmega32 summary manual |
|||
F |
LCD Display communication
interface LCD Display continued, outputting commands and data |
|||
6 1/16
|
M |
Interrupts |
Sample Code: InterruptDemo.zip |
Quiz 6: USART configuration
Due in Blackboard by 11pm Jan 24, 2012 |
W | Interrupts continued | |||
F | Interrupts continued | |||
7 1/23 |
M | Analog to Digital Conversion |
Sample A/D code ADConversion.asm |
Lab 7: Dual channel Voltmeter |
W | Analog to Digital Conversion, Part 2 | |||
F | Timer/Counter Subsystem | |||
8 1/30 |
M |
Timer/Counter continued:
Timer/Counter continued: |
Sample code: TimerCounter.asm Wiki site http://wiki.msoe.us/ce2800/timers Sample code:
|
Quiz 7: A/D, Interrupts Lab 8: Cruise Control |
W | PWM generation continued | |||
F | Review for Exam 2 | |||
9 2/6 |
M |
Exam 2 |
Sample code: WatchdogDemo.asm Sample code: Exam2-2012.asm |
Lab 9: Sound Synthesizer Lab 10: Sound Synthesizer - Part 2 |
W | Watchdog Timer | |||
F |
Exam review ISR's and SREG manangement |
|||
10 2/13 |
M |
Sample code:
Sample code: |
||
W | EEPROM | |||
F | ||||
11 2/20 |
Final Exam: |
My general course policies apply to this course.
Quizzes or Homework will be given or assigned each week.
You are encouraged to work with your classmates on homework, so that you can more fully understand the problem and discuss approaches to solution. However, you should work out the solutions to problems individually. Homework problems will be kept short, and will be due the next class period after which they are assigned unless stated otherwise in the homework description.
Quizzes, when given instead of homework, will be given at the beginning of the Lab session. No quiz will be given the week of the Exams. No make-up quizzes will be given.
Note that this algorithm indicates how a grade will be determined for students who have successfully demonstrated mastery of the course objectives. An acceptable level of success in meeting all course objectives is a prerequisite for a passing grade in the course.
Criterion | Weight |
Labs | 20% |
Quizzes | 20% |
Hour Exams (2) | 40% |
Final Exam | 20% |