The C programming language was designed for computers, though, and not embedded systems. It does not support direct access to registers, nor does it allow for the reading and setting of single bits, two very important requirements for 8051 software. | http http group barghiran_electronic Email Barghiran_Electronic@ Barghiran Group Powered by Amir hossein Akbari First Electronic Engineering Group That provides FREE Persian Documents And Services . Writing C Code for the 8051 About the Keil Compiler Keil Software http publishes one of the most complete development tool suites for 8051 software which is used throughout industry. For development of C code their Developer s Kit product includes their C51 compiler as well as an integrated 8051 simulator for debugging. A demonstration version of this product is available on their website but it includes several limitations see next section . This is the software that will be used for CECS-347. The C programming language was designed for computers though and not embedded systems. It does not support direct access to registers nor does it allow for the reading and setting of single bits two very important requirements for 8051 software. In addition most software developers are accustomed to writing programs that will by executed by an operating system which provides system calls the program may use to access the hardware. However much code for the 8051 is written for direct use on the processor without an operating system. To support this the Keil compiler has added several extensions to the C language to replace what might have normally been implemented in a system call such as the connecting of interrupt handlers. The purpose of this manual is to further explain the limitations of the Keil compiler the modifications it has made to the C language and how to account for these in developing software for the 8051 micro controller. Keil Limitations There are several very important limitations in the evaluation version of Keil s Developer s Kit that users need be aware of when writing software for the 8051. Object code must be less than 2 Kbytes The compiler will compile any-sized source code file but the final