Introduction to Edsim51

Edsim51 is a widely used simulation software for programming of 8051. This article describes the environment of edsim51 software and a simple program of 8051.

When the edsim51 is opened it looks like

Edsim51
Edsim51 overview

The above picture has several parts
1. Registers and Internal RAM
2. Program section
3. Port connections
4. Sensors and Actuators ( 7 segment display, LCD, Converters, keyboard…. )

Registers and Internal RAM:

Edsim51
Registers and internal RAM representation in edsim51

The upper part depicts different registers such as general purpose registers ( r0-r7 ) , SFRs. Below part is a memory map of internal RAM which is 128 bytes meaning 128 locations, starting from 0x00, 0x01, 0x02…. 0x0F ( row -1 ) , similarly there are 8 rows ( 8 x 108 = 128 locations ).

Programming sections:

program section in edsim
Program section in edsim51

Once the program is written, save the program into the PC’s local storage. Program also can be loaded from the memory.
After typing the program, run it.

Check the register values and memory locations.
Click RST to come back to the edit part.

Port Connections:

Edsim51
Port Interfaces representation in edsim51

Here all the connections are visible, connections made from port to external devices.

Other peripheral devices:

Edsim51

Here all the components can seen, serial communication and other modules. 

Basic Program to ADD two numbers:

Add program in edsim

To enter any value in the RAM, we have to click on addr box and enter the address where we have to write the numeric values and enter the data number beside it. 

Explanations of program:

Org 0 ; This is written so that program stores from 0000 location in program memory or else it would store from random location. 
start :  ; From here program execution starts
MOV A, 00H ; move one operand to A register
ADD A,02H ; add operand in register and from memory, result will be stored in ACC
loop : SJMP loop ; By this instruction ( refer instruction set, execution does not proceed to next address 
end ; Here program ends

Check instruction set articles too.

While run time, ROM addresses are specified beside the instruction. 

Also
Check PC register, to know the where execution stopped
Check on top of the program to see execution time ( here 1ms and 558micros ).
In this example values of R0 and R1 also changed because R0 is the register stored in 00H location 

Spread knowledge

Leave a Comment

Your email address will not be published. Required fields are marked *