A "BASIC - 52" SINGLE BOARD COMPUTER


INTRODUCTION

This section of the website describes a single board computer ( SBC ) using a MicroMint 80C52 microcomputer, pre - programmed with an 8K BASIC - 52 interpeter... This chip was originally made by Intel as an 8052AH, one of the MCS-51 family of 8 - bit embedded controllers.

The computer has an RS232 port, 8K of RAM, and 8K of EPROM. It fits on a board measuring 2.5 x 3.8 inches, and was designed using ExpressPCB CAD software. High quality, plated - through boards for this computer can be purchased directly from ExpressPCB, ( via the internet, with a credit card ) using the CAD files available in this section of the website. They have a 3 board “minimum order”, and the cost per board is over $20. If you don’t want to buy three boards, I can sell you one for US$ 30.00, shipped via ordinary postal service in the U.S. ( a little more overseas... "how much more" is "where" and "how fast" )

I have already built one of these computers, and demonstrated ( to myself ) that everything works properly.... it is presently cranking out "trig tables", ( sine, cosine and tangent ) which are being displayed on my IBM computer, at work. ( early May, 2001 )


THE BASIC - 52 INTERPETER

BASIC - 52 is a high level BASIC interpeter, similar to GWBASIC or QBASIC... it has over 100 instructions in its vocabulary, and includes floating point and scientific notation math, as well as transcendental functions like trigs, logs, and exponentials. Conversely, it has no graphics or “video stuff”, and very limited string features. The next webpage lists some of the commands in the BASIC - 52 vocabulary, to give you an idea of its capabilities.

The computer is operated and programmed entirely through the RS232 port, using a “dumb” terminal, or a terminal simulation program, such as HyperTerminal. After “power up”, the BASIC - 52 interpeter expects the first keystroke from the console to be a space bar... this allows the interpeter to calculate the baud rate of the terminal, and it replies to the ( space bar ) keystroke with a “sign on” message.

This computer also has an integral EPROM programmer, which can be used to “save” the BASIC - 52 programs, permanently. The EPROM programmer is invoked directly from the BASIC - 52 interpeter, using the PROG or FPROG commands. The user’s program can be “EPROM saved” in a way that causes the micro to ( power on ) “coldboot” directly from the ( saved ) BASIC program and run it, without any human intervention.... ideal for situations where someone needs a small computer that can be quickly and easily programmed to do a specific task.


TWO MICROS ARE BETTER THAN ONE

I managed to make room on the board for an 18 pin PIC microcomputer, ( with connections for reset, crystal, and power ) such as the PIC 16F84, which is used in other devices described on this website. The PIC chip can be employed independantly, or together with the MicroMint chip... the MicroMint chip has a few unused I/O pins that ( if desired ) can be hand - wired to the PIC, to allow communications from one micro to the other. The intention was to employ the PIC chip as a fast, intelligent, agile “input / output device”, and leave the heavy “number crunching” to the ( slower ) MicroMint chip.

I have not provided any PIC code ( here ) to actually do this, since the code would probably be very specific to the type of I/O desired, and ( to a lesser extent ) on the type of PIC chip used. Other sections of this website include PIC code for an electronic compass that generates an RS232 output, and for an RS232 output from my Doppler DF. Both of these PIC projects use an 18 - pin PIC 16F84 chip. The Doppler DF / RS232 interface design is fairly simple, and has been adapted ( by other people ) to other types of Doppler DFs.


APOLOGIES / EXPLANATIONS

This SBC does not ( really ) follow the prevailing DF “theme” of this website, but it’s a pretty neat device, and it could ( concievably ) be used for some type of DF function... In any event, it can serve as a painless introduction to anyone who simply wants to play directly with a micro, ( without resorting to assembly language, or an expensive suite of software tools ) or for anyone unfamiliar with the Intel MCS-51 series of microcomputers.... the BASIC 52 interpeter has provisions for linking to assembly programs, so it can also provide a platform for anyone who wants to learn ( MCS-51 ) assembly language, starting from a ( more comfortable ) BASIC environment.

