ATMEGA8515/AT90S8515 and ATMEGA163
This interpreter uses on-chip RAM and EEPROM. Supports power-on EEPROM Execution.
Inspired by Nascom Tiny Basic, this byte-wide basic was written to facilitate experimenting with small control systems.
Want something
that fits into an AT90S2313? click here.
COMMAND
LIST
CONTROL: CONTROL-C, CONTROL-S, NEW,
LIST,
PRINT, PRX, PRB, $, KEY, EMIT, RUN, IF-THEN, FOR-TO-NEXT,
GOSUB-RETURN,
GOTO, SIZE, DUMP, END, <backspace>, SAVE, LOAD
EVALUATION: =,:=, <>, >, <,
ARITHMATIC, LOGICAL: +, -, AND, OR, XOR, LSLEFT, LSRIGHT
MEMORY, I/O: PEEK, POKE, plus dedicated I/O instructions for 8 and 10 bit pulse width modulation, 8 bit A-to-D, byte I/O and single bit manipulation and testing on Ports A thorgh D, and rudimentary DS Interface instructions DSCOMMAND, DSDATA, and DSREAD.
Programs are
stored in internal RAM. Some RAM is available for use as an array
via
PEEK and POKE commands. 26 Variables (A..Z) are supported. All
arithmetic and variables are byte-wide. Strings are not directly
supported. Keep statements to one simple exression per line. Line
editor supports destructive backspace (delete key), line
replacement ,
line deletion, and line insertion. Valid line numbers range is
0..255.
Lines entered with a numeral in the first column will be stored,
others
will be interpreted immediately. SAVE and LOAD commands save and
load
the program from the on-chip EEPROM. If RXD pin is held low during
power-up, EEPROM code will be automatically loaded and executed.
The
interpreter is not case-sensitive. PEEK and Poke provide access to
all
on-chip peripherals. Special I/O commands support bit I/O.
GOSUB-RETURN
and FOR-NEXT loops have one return level.
DOWNLOADS
The differences between the ATMega8515/AT90S8515 and ATmega163
versions
is the
amount of RAM available for program space and that the ATmega163
has
support for the on-chip A-to-D converter while the '8515's do
not..
AT90S8515/ATMEGA8515
hex
files
298 Byte program space, no A-to-D converter
Note: When using the ATMEGA8515 make sure you slect the
AT90S8515
Compatibility Fuse setting. Look here to
see the ATMEGA8515 fuse setup.
Download the
AVR
Studio hex file for AttoBasic8
version 8515-021109B 3.69 MHz.hex for the
STK-500 (file name
8515B3.hex, 13k bytes).
Click to download the AVR Studio hex file for AttoBasic 163-021109B 3.69 MHz.hex for the STK-500 (file name:163B3hex, 13k bytes).
Click to download the AVR Studio hex file for AttoBasic version 163-021109B 4Mhz.hex for 4MHz version (file name 163B4.hex, 13k bytes).
Click to download the AVR Studio hex file for AttoBasic version 163-021109B 8Mhz.hex for 8 MHz version (file name 163B8.hex, 13k bytes).
AVRStudio assembler source for ATMEGA163 version,163-021115C.asm
When programming the chips, remember to select the crystal oscillator option.
Communications
is
to a terminal at 9600 baud one stop bit, no parity.
USER GUIDE
Click here for the Online HTLM user guide (file name 163bbu.htm. 42k bytes).
Click here
for
stuffed HTML user guide (file name
163bbu.htm.sit 12k bytes).
SHORT
FORM COMMAND SET
Short
form
command set (file name sumc.pdf, 4k
bytes)
Hardware Considerations
This firmware
is intended to run on Atmel ATmega163 (499 bytes for program
memory) or
AT90S8515 (298 Bytes for program memory). Communications with the
terminal is via RS-232 at 9600 baud. Use 8 data bits, 1 stop bit,
and
no parity. The RXD pin and TXD pin should be connected to an
inverting
RS-232 interface. The Maxim MAX-232 and the discreet interface
shown in
the schematic which is described in Atmel Application note
AVR-910, are
examples of such interfaces. If the RXD pin is grounded when the
chip
comes out of reset, either from application of power or after an
external reset, the contents of the EEPROM will be loaded and
executed
by the interpreter. If the contents of the EEPROM is loaded when
the
EEPROM is in an erased state some of the internal pointers will be
set
inappropriately, so it is advisable to type "NEW" and "SAVE" to
initialize the EEPROM. A weak internal pull-up is applied to the
RXD
pin. Weak internal pullups are also applied to PD3 and PD4 for the
DS
Interface. Applications with particularly low parasitic
capacitance on
the DS Interface lines can omit the external pullup resistors on
these
two pins.
Use of
information presented on this page is for personal, nonprofit
educational
and noncommercial use only. This material (including object
files) is
copyrighted
by Richard Cappels and may not be republished or used directly
for
commercial
purposes without explicit permission For commercial license, click HERE.
Please see the liability disclaimer on the HOME page.
Contents ©2002-2004 Richard Cappels All Rights Reserved. http://www.projects.cappels.org/