# 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)

## Lab Manual

### Section 1: Introduction to AVR Development Tools

Become familiar with the ATmega128, AVRStudio4, and the TekBots Universal Programmer.

### Section 2: C -> Assembler -> Machine Code -> TekBot

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.

### Section 3: Data Manipulation and the LCD

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.

### Section 4: Large Number Arithmetic

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.

### Section 5: Simple Interrupts

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.

### Section 6: Extremely Simple Computer (ESC)

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.

### Section 7: Remotely Operated Vehicle

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.