Microprocessors and Interfacing – Semester 1, 2015
- You can include functions and constants from a separate file using
.include "myfile.asm"
. For an example, see the project. Use this to separate your functions in the labs from the code that uses those functions - this will allow you to reuse the functions more easily later on. - The instruction set is your bible. The datasheet explains how to set up different interrupts.
- Data Memory, Program Memory
- Add two 16-bit integers using registers.
- Add two arrays of integers and store in data memory.
- Convert a string to uppercase.
- Find the index of a character in a string.
- Bubble sort an array of integers.
- Functions, Stacks
- Load a string from program memory and reverse it into data memory.
- Find the length of the longest string in a linked list.
- Find the maximum and minimum signed integers in a linked list.
- LEDs, Buttons
- Display a static pattern on a series of LEDs.
- Display a rotating 16-bit pattern on a series of LEDs. The pattern shifts downwards every second.
- Display a user-entered pattern on the LEDs for a specified amount of time. The pattern is entered using two push buttons. The user must be able to queue a pattern while the previous one is displaying.
- Allow at least 32 patterns to be queued. If more than 4 patterns are queued, display the current pattern at twice the normal speed. If both buttons are pressed simultaneously, empty the queue and stop displaying the current pattern.
- LCDs, Keypad
- Display the binary value of numeric keypad buttons on a series of LEDs when the button is pressed.
- Display a message on an LCD.
- Create a calculator for 8-bit addition and subtraction.
- Extend the calculator to support 8-bit multiplication and division.
- PWM, Motor
- Measure the speed of a motor's rotation in revolutions per second using an optointerrupter.
- Make an LED fade in and out using PWM.
- Control the speed of a motor using a feedback system.
Microwave emulator. Includes a user manual and design manual.
Comparing the Instruction Set Architectures of AVR and ARM. Memory Models, Registers, Instruction Set, Data Types.