8051 Programming Using Keil UVision IDE

About: We are a website specializing in building cool projects using MSP430 microcontrollers,occasionally we do sell what we make online on our store . You can visit us here http://www.xanthium.in/

In this short Instructable we will learn

  • How to setup the Keil uvision IDE,
  • Compile a C program
  • and generate hex code for the 8051/8052 architecture.

You can find the original article on 8051 programming using Keil uVision IDE here.

Step 1: Downloading Keil UVision IDE

Keil provides a code limited (2K bytes) evaluation version for 8051 architecture (C51) which is sufficient for learning purposes.

The main limitations of the evaluation version are the following.

  • 8051 compiler, assembler, linker, and debugger are limited to 2 Kbytes of object code
  • Programs that generate more than 2 Kbytes of object code will not compile
  • The debugger supports programs that are 2 Kbytes or smaller
  • No hardware support for multiple DPTR registers is provided

Keil uVision IDE (Evaluation Version) can be downloaded using this link.

On Clicking the above link you will be redirected to Keil Website Download section.

Please click on the C51 icon to download 8051 development tools (above Figure) .
and download your Windows Executable.

More Info here.

Step 2: Creating a 8051/8052 Project Using Keil Uvision IDE

After you have installed the Keil uVision tools for 8051 ,Double click on the Keil icon on your Windows Desktop to launch the IDE.

To create a new 8051 project using Keil IDE, Click on the ' Project ' item on the IDE Menu bar and select ' New uVision Project... ' as shown in the above image.

Now create a Folder to store your project and give a name to your Project files (*.uvproj), for eg Test (Test.uvproj).

Step 3: Selecting an 8051 Device in Keil

You will then be taken to the device selection dialog, where you can select the 8051 derivative for which you want to develop software.

Keil has support for a wide variety of 8051 derivatives on its IDE.The 8051 derivatives are organised according to their manufacturer's.

On selecting the particular microcontroller the Keil IDE also displays the features of the selected microcontroller on its left pane .You can Click OK to confirm your choice.

Step 4:

After selecting your 8051 derivative,

You will get another dialog as shown Above.Asking to copy STARTUP.A51

Click ' Yes '

Step 5:

Now your Project pane on the Kiel IDE would look something like this (above image)

Step 6: Adding C Files to Keil Project

Now you can add C files to you Project.

Right Click on the Source Group 1 folder on your Project pane and select Add New Item to Group 'Source Group1'...

Step 7:

Now you can select the type of file you want to add to your project using the top pane.

Select C File(.c) and give it a name (here main.c) and Click Add.

Now you can type a small program into the main.c to blink the LED's connected to Port 1 of 8051 .You can find the sourcecode below.

#include <reg51.h>
void delay(void);
 
void main(void)
{
    while(1)
    {
         P1 = 0xFF; // Turn ON all LED's connected to Port1
         delay();
         P1 = 0x00; // Turn OFF all LED's connected to Port1
         delay();
    }
}
 
void delay(void)
{
    int i,j;
    for(i=0;i<0xff;i++)
         for(j=0;j<0xff;j++);
}

Step 8: Building a C Project Using Keil UVision IDE

After you have typed out the above c program to your main.c file,You can compile the C file by pressing F7 key or by going to ' Project -> Build Target ' on the IDE menu bar.

Step 9:

If there are no errors the code will compile and you can view the output on the Build Output pane.

Step 10: Generating 8051 HEX File Using Kiel IDE

Inorder to download the code into the 8051 microcontroller we have to generate the corresponding hex code .

In Keil uVision IDE you can generate hex file for your 8051 derivative by, Right Clicking on the ' Target 1 ' Folder and Selecting Options for Target 'Target1'....

Step 11:

Then on the Options for Target ' Target 1' Dialog ,

Select the Output tab and check the Create Hex File option and Press OK.

Now rebuild your project by pressing F7.
Kiel IDE would generate a hex file with same name (here Test.hex) as your project in the Objects folder .

Step 12: Viewing the Generated Hex File

You can open the Test.hex file with notepad to view the contents after creation.

Step 13: Downloading HEX Code Into 8051

Uploading hex code is specific to the 8051 derivative you are using.For example some microcontrollers like P89V51 and Nuvoton W78E05D have build in boot loader which can upload hex code through their serial port.

Do visit the original article here

Share

    Recommendations

    • First Time Author

      First Time Author
    • Make it Glow Contest 2018

      Make it Glow Contest 2018
    • PCB Contest

      PCB Contest

    Discussions

    0
    None
    zurczurc

    Question 5 months ago on Step 13

    Hi colleagues I started a week using the ARM Keil uVision5 due to a project from a client that he wants me to modify. The previous programmer who did the project disappeared.

    My question: The client sent all the firmware files, but this one giving error that is missing some .h files. He sent me a lib too, I edited and saw a lot of strange characters and in that mix I saw the definitions of those files. They are defined within lib. How do I add this lib in the project to resolve these pendencies?

    Note: The file with uvprojx extension did not come, so I had to create a new project I added the files that came from etc.

    Also has a reminder in one of the files saying that to compile I should use:

    Microcontroller TM4C123FH6PMT

    compile definitions:

    rvmdk PART_LM4F231H5QR TARGET_IS_BLIZZARD_RA1 _DEBUG PLACA_NOVA TEST

    Driver.lib Library was compiled from the driver provided by Texas Instruments.

    Many thanks Cesario