ECE 375: Computer Organization and Assembly Language Programming
ECE 375 is an exciting course that introduces students to the basics of computer organization and basic computing paradigms. Using a Atmel ATMega128 microcontroller, students will interface with their TekBots and be able to see how their programs and concepts are put into action in a real device.
(ECE Student Prerequisites: A basic TekBot)
The following lab material requires Adobe Acrobot Reader to view.
- Mega128 Board
- USBASP-USBISP Programmer
- Lab Report Example (doc)
- Lab Report Template (tex)
- ATmega128 Datasheet
- AVRStudio4 & ATmega128 Starter Guide
- AVR 8-bit Instruction Set Architecture (ISA)
- AVR Assembler Users Guide
Guide for translating source code to object code for the Mega128.
- USBASP-USBISP Programmer Users Guide
Guide for using the USBASP-USBISP Programmer module.
- Programming Instructions (Win/Mac/Linux)
- USBASP Atmel Studio Programming Instructions
Become familiar with the ATmega128, AVRStudio4, and the TekBots Universal Programmer.
This section asks you to write a simple C program that mimics the operation of the TekBot from last section. The code sizes of those two programs are compared.
Very important in any computing system is a method of observing the results. Your mega128 board has an on-board LCD display that can be used to observe the results of various actions. This section asks you to create a simple scrolling marquee on your LCD display.
Often times in computing you need to work with data types that are not standard to the system you are using. For example, the AVR architecture is only 8 bits, what if you wanted to work with 16 bit numbers? In this section you will design a 'simple' function to perform math on some 16 bit numbers.
In engineering there are always many ways of solving a problem or designing a system. Your job as an engineer is to be able to examine the designs and pick the 'best' one. You have built and compiled two different versions of the bumper TekBot in this course. Now you are going to make one more version, this time using external interrupts on the AVR. You will then compare and contrast the three different versions and explain when and why each solution is better.
In this lab we are going to explore in detail how a simple computer processor might work. To do this we are going to simulator called the 'Extremely Simple Computer' (ESC) simulator. Using this tool you will be able to explore computing in depth and gain understanding.
For your project you will need to work together with your partner to make a remote controlled TekBot. You will need to use the IR Communications port on your AVR board to control another AVR board that is connected to the TekBot itself. You need to be able to make your TekBot go forward, backward, stop, and turn either direction.