Email: Password: Remember Me | Create Account (Free) Single Board Computer (SBC)
SBC Hardware: Main | SBC Schematic/Parts List | Technical Details | All pages in PDF format
SBC In-System Programming: Information | VisISP-52 ISP Application
SBCMON Monitor/Operating System: Main Page | Manual
SBCMON-based Software: SBCMON Monitor | Keypad Demo | LCD Echo Demo | Hardware Clock | Software Clock
SBCMON-based PS/2 Software: PS/2 Comm Monitor | PS/2 Keyboard | PS/2 Mouse
Introduction to the SBC

(Larger image)
The SBC is a single-board computer designed to be both useful and instructive in illustrating certain concepts commonly encountered in 8052-based development. Although many SBCs already exist, this SBC was designed specifically to form the basis of thorough technical discussions and tutorials consistent with those found on this website--it was also specifically designed to compliment The 8051/8052 Microcontroller Book that was authored by Craig Steiner, the webmaster of Nothing was included in this SBC that does not serve a specific educational purpose and implementations that would confuse or unnecessarily complicate the design were intentionally omitted in favor of easy-to-understand approaches so that the important topics could be covered without being lost in the details. Every aspect of the SBC is completely explained in the book.

This SBC was also designed with a worldwide market in mind. Recognizing that not all parts are easily available in all parts of the world, this SBC intentionally uses common parts that should not be difficult to acquire. In some cases the use of common parts may not have been the optimum design but in these cases the efficiency was sacrificed in favor of universality.

The board was developed with the Atmel AT89S8252/AT89S8253 and Dallas DS89C420 in mind but can be used with any 40-pin 8052 pin-compatible derivative including the traditional true-blue 8052, 8051, 8032, 8031, etc.; Additionally, this SBC will work with the new Atmel AT89S8253 that has been announced to replace the AT89S8252. Its feature-set is such that the user may use the SBC simply to learn and master the 8052 microcontroller but may also subsequently use it as a base for his or her own projects and designs. SBC Features

Some notable features of the SBC are:

  1. In-System Programming. Atmel AT89S8252 and Dallas DS89C420 can be programmed in-system without having to remove the microcontroller and without need for a part programmer or special cables.
  2. Serial Port/UART. Includes a single standard RS-232 compatible DB9 port that can be used to interface and communicate with external devices such as a standard PC. This is also useful in explaining the concept of serial communications.
  3. 16x2 LCD. Includes a 16 column by 2 row LCD that can be connected to the circuit either by direct connection (the lines being driven directly by port pins of the microcontroller on P1 and P3) or as a memory-mapped device (accessed with the MOVX instruction). This is useful in explaining communication with external devices by controlling individual I/O lines. It also is useful in explaining the concept of memory-mapped devices.
  4. 4x4 Keypad. A 4x4 matrix keypad which allows the user to input the numbers 0 through 9 plus provides 6 special function keys. This is useful in explaining the concept of key debounce.
  5. Real Time Clock. The SBC includes a DS1307 Real-Time Clock. In addition to providing time-keeping capabilities this part is instrumental in demonstrating inter-chip communication using the I2C protocol.
  6. Serial EEPROM. The SBC includes an Atmel AT25010A serial EEPROM which provides 128 bytes of non-volatile memory. More importantly it provides an opportunity to demonstrate inter-chip communication using the SPI protocol.
  7. EPROM. The SBC may be configured to run code out of an EPROM inserted into the circuit. This is useful if the microcontroller being used does not have any on-chip code memory such as traditional 8032s, 8052s, etc. Those using a microcontroller with on-chip code memory may choose to omit the EPROM.
  8. Code RAM. The SBC includes 32k of code RAM. This is RAM that has been wired such that the SBC will access it as RAM as well as code memory. This allows the user to download code into the RAM and execute it from RAM without having to burn a new EPROM or reprogram the microcontroller.
  9. Access to all I/O lines. All data, address, and relevant signal lines are exposed on connector blocks such that the SBC may easily be expanded to circuits on external PCBs.
  10. Addressable LED. P1.0 may be optionally connected to a LED for testing simple programs that cause the LED to flash.
  11. Dual reset circuits. The SBC includes both a traditional resistor-capacitor (RC) network to provide the reset signal and also includes a more reliable MN13811 reset supervisor. Which solution is used to provide the reset signal is selectable with a jumper.
Why use an SBC?

SBCs were very popular before about the year 2000. Short of expensive in-circuit emulators (ICE), SBCs were one of the cheapest ways to quickly test 8052 firmware and/or experiment with the 8052 and attached devices. With the advent of low-priced evaluation boards from semiconductors companies such as Signal Laboratories, Texas Instruments, and Analog Devices, the demand for SBCs has dropped as many have found these evaluation boards to provide near-ICE functionality for under $200.

However, SBCs may still have a place in one's effort to learn and experiment with the 8052. An SBC provides the opportunity to understand what the 8052 is doing at the electrical level as it interfaces with external RAM, keypads, LCDs, serial ports, and buttons. Additionally, this SBC can be built by anyone with the parts and a soldering iron while most new evaluation boards must be purchased directly from the manufacturer and use surface mount technology that is not easily assembled by the novice or student. This SBC also utilizes parts that should be available in virtually any country without having to import parts from foreign sources. And, of course, this SBC can be used with virtually any 8052-compatible 40-pin DIP microcontroller so the user can actually build the SBC with almost any 8052 derivative that is available locally.

In short, using an SBC--and especially building one--forces an understanding of the 8052's architecture and external electrical connections that might be missed if the user immediately uses a modern evaluation board without understanding the underlying fundamentals.