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/