Sunday 5 August 2012

HOW TO USE PROTEUS

The simulators I mentioned in my previous post were strictly for beginners. They just show you the output of the microcontroller so you can learn how everything works. They will accompany you as long as you are dealing with manipulating the data on the ports or registers. Sooner or later, you will be going further and attaching external hardware to the 8051 but that's exactly how we deal with it. So if you're talking about simulating a complete circuit then you actually need PROTEUS for this.

UPDATE: You can also click this link for an updated version of this post with more insight and explanation.


PROTEUS Environment

WHAT IS PROTEUS?

Basically PROTEUS is also a simulating software but it helps you attach many components with the 8051. Like resistors, capacitors, LEDs, LCDs, keypads, ICs etc. and these are just few that I have named in general. It has a complete library and you will find everything that you will ever need. You can design your complete circuit and then simulate it to view the final output. This means that after perfecting your project on the programming side in KEIL, you'll need to simulate it on PROTEUS to determine the output of the hardware components and change it if need be. This will completely ensure your project's success.

DOWNLOAD PROTEUS

It is a paid application but you can download the free demo version of PROTEUS from their official website here. It is fully functional except that it won't allow you to save your designs.

USING PROTEUS

PROTEUS is designed to be user-friendly and you will get the hold of it instantly. There is no need to worry about some complex configuration / settings prior to simulation. Here are the basic steps.


  • Place your components from the library
  • Connect them accordingly
  • Load HEX file (if 8051 is involved)
  • Simulate the circuit

Let me explain each step.

PLACING COMPONENTS
  • Click the "Pick from library (P)" button as shown in the figure
  • Select any category
  • Select item from the list
  • Click OK
Click to enlarge
  • After selecting component, click anywhere in the design area to select it and then click again to place it
Click to enlarge

CONNECTING COMPONENTS
  • Place all the required components
  • Connect the desired nodes by clicking at starting and ending points

Click to enlarge

LOAD HEX FILE
  • Double click the 8051 component to open its properties
  • Browse for the HEX file as shown and select it
Click to enlarge

And don't worry, in PROTEUS, there is no need to provide the RESET circuit or crystal oscillator to the microcontroller. It will work just fine even without it. The frequency can be adjusted in the properties window as well.

SIMULATING THE CIRCUIT
  • The controls at the left-bottom corner will help you simulate the circuit in real time
Click to enlarge

The above picture is the complete circuitry for testing an LED on P2.0 like toggling (ON / OFF) through programming but we will get to that part later on. At this point, you will just see the LED glow if you have programmed it to be always ON. Again I am emphasizing that there is no need for other connections to the microcontroller. 

9 comments:

  1. Good...but make more complex suggestions

    ReplyDelete
    Replies
    1. Yeah this is just the introduction to PROTEUS for beginners to get started. I will upload further PROTEUS Designs and explanations as required in my future posts.

      Delete
    2. good,for beginners

      Delete
  2. I connected led to p0 it is not glowing

    ReplyDelete
    Replies
    1. P0 requires external resistors. You can read more about it my previous post.

      8051 INPUT OUTPUT PORTS

      Delete
  3. can i create hex file of assembly language or 'c' alone?

    ReplyDelete
    Replies
    1. Sure, you can generate HEX file from either Assembly or C language file.

      Delete
  4. how to generate hex files???

    ReplyDelete
    Replies
    1. Proteus can't generate HEX files for you. You have to use Keil uVision for that. Read this article for more information. I promise it's simple :)

      How to use Keil

      Delete