Bits and pieces for the 8051 community

Here you'll find bits and pieces to help with the 8051 family. There'll be snippets of code, tips, tricks, and circuit details!

The code that's here already will have a definite slant towards an excellent cross compiler from Hitech, and the first circuits will be Protel format.

By the way, I'd love to hear from anyone with ideas and suggestions. Send mail to: scott@smartdata.com.au. Any compiler, assembler, or capture program!

Philips host a forum for the discussion of 8051, and XA architectures. You can SUBSCRIBE to the Philips Forum at any time by sending a message with the word "subscribe" in the subject field to forum-request@philipsmcu.com

Code examples | Tips and Tricks | Circuit Ideas | Other places

Code examples...

Bootload code   Code to let you load a new program into an on-board flash device, so you'll never have to remove a chip again (ha ha)
i2c_hw.zip (1k) I2C implementation, in C, for devices which have I2C hardware. Includes some simple example code. Note, this code is not interrupt driven.
 
i2c_sw.zip (2k) I2C implementation in C, for devices which DO NOT have I2C hardware. This code doesn't use interrupts either, and is useful for Master application but not for Slave use.
 
i2c_asm.zip (3k) I2C implementation in assembly code, for the true enthusiast! Credit goes to Gregory Goodhue, of Philips for the bulk of this code.
 
set_baud.zip (1k) Simple but effective code to set the current baud rate of the standard serial port. Made for Hitech, but might be ported easily.
 
delay.zip (1k) A small function, that pauses for a user defined number of mS.
 
crc16.zip (2k) Code and tables to implement a cyclic redundancy check on data.

Tips and tricks...

Archive of the Philips Forum...

This is by no means a complete archive - it only has answers, and not all of those! But you might be interested in any of:

Low power modes.
I2C serial bus.
Memory and related stuff.
Ports and using them, like for keyboards.
Sensors and A/D conversion.
Serial code, of the RS232 / RS422 variety.
Watchdog timers.

 

Circuit ideas...

I've made available a very simple 8051 project. It's about as simple as you can get while having external memory. It's here in two versions of the schematic:

Protel Schematic (17k) version, done with Protel Schematic3.
 
GIF version, (47k) smallish file, but quite a big picture! Use a tool like Paint Shop Pro, and print it in landscape mode, size to fill the page.
 

Other interesting sites...(not in any particular order!)

DatasheetDir A search engine for electronic data sheets, definately worth checking out...

Murray R. Van Luyn's home page - He's a student of Computer Systems Engineering and Computer Science.  There's a bunch of 8051 stuff, as well as plenty of other interesting stuff, take a look...

Richard Barry maintains an open source, mini real time kernel - FreeRTOS. The source code has recently been updated to include a port for Cygnal and other 8051 architectures using the SDCC compiler.

Peter Gliwa has donated a handy 8051 memory organisation chart

Found!  A free Pascal Compiler for 51 family, at: ftp://sistudio.com/pub/atmel/pascal51

Oh, and here's another.  And better yet, it looks and feels like Delphi (my other self).  You should check this out: Embedded Pascal 8052

Sandeep Dutta's Freeware C compiler has come a long long way.  You should check it out.

There is a 2K code-limited   C Compiler evaluation version on the Keil Web site http://www.keil.com.

8051 Register Compound - A free tool for manipulating the registers of the 8051.

Craig Steiner's 8052 page. He has a very interesting looking 8052 simulator, take a look... 

The latest from Barry Kauler (of TERSE fame), in his words...
"I've just written another RTOS, called CREEM. It's very unusual and very easy to use. It is probably the easiest way yet that anyone has come up with to do concurrent (multitasking) programming on a microcontroller. I've written an intro page..." 

Matrix Orbital Corp. offer a range of I2C LCD modules, as well as a development board for the Dallas DS87C520, with RS485, I2C, SPI and much more. Looks very nice, and offers all the stuff I like. It appears to have been made using Protel tools, so all the better! 

805x routines Various routines for 8051 types.  

Dunfield C is an entry level C compiler, offered for a large range of micros. Very good value, although it's not ANSI C. Also available is a good simulator.  Also available for the Dunfield compiler is a Windows IDE and 8051 Simulator, produced by BiPOM Electronics.  It's free for up to 2k of code.

Courtesy of John Kopplin, ComputerScienceLab...
"
a computer programming curriculum that uses Windows software to teach programming to beginners. The second of the 3 languages that I teach is assembly language for the 8051 microprocessor. My course materials include a unique visual simulator for the 8051 microprocessor. This is an IDE (integrated development environment) that offers an editor, assembler, and debugger and allows you to write 8051 programs that control simulated peripherals such as a scrolling signboard, a robotic mouse in a maze, and an LED bar graph used to display the volume peaks detected in real-time in whatever .WAV file is currently playing through the computer's speakers. I sell a Windows CD-ROM containing IDEs for all 3 languages (the final language is C++) for only $15 plus S&H. You can read more at: http://www.computersciencelab.com/8051.htm "

Mario Viara has on his web site 2 free 8051 projects:
1. A Java 8051 emulator (in beta)
2. A Diseqc Position using one Philips LPC764

...

Code examples | Tips and Tricks | Circuit Ideas | Other places


For more information, contact:  
info@smartdata.com.au  

or Phone: +61 7 3281 8841  
Fax: +61 7 3281 8114