Web References

A few tidbits/useful sources of information on 8051:

The SDCC Open Knowledge Resource

This site is meant as an soft- and hardware application supplement to Sandeep Dutta´s free ANSI C-Compiler for MCS51 targets,SDCC.

Because the SDCC mailing list isn´t the right place to discuss things like "How is a LCD controlled in C language..." some programmers

decided to make their useful routines and knowledge available for other programmers. This is the right place! The wheel musn´t be invented two times...

The SDCC OKR is also a good starting point for newbies on SDCC and/or micros.

The SDCC OKR is a page where everybody can publish some useful basic or special (of course tested!) ANSI-C routines which can be compiled and used with SDCC.


Some esoteric tidbits related to P89V51RD2 - Modified 8052BASIC and Modified Bootloader for it

A collection of links relating to 8051 Development Tools

by Chin-Shiuh Shieh

Assistant Professor

Department of Electronic Engineering

National Kaohsiung University of Applied Sciences

C programs for SDCC/P89V51RD2 & Embedded Microcontroller Programming Blog

Collection of programs for interfacing the following devices to P89V51RD2:

16x2 LCD Module, DS1307 (I2C RTC), ADS7841 (SPI ADC), 24XX512 and others (I2C EEPROM), IRSensor (using ADS7841) and PWM control of Servo Motors.

All codes written to compile with SDCC

Architecture and Programming of 8051 Microcontrollers by Milan Verle

Another book available for reading online for free. It has really nice diagrams

Optimal C Constructs for 8051 Microcontrollers

Netrino is famous author Michael Barr's Company. They are very well known in the field of Embedded Systems for training services, research and product design services.

They have many informative and eye opening articles on their website.

In the above article, the author has researched into the kind of code generated by Keil's C compiler for various mundane tasks for 8051 microcontroller.

He has compares the various ways in which you can write a C program to achieve the same task in terms of the size of machine code generate for each and the number of machine cycles it would take to execute the code.

This leads to the discovery of the most optimal way of achieving a given task on an 8051.

8051 FAQ

Compiled from posts on usenet

Restoring P89V51RD2 's bootloader

How to fix P89V51RD2 and SST89E516RD with corrupted bootloaders using a Universal Programmer (i.e. Parallel Programmer).

If your microcontroller (P89V51RD2) cannot be recognized by FlashMagic anymore, then one of the problems can be a corrupted bootloader.

Follow this procedure to fix those.

Some notes regarding 8051's Memory Configuration & Storage Classes:

8051 Memory Spaces

  • Confused about the various memory spaces in 8051/8052?
  • want to know the differences between CODE, DATA, IDATA, XDATA, PDATA and BDATA Memory Spaces?

8051 Memory Configuartions with C Compilers by Andy Ayre, ESAcademy


SDCC "Storage Classes" and "Memory Models"

  • Want to know about "Storage Classes" for above memory locations while using SDCC?
  • Want to know about SDCC "Memory models"?

Maxim's Application Note 3477 - Using the Free SDCC C Compiler to Develop Firmware for the DS89C430/450 Family of Microcontrollers


Notes on Using SDCC (has following useful notes in PDF)

  • SDCC Programming Tips for the Atmel AT89C51RC2 and SDCC Syntax Examples
  • Notes on SDCC
  • SDCC Interrupt Exercise
  • GNU Make Overview

ECEN 5613 Course Webpage - Dr. Linden McClure, University of Colorado, Boulder