Make your own free website on

8515 Getting started code V 0.12
by David VanHorn

The complete archive of all the modules can be downloaded from the File Archive section

Bugs :-)

This application consists of fifteen files. They should all be in the same directory, or you will have to edit the .include directives
below to make them point to the right locations.

Main.asm         The main structure of the program      Port and pin definitions, supplied by ATMEL       Where constants get defined as words, to make life easier
Isr.asm              Interrupt Service Routines
Init.asm             Machine initialization
Memory.asm    Buffer management
Serial.asm         Serial comms using the on-board uart
Servo.asm        Servo control code for eight standard R/C servos on PORTC
Stepper.asm     Stepper motor control for one unipolar motor on port A0-A3
Random.asm    A 19 bit Pseudo Noise generator
Watchdog.asm Watchdog timer code
DS1602.asm    Handler for the Dallas 1602 dual seconds counter clock
DS1820.asm    Handler for the Dallas 1820 thermometer chip
Tables.asm        Example lookup table, plus code to get data out of it.

The following files are not integrated into this application, they are just example code.

DS1806.asm     Handler for Dallas sextet pot
LCD4bit.asm     Handler for generic character based LCD's in 4 bit mode
VFD.asm           Handler for Futaba Vacuum Fluorescent Displays
EEPROM.asm  Handler for the internal EEPROM, coded to save and recall  pot values for DS1806 above, but you can use it for anything.

Physical resources.

This application is designed for an AVR demo board, with 8.00 MHz crystal.
For bonus points, modify it to use a 4 MHz xtal, without changing the speed that anything runs at. That's a good first project!

A0-3     Stepper motor output, 4 phase unipolar motor (Ping on A0 if used)
A4-6     DS1602 dual RTC chip A4=/Reset A5=Data A6=Clock
A7         DS1820 Thermostat chip
B0-7      Demo board LED's
D0-7      Demo board switches
C0-7      R/C Servo outputs, connect to servos through a 1k resistor.
T0          1mS opsys interrupt
T1          Servo width
UART    Interrupt driven buffered comms, both directions
Wdog    Internal watchdog timer is active.

All trademarks and logos are copyright of their respective owners.
(C) 1998-1999-2000 Stelios Koroneos