pcbway




How To Use Virtual Terminal in Proteus ISIS,Virtual Terminal in Proteus, Get data on virtual port,

Hello friends, first of all I wanna give a good news to all the readers that I have added a Google search engine in TEP, which was missing for quite a long time. I was receiving a lot of complaints regarding this issue that we are unable to search the topic in the blog so now you can quite easily search any topic in the blog using this search engine which is on the top right corner. Write any topic you wanna search and hit button and your search result will show up just above the blog posts. Must give your feedback and suggestions about this newly added feature. Hope it provide a comfort to many readers.

Let’s come to today’s topic, as the name suggests, today I will show you how to use a virtual terminal in Proteus and what is its use. I will first explain the virtual terminal and then we will look at its uses and how to use virtual terminal in Proteus ISIS. Its a beginner level tutorial and if you are already familiar with Proteus then I think you must have already known with Virtual Terminal in Proteus. But still I recommend to read this tutorial once and then move on to next one. Anyways, let’s get started with Virtual Terminal in Proteus.

What is Virtual Terminal ?

Virtual Terminal is a tool in Proteus, which is used to view data coming from Serial Port (DB9) and also used to send the data to Serial Port. In windows XP, there’s a built in tool named Hyper Terminal, which is also used for the same purpose but in windows 7 there’s no such tool so for windows 7 users this virtual terminal is quite a great comfort. If you guys don’t know about serial port then I would suggest you to read this tutorial to get the better idea of serial port:

I have posted many tutorials on my blog in which I have communicated over Serial port using different software. For example, you can check this Serial communication in MATLAB and can also have a look at Serial Communication in Visual Studio 2010. As serial communication is quite common so almost all of the microcontrollers these days, supports Serial communication. Arduino UNO has builtin single serial port at its pins 0 and 1, while the Arduino Mega 2560 has built in four Serial ports in it. Similarly, PIC Microcontroller also supports Serial port and it is also available in 8051 Microcontroller.

Uses of Virtual Terminal

Virtual Terminal in Proteus, as I explained above, is used to send or receive data to or from the serial port. Serial port is a 9 pin port which is mostly find on the computers and is normally used in Embedded System Projects. In most of the projects, the data is sent from the hardware to computer via this serial port and then user design some application on the computer to view that data in some representable form.

Now, in projects there are some testing steps which are quite helpful, if we use them properly, and these testing steps require some tools in order to test the process. Like, suppose some student have designed the hardware to send the data to the computer and have also design its application to receive it and now when he tests it he didn’t receive any data. At that point student got tensed and don’t know where’s the error so at that point there’s may be some error in the hardware or may be in the software.

Now, in order to be sure he need to test both of them separately and here is the point where virtual terminal is used. First connect your hardware with the computer and then run the hardware and check whether you are receiving data on the virtual terminal or not. If you are receiving it, means your hardware is okay and the problem is in software side and if you are not means your hardware is not so good.

Whenever I start working on some projects, I always make sure that I am going in right direction like if I have to made this project then after completing my hardware, I will first check it via this virtual terminal and once I got sure that my hardware is okay then I will move to the software part. If you are gonna design the hardware then I think you must check Serial communication with 8051 Microcontroller, which is also designed in Proteus ISIS software and the data is displayed using the same virtual terminal.

There are also many other applications of this terminal like suppose you wanna design some circuit in Proteus which involves serial port then you can add this terminal on your circuit and can test it before going to the hardware, which we will shortly see below. So, now let’s get started with Virtual Terminal in Proteus.

How to Use Virtual Terminal in Proteus ISIS?

  • First of all open the Proteus ISIS and click on the P button to search for the components, as we seen in the previous tutorial and also shown in the below figure:
How To Use Virtual Terminal in Proteus ISIS,Virtual Terminal in Proteus, Get data on virtual port,
  • Now in the search box type “COMPIM” , when you search this a result will show up as shown in the below figure:
How To Use Virtual Terminal in Proteus ISIS,Virtual Terminal in Proteus, Get data on virtual port,




  •  After Selecting this, click OK to add this component in the database.
  • COMPIM is the serial port in Proteus and using its properties we can assign any COM pin of our computer to it and it will behave like that pin. We will change the properties shortly.
  • Now, click on the Virtual Instrument Mode and then on the Virtual Terminal as shown in the below figure and add it in the Proteus workspace.
How To Use Virtual Terminal in Proteus ISIS,Virtual Terminal in Proteus, Get data on virtual port,
  • Now join the TXD pin of COMPIM with the TXD pin of Virtual Terminal and RXD with RXD as shown in the figure below:
How To Use Virtual Terminal in Proteus ISIS,Virtual Terminal in Proteus, Get data on virtual port,
  • Now, double click on the COMPIM to open the Properties menu and set the properties as shown below:



How To Use Virtual Terminal in Proteus ISIS,Virtual Terminal in Proteus, Get data on virtual port,
  • I have selected COM1 and my baud rate is 9600, you can set it whatever you want like if you are using the COM3 then set the port to COM3 and baud rate of your own choice.
  • Similarly open the properties of the virtual terminal and make sure that the baud rate is same in both the cases.
  • Now connect your hardware with the computer and play the simulation. Again make sure that the port which you have selected for the COMPIM is same port with which you have attached your hardware.
  • After you play the simulation a black window will open up which will show the data coming from your hardware to the COM1 pin as shown below:
How To Use Virtual Terminal in Proteus ISIS,Virtual Terminal in Proteus, Get data on virtual port,
  • This black box is actually the Virtual Terminal which is showing data coming from my hardware.
  • If you play the simulation and this Virtual Terminal doesn’t pop up then right click on the Virtual Terminal Component and then click on Virtual Terminal which will be at the end in the options and this black window will open up.

