F. FIRMWARE
8 kB ROM for the first moving will contain with monitor program, where this monitor program I take from Paul Stoffregen (using assembly) after modified to fit with 8031 type. The next experiment, this will contain with BASIC interpreter. So the user program can use BASIC language, more easy to learn. Of course the ROM can be make 2 pcs, so the firmware can be changed easily. One using assembly and the other using BASIC language. It is your choice. EPROM can be programmed using commercial EPROM programmer or another diy programmer like my 2764-programmer or my universal eprommer. We also can use EEPROM device like 2864 type to experiment with. EEPROM can be programmed using Willeprom ver 3.1s like mine.
Here are the firmware programs :
- Modified from Paul design (PaulMon)
- BASIC Interpreter with 8031 basic system (Basic31 V1.2a)
- BASIC Interpreter with 8052 basic system (Basic52 V1.1)
These are the displays for paulmon monitor program on hyper terminal :
Doing more experiment to another monitoring program, you can try these sample :
- Minimum Monitor (MinMon) from the book written by Sencer Yeralan
- Mon51 from the book writen by Scott MacKenzie
After I searh the net at several old sites (link could be followed below), I got a few resources about 8051 microcontroller. Very much monitor program could be used was made by another people, and all of it is free. Here a few of them (but still in original version, not implemented to my circuit) some simple while others more complex :
- Steve 8051 Bootloader Ver 3.0
- Goodhue (dari Signetics Co.) Bootstrap 8051
- Scott Mon51 Ver 12 from the author
- Steve Kemplin MonPlus 8031 Ver 3.1
- Ibrahim AVCI MonXXX 8XC52
- Rigel Corp. rMinMon 8051 from the author
- Ron Stubbers RTC31 Monitor 8051
- UltraMon 8051
- Debug51 Monitor Debugger
If I could have enough time, I will do experiment with those programs monitor later.
Here are the displays on hyper terminal :
G. PROTOTYPE
As told above , my prototype size about 8cm x 15 cm and work nicely. To test the board works or not, you can use the sample program like this that showing the big text to monitor display.
Fig 1. Development Board 8031-ah |
Beside using 8031 microcontroller, I also tried another types like : 8051(note : pin-31 tied to ground, so the internal ROM not used), 8952 (note : this type has flash ROM/PEROM), monitor program can be written or erased many times, EPROM not used). All could work successfully. Besides that, we could use flash ROM/EEROM like the type 2864 (8 kBytes), which could written or erased many time also, so we did not bother by reprogramming the EPROM.
Here is the complete design.
Between the three board that I design, there is a little difference for the I/O terminals. The difference between each boards I/O could be seen here.
H. ADD-ON CARDS
As the time goes by, I made one by one the expansion board (module) for any project as I needed it. Here are the collections of the add-on cards, and I will update it as I make the new one :
Simple and low power supply unit, to run the MCS31/51 board with peripherals. No PCB design for this project, because I use an ex ready made PCB using 2 small trafos, rating about 1Watt; 150mA at 2x6.3V. I got the trafo ex panel indicator lamp type.
8-Bit LED display card, I make 3 of it with the different colors, red, green, yellow. Here is the PCB design.
12-Input keypads, to interaction with matrix key. I use a ready made one, ex interphone. More cheaper then make it from a new one.
2-Nibbles data LCD interface connection cable to LCD.
1-Byte data LCD interface connection cable to LCD.
8-Bit LED display with push buttons card, can be used as input or output device, vice versa. Here is the PCB design.
I. APPLICATION
First application that I have built was running the 24 leds from PPI-8255 port. This program also can be used for testing the PPI-8255 port as that is already works properly or not. Here are the applications for this running leds project.
- Experiment with counters, here are the programs, counter1 and counter2, needs a hardware I/O add-on cards.
- Experiment with timers, here are the programs, timer1 and timer2 and timer3, needs a hardware I/O add-on cards.
- Experiment with sound, how to simulate a sounds or notes in program? I collect it from many resources, here are : song program, from the reference book below. Tone generator program, also from the reference book below. Unyil song from the theme of Indonesian puppet movie. Play a string of tones as a music program, but not configured yet to run in this development board. Michael A Covington song - 'Morning has broken', also not configured yet to run in this development board. The last 2 programs, are tried using AT89S series Min-Sys board.
J. LINKS
Here are a few links related to MCS51 :
- 8051 Tools, Code and Project - build a development system for 8051 families microcontroller. This site was maintained by Paul Stoffregen, The projects known as PAULMON1 and PAULMON2. Full of application like drum box, and now MP-3 player,
- Dunfield - many circuits and programs,
- The 8052 - The online 8052 resource site,
- Jan Axelson's Lakeview Research - Book of related topic, parallel port, serial port, usb port, 8052-BASIC and PCB making, all you want to know about that, projects and links, also covered port programming in high level language,
- PicBasic Pro,PicBasic,Basic Stamp,PIC Micro,and 8051 Microcontroller Projects - commercials, electronic kits, microcontrollers, robotics,
- PetraFuz - DT51 Fuzzy Logic Software - Fuzzy logic software for uC MCS51,
- Delta Electronic - Commercial microcontroller MCS51, applications, schematics, datasheets, etc.,
- 8051 Development Tools - contains about 8051, free and shareware programs,
- Build Your Own Microcontroller Projects - very much programs loader, how to programming 89CXX (PEROM series) microcontroller, experimenter boards design, etc.,
- Innovative Electronics - Electronic kits reseller,
- Scott MacKenzie's home page - include with sample monitoring program (mon51) as explain by the book,
- My 8052 BASIC Project - Circuits and programs using basic-52 microcontroller,
- Rigel corp. - include with minmon program (minimum monitor), as explain by Sencer Yeralan book,
- EPROM,EEPROM,8051,MCS-51,MCS-48,PIC,FLASH,GAL,I2C, ICD, programmer - contains many programmers, and related info about 8051,
- The 8051 Microcontroller development system - Development board to run many kind of monitoring programs,
- 8051 archive - archive MCS51 family,
- Programmersheaven MCS51, Programmersheaven Development tools - 8051 zone,
- ftp://ftp.armory.com:/pub/user/rstevew, http://www.armory.com/~rstevew - archive MCS51 by Steve Walz,
- http:/www.sixca.com/index.html - many type of microcontrollers, tools, applications,
Very good post, great amount of information, useful for programmers
ReplyDelete