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. 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 through 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 expression 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.
The firmware designed for the Atmel ATmega163 and AT90S8515 microcontrollers facilitates communication through an RS-232 interface, operating at a baud rate of 9600. The data format adheres to 8 data bits, 1 stop bit, and no parity, ensuring compatibility with standard serial communication protocols. The RXD and TXD pins must connect to an inverting RS-232 interface, such as the Maxim MAX-232, which converts TTL-level signals to RS-232 levels, making it suitable for communication with terminal devices.
Upon reset, if the RXD pin is grounded, the microcontroller loads the contents of the EEPROM, allowing for program execution. It is essential to initialize the EEPROM correctly to prevent misconfiguration of internal pointers. This can be achieved by sending the commands "NEW" and "SAVE" to set the EEPROM to a known state. The RXD pin includes a weak internal pull-up resistor, which assists in maintaining a stable signal during operation. Additionally, weak pull-ups are applied to pins PD3 and PD4, which are utilized for the DS interface, allowing for flexibility in applications with low parasitic capacitance.
The firmware supports memory and I/O operations through commands such as PEEK and POKE, enabling direct manipulation of RAM and peripheral registers. It includes dedicated instructions for various functionalities, including 8 and 10-bit pulse width modulation, 8-bit analog-to-digital conversion, and single-bit I/O operations across Ports A to D. The DS interface commands—DSCOMMAND, DSDATA, and DSREAD—allow for interaction with external devices.
The program storage is managed within the internal RAM, which also allows for the use of an array through PEEK and POKE commands. The system supports 26 variables labeled A to Z, with all arithmetic operations being byte-wide. The design does not support string manipulation directly, emphasizing simplicity and efficiency in programming. The line editor provides a user-friendly interface for editing commands, supporting functions such as backspace, line replacement, deletion, and insertion, with a valid line number range from 0 to 255. The interpreter processes commands in a case-insensitive manner, and it supports structured programming with GOSUB-RETURN and FOR-NEXT loops, allowing for one return level per subroutine. The SAVE and LOAD commands enable persistent storage of programs in the on-chip EEPROM, facilitating easy retrieval and execution upon power-up when the RXD pin is held low.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.
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. 🔗 External reference
Related Circuits
No related circuits found.
We use cookies to enhance your experience, analyze traffic, and serve personalized ads.
By clicking "Accept", you agree to our use of cookies.
Learn more