Description: This firmware is intended to run on an Atmel ATtiny2313 operating from a 4, 8, 10, 16, or 20 MHz clock or an AT90S2313 operating from a 4 MHz clock. As far as I have been able to determine, the ATtiny2313 and AT90S2313 versions are interchangeable, and the only difference is that they were assembled using different include files. When connected to minimal interface circuitry, a chip programmed with this interpreter will interact with an ASCII terminal allowing the writing and execution of small Basic programs and hardware debugging by immediately executing commands from the terminal that are not preceded by a line number. Communications with the terminal is via RS-232 (EIA-232) at 9600 baud, 8 data bits, one stop, no parity. Pin 2 (RXD) and pin 3 (TXD) should be connected to an inverting RS-232 interface as shown in the schematic on this page. The Maxim MAX-232 and similar interface chips as well as the discreet interface shown in Atmel's AVR-910 application note are examples of such interfaces. More: Programs are typed directly into on-chip RAM and may be saved to the on-chip EEPROM with the SAVE command and loaded back to RAM from the on-chip EEPROM with the LOAD command. If pin 2 (RXD) is grounded when the chip comes out of reset, either from the application of power or after an external reset, the contents of the EEPROM will be loaded into RAM and executed by the interpreter. If the contents of the EEPROM is loaded when the EEPROM is in the erased state, some of the internal pointers may be set inappropriately, so it is advisable to type ?NEW" to reset the pointers prior to entering a new program. A weak internal pull-up is applied to pin 2, and as a consequence, the 39k pull-up shown in the discreet RS-232 receiver in the schematic is no longer needed. When power is switched on, you should see it type the greeting line, then drop a couple of lines and present a prompt:
You can enter commands and arguments at the prompt. Variables can be manipulated and they are not cleared when the program is run, thus the terminal maybe used to initialize variables before the program is run, and it can be used to read results after a program is run, thus saving precious program memory.
The firmware operates on the Atmel ATtiny2313 or AT90S2313 microcontrollers, which are capable of functioning with various clock speeds, enabling flexibility in application design. The microcontroller communicates with an ASCII terminal through an RS-232 interface, which is a standard for serial communication. The RS-232 interface is configured for a baud rate of 9600, with 8 data bits, one stop bit, and no parity, ensuring compatibility with a wide range of terminal devices.
The schematic includes connections for the RXD (pin 2) and TXD (pin 3) lines, which must be interfaced with an RS-232 level converter, such as the Maxim MAX-232. This chip converts TTL logic levels to RS-232 levels, allowing for reliable communication over longer distances. The design also incorporates a weak internal pull-up resistor on pin 2, which negates the need for an external pull-up resistor in the circuit, simplifying the design.
The firmware supports a Basic interpreter that allows users to write and execute programs directly in RAM. The ability to save programs to on-chip EEPROM enhances the functionality, as users can store their code and retrieve it later. The interpreter's design allows for immediate execution of commands, enhancing the interactive experience during debugging and development.
Upon powering up the system, the firmware initializes and presents a greeting message, indicating successful startup. The user can interact with the system via a command prompt, where they may enter commands and manipulate variables. The persistent nature of the variables allows for pre-execution initialization and post-execution result retrieval, optimizing memory usage and enhancing the overall efficiency of the programming process.
This firmware and its associated schematic provide a robust platform for developing and testing small Basic programs, making it suitable for educational purposes or for hobbyist projects involving the ATtiny2313 or AT90S2313 microcontrollers.This firmware is intended to run on an Atmel ATtiny2313 operating from a 4, 8, 10, 16, or 20 MHz clock or an AT90S2313 operating from a 4 MHz clock. As far as I have been able to determine, the ATtiny2313 and AT90S2313 versions are interchangeable, and the only difference is that they were assembled using different include files.
When connected to minimal interface circuitry, a chip programmed with this interpreter will interact with an ASCII terminal allowing the writing and execution of small Basic programs and hardware debugging by immediately executing commands from the terminal that are not preceded by a line number. Communications with the terminal is via RS-232 (EIA-232) at 9600 baud, 8 data bits, one stop, no parity.
Pin 2 (RXD) and pin 3 (TXD) should be connected to an inverting RS-232 interface as shown in the schematic on this page. The Maxim MAX-232 and similar interface chips as well as the discreet interface shown in Atmel's AVR-910 application note are examples of such interfaces.
Programs are typed directly into on-chip RAM and may be saved to the on-chip EEPROM with the SAVE command and loaded back to RAM from the on-chip EEPROM with the LOAD command. If pin 2 (RXD) is grounded when the chip comes out of reset, either from the application of power or after an external reset, the contents of the EEPROM will be loaded into RAM and executed by the interpreter.
If the contents of the EEPROM is loaded when the EEPROM is in the erased state, some of the internal pointers may be set inappropriately, so it is advisable to type ?NEW" to reset the pointers prior to entering a new program. A weak internal pull-up is applied to pin 2, and as a consequence, the 39k pull-up shown in the discreet RS-232 receiver in the schematic is no longer needed.
When power is switched on, you should see it type the greeting line, then drop
a couple of lines and present a prompt:
Atto Basic V0.2. Copyright 2002 Richard Cappels,[email protected]
You can enter commands and arguments at the prompt.
Variables can be manipulated and they
are not cleared when the program is run, thus the terminal maybe used to initialize
variables before the program is run, and it can be used to read results
after a program is run, thus saving precious program memory.
Laser based projects used to be expensive, until the development of solid state lasers. This project is designed for the entry level laser experimenter. The circuit allows any two computers with serial (RS-232) communication capability to communicate over 200 meters...
In need for a cheap but effective RS-232 Protocol Analyser? Just make your own Y adaptor to enable the logging or display of data transmitted and/or received in ASCII, Hex, Decimal or Hex-Dump formats. A configuration file is included to...
This circuit functions solely as a reader and is not designed for programming. It cannot be used to refill, hack, or perform any illegal activities with telecards. The primary purpose of this circuit is to demonstrate how a microcontroller reads...
The popularity and easy access of RS-232 ports lend them to many communication projects. You can use a port as is or as a tiny parallel port when the exchange uses only control lines. Before the asynchronous serial-data transfer between...
This is a compass circuit based at AT90S2313. The output drives 8 LEDs to indicate the different horizon directions.
The compass circuit utilizes the AT90S2313 microcontroller, which is an 8-bit AVR microcontroller with a rich set of features suitable for this...
This project is intended for entry-level laser experimenters. The circuit enables communication between two computers with serial (RS-232) capabilities over a distance of 200 meters using a laser beam. A low-cost transmitter-only circuit is also provided for one-way communication and...
This is a simple serial port buffer circuit I designed for a friend to speed up his SLIP connection in campus computer network "TRINET" of Helsinki University of Technology. The problem in the network was that the RS232 connections from...
Here is a diagram of the internals of the MAX232A. It shows a double charge pump voltage doubler and a +10v to -10v voltage inverter. The voltages output are used to generate the RS-232 compliant signals. The MAX232A has provisions...
This circuit is designed for experiments using the AT90S2313 microcontroller, a 2x16 LCD display, and a 4x4 keypad. It operates with a clock based on a 4 MHz crystal, although any crystal between 1-4 MHz can be utilized. The keys...
We use cookies to enhance your experience, analyze traffic, and (if you allow) serve personalized ads.
By clicking Accept All, you agree to our use of cookies.
Learn more