To get get the ATmega16 aliases (especially ADC), include \\ntdfs\cs\cse\courses\cse466\02au\include\iom16_adds.h. It should be mapped to O, so you can include it over the network (include "o:\cse\courses\cse466\02au\include\iom16_add.h")
Each person needs to bring a $200 check made out to University of Washington to lab next week for equipment deposit. The check will be held, and returned/destroyed at the end of the quarter
Blink all 8 LEDs, one at a time (order doesn't matter)
Speed should approximately match that of the C code
COMMENT YOUR ASSEMBLY CODE!
Beat 26 words for extra credit
ntdfs may or may not be down, use ntdfs-2, or see schedule for files
To program prototype board
Plug serial cable into com1 or com2 (not into serial expansion ports)
Hold down the PROG button
While continuing to hold down the PROG button, press and release the RESET button
Release PROG
Press and release RESET to run your program.
Detailed instruction descriptions available at Atmel's website. Please don't print out (149 pages, and the rest of your programming will be in C).
You are using the Atmel ATmega16
Register summary is on page 301 of course pack (There is a lab copy of the course pack floating around)
Instruction set summary is on page 303 of course pack
General purpose registers are r0-r31, watch for instructions that only operate on some of them (ldi, load immediate, only works on r16-31 - there is only 16 bits for the instruction, 8 is taken for the immediate, 4 for the register, and 4 for the opcode)
Include [.include "m16def.inc"] to get logical names [PORTA] for registers (as opposed to having to use addresses [$3B])
To turn on a LED, set the bit to ZERO
When creating an AVR Studio 4 project (for writing the assembly program):
Project Type: Atmel AVR Assembler
Debug Platform: AVR Simulator
Device: ATmega16
PARTNERS: EMAIL partners, lab section to cse466-turnin
DELIVERABLES: EMAIL assembly code, and who worked on it to cse466-turnin