As for myself, my first “DF” application ( if / when I get to it ) will probably be a “deviation corrected” electronic compass, using the PIC compass described elsewhere on this website... By swinging the compass in a full 360 - degree circle, ( at a constant rate-of-turn ) this SBC could easily “record” the various compass readings from the PIC, then calculate the errors at each heading after the circle is completed. ( based on the assumption that the compass “rotation rate” was uniform ) Following this “auto-calibration” procedure, this SBC could automatically “correct” all subsequent compass outputs....

For that matter, this method could also be applied to correct errors in DF bearings, by swinging the DF in a full 360 - degree circle, while monitoring a signal from a remote location... Both of these tasks are just a little to “intense” for a PIC... there’s not much internal RAM in a PIC ( to store the data ) and the math would involve some fairly “heavy” division, probably at least 24 bits... it could probably be done, but it would be so MUCH easier in BASIC.


MEMORY OPTIONS

Information from various sources indicate that EEPROMS can also be programmed with this chip, but I have not investigated this... I have never really used EEPROMS, but they would allow the user to erase old programs without using a UV light. The 2864 chip is a EEPROM equivalent ( = same pinout ) for the 2764 chip, used here... I avoid the inconvenience of EPROMS simply by buying two EPROMS, and always keep one “cooking” in the UV eraser, whenever I am writing programs. In any event, you can write and run programs in RAM, until you are ready to save it in prom.... The next webpage has a download program that will allow you to download BASIC - 52 programs that are stored on your IBM, using text files created / edited with NotePad.

The BASIC 52 interpeter also has a "PGM" command that allows the program to save information in the EPROM, while the BASIC 52 program is running... It looks somewhat complicated, but this feature would allow the computer to “capture” data into the non-volatile EPROM, for later retrieval. PIC chips also have this feature, ( using internal EEPROM ) but their EEPROM memory area is generally very small.

The onboard memory capacity can be expanded to a maximum of 32K of RAM and/or 32K of EPROM, using a ( somewhat crude ) "trick", described on the next page.


Background

The BASIC - 52 Intel chip is no longer manufactured or supported ( as such ) by Intel... it is manufactured ( under license from Intel ) by MicroMint, who widely employs it to make their small computer systems. The chip with the BASIC - 52 interpeter “built in” is available directly from Jameco for US$ 20. A comprehensive and detailed manual for the BASIC - 52 programming language ( created by Systronix ) is also available from Jameco.

At one time, Intel also offered a programming language book for BASIC 52, which is very similar to the one from Systronix, except it also included schematic diagrams for ( simple ) computers that use this chip. Most of the design presented here comes from the Intel book. MicroMint is willing to sell their technical manuals, ( with schematics, including ones for SBCs that use this chip ) as well.

Systronix is primarily a software house, ( and primarily an MCS-51 software house ) and created the interpeter in this chip. The ( assembly language ) source code for the interpeter can be purchased directly from Systronix for $50, which would allow a user ( with an assembler and a suitable programmer ) to buy the ( cheaper ) “unprogrammed” versions of the 8052, and load the interpeter into it, themselves.

The MicroMint website is located at :

[www.MicroMint.com]

Systronix is located at :

[www.Systronix.com]

Furthermore, there is a substantial “subculture” of hackers who use this chip, ( mostly without the BASIC - 52 interpeter ) including a webring for 8051 users :

[webring.yahoo.com/hub?ring=80x51&list]

Enhanced version of this chip, as well as enhanced versions of the interpeter, are ( apparently ) available, based on some things I've seen in this webring. Systronics makes a compiler for the BASIC - 52 language, which can be used to enhance execution speed. ( but it requires the use of unprogrammed 8052 chips. )


[HOME PAGE][NEXT PAGE]