I think you guys have got much of the idea of this Virtual Terminal in Proteus ISIS. If you have any problem anywhere, ask in comments and also subscribe to our newsletter via email to get these amazing tutorials right into your mailbox. In the next tutorial, I have explained How to use Oscilloscope in Proteus ISIS. Thanks, take care.

21 Comments

  1. PLEASE I HAVE A CODE FOR ATMEGA 32 I MADE THE CONNECTION SHOWN http://www.mediafire.com/?apl37ueg7363r9s AND I HAVE THIS CODE

    /*
    * RocknRoll.c
    *
    * Created: 30/08/2013 09:21:43 م
    * Author: samsoma
    */
    /********************************************************************************
    Includes
    ********************************************************************************/
    #include
    #include
    #include

    /********************************************************************************
    Macros and Defines
    ********************************************************************************/
    #define F_CPU 9600//System clocks for perfect USART communications should be multiples of
    //1.8432MHz which when used will give a 0.00% error.
    #define BAUD 9600
    #define MYUBRR ((F_CPU/16/BAUD)-1)

    /********************************************************************************
    Function Prototypes
    ********************************************************************************/
    void usart_init(uint16_t ubrr);
    char usart_getchar( void );
    void usart_putchar( char data );
    void usart_pstr (char *s);
    unsigned char usart_kbhit(void);

    /********************************************************************************
    Main
    ********************************************************************************/
    int main( void ) {
    // configure PORTA as output
    DDRA = 0xFF;
    // setup PORTB data direction as an input
    DDRB = 0;
    // make sure it is high impedance and will not source
    PORTB = 0;
    // fire up the usart
    usart_init ( MYUBRR );
    // dump some strings to the screen at power on
    usart_pstr(“Ready to rock and roll!nr”);
    usart_pstr(“Type in a character, and I will transpose it up by 1:nr”);
    // main loop
    while(true) {
    // if a key has been pressed, then process it
    if(usart_kbhit()) {
    usart_putchar(usart_getchar() + 1);
    }

    // map the PINB inputs to the PORTA outputs
    PORTA = PINB;

    // a little humor is always good, PB0 gets the user yelled at
    if(bit_is_clear(PINB,PB0)) {
    usart_pstr(“OUCH! Stop poking me!nr”);
    }
    }
    }

    /********************************************************************************
    usart Related
    ********************************************************************************/
    void usart_init( uint16_t ubrr) {
    // Set baud rate
    UBRRH = (uint8_t)(ubrr>>8);
    UBRRL = (uint8_t)ubrr;
    // Enable receiver and transmitter
    UCSRB = (1<<RXEN)|(1<<TXEN);
    // Set frame format: 8data, 1stop bit
    UCSRC = (1<<URSEL)|(3<<UCSZ0);
    }
    void usart_putchar(char data) {
    // Wait for empty transmit buffer
    while ( !(UCSRA & (_BV(UDRE))) );
    // Start transmission
    UDR = data;
    }
    char usart_getchar(void) {
    // Wait for incoming data
    while ( !(UCSRA & (_BV(RXC))) );
    // Return the data
    return UDR;
    }
    unsigned char usart_kbhit(void) {
    //return nonzero if char waiting polled version
    unsigned char b;
    b=0;
    if(UCSRA & (1<<RXC)) b=1;
    return b;
    }
    void usart_pstr(char *s) {
    // loop through entire string
    while (*s) {
    usart_putchar(*s);
    s++;
    }
    }

    IT DOESN’T WORK !!

  2. hello,

    thank you for your good tutorial, i want to test my code on proteus wethout any harware, then i want to connect mikroC to proteus with virtual serial port emulator but the UART Terminal open with error and i can’t chose the COM port,thank you

    • Hi,

      Yes you can also use it for Bluetooth as bluetooth works on COM Port, check the COM port of your bluetooth in its Properties and give that COM Port in the Virtual terminal of Proteus.

      Thanks.

  3. I am using usb to RS232 converter and in device manager its showing port COM9. How can i select COM9 in proteus? There’s only Com1 to Com4 options

  4. Hi.
    I m having both versions of proteus 8 as well as 7. And I want transmit data wirelessly . But I didn’t fine wireless modules in any of this version .
    Can anybody plz help me with it ..
    I wanted what version of have wireless module like KST-TX01.

  5. hiii.i am doing a final year project. in that i have to interface a bluetooth module hk4u with pic16f872. so for that i need a code n proteus simulation diagram .. in proteus i cant find bluetooth module so plz anyone can tell me n provide me code also…

    • You can’t use this module in Proteus because its library is not given. As the code is concerned, we can provide you the complete code for this project.

  6. hiiii…. i have used protesus 8..But if I make right click on virtual terminal then there is no option for virtual terminal at the end of list

  7. After setting up the devices for simulation my virtual terminal doesnt display the data from the gps module and even after right clicking it i cant find a place to enable displaying of the data …i need a hand on that

  8. Hi dude.
    I play the simulation and this Virtual Terminal doesn’t pop up and I do right click on virtual terminal component but any of options are not changeable. what can I do?
    I’m new in protues.
    plz explain clearly.tnx.

    • I’m using peroteus 8.3 but I ‘ve solved this problem .
      If this problem happened to someone you can solve that like this:
      in debug menu you mush select Digital oscilloscope.

    • Add me n Skype and we will discuss it in detail. Its not easy to receive data from APP to virtual terminal. My Skype id is theenggprojects.

      Thanks.

  9. I’ve seen a video on youtube, there COMPIM and arduino were interfacing with visual basic. I’ve designed a PIR circuit in VB and want to interface PIR+Arduino simulation in proteus. Is it possible? kindly help me out.

Leave a Reply

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

Post comment