Wednesday, 4 December 2013

Proteus Full version ----microprocessor simulation, schematic capture, and printed circuit board (PCB) design

Proteus is software for microprocessor simulation, schematic capture, and printed circuit board (PCB) design. It is developed by Labcenter Electronics.
The XGameStation Micro Edition was designed using Labcenter's Proteus schematic entry and PCB layout tools.

System Components

  • ISIS Schematic Capture - a tool for entering designs.
  • PROSPICE Mixed mode SPICE simulation - industry standard SPICE3F5 simulator combined with a digital simulator.
  • ARES PCB Layout - PCB design system with automatic component placer, rip-up and retry auto-router and interactive design rule checking.
  • VSM - Virtual System Modelling lets cosimulate embedded software for popular micro-controllers alongside hardware design.
  • System Benefits Integrated package with common user interface and fully context sensitive help.

Download Proteus Full Version Now.....

C/C++ Software For Windows 7 & 8

C++  software
      which will run on Windows 7 and 8  in full screen and  It can support graphical options .
No other sofware like Dosbox is require.....
This software can support Touchpads  also.

C/C++ For Windows 7 and 8


                                                      C++  software
   
  which will run on Windows 7 and 8  in full screen and  It can support graphical options .
No other sofware like Dosbox is require.....


Putty -- RS232 /Terminal Monitoring Software


PUTTY  is a free and open-source terminal emulator, serial console and network file transfer application. It supports several network protocols, including SCP, SSH, Telnet and rlogin.  
PuTTY was originally written for Microsoft Windows, but it has been ported to various other operating systems. Official ports are available for some Unix-like platforms, with work-in-progress ports to Classic Mac OS and Mac OS X, and unofficial ports have been contributed to platforms such as Symbian and Windows Mobile.
To monitor GSM and GPS Output terminals


DOWNLOAD IT NOW

Keil Full Version

Keil makes C compilers, macro assemblers, real-time kernels, debuggers, simulators, integrated environments, evaluation boards, and emulators for the ARM, 8051,8052

Keil :   is  an Embedded Development Tools for ARM, Cortex-M, Cortex-R4 and also

             8051 Microcontroller Development Tools.



DOWNLOAD IT NOW                 

Tuesday, 3 December 2013

PIC16F628A PWM code + Proteus simulation

This post provides the PWM code (using C language) and Proteus simulation for PIC16F628A microcontroller ( written using MPLAB and HI-TECH C compiler ). There are many uses for PWM signal, e-g you can control dc motor speed using PWM. CCP is the name for the built in PWM module in PIC16F628A. There is one built in PWM module available, namely CCP1. This code is using CCP1 module to generate PWM. You can download the complete project code andProteus simulation from the 'Downloads' section at the bottom of this page.

It is assumed that you know how to blink an LED with PIC16F628A microcontroller. If you don't then please read this page first, before proceeding with this article.

The following diagram (made in Proteus) shows the circuit diagram.
//
Figure 1.   PIC16F628A PWM generation circuit
A crystal of 20MHz is used here with PIC16F628A. As we know that any PIC microcontroller has an architecture which executes an instruction in 4 CPU cycles, hence this 20Mhz crystal makes this PIC16F628A run at 5MIPS (Million of instructions per second). In the above figure, it is clear that a PWM of approximately 4.9kHz frequency with 50% duty cycle is being generated at RB3/CCP1 pin.

Code

The code for main function is shown below.
//
Figure 2.   Main code for PC16F628A PWM
In the main function, PWM is initialized using the 'InitPWM()' function. Then PWM duty cycle is set to 50% ( You can verify this value from Figure 1 ). After that microcontroller is free and built in CCP1 module automatically generates desired PWM frequency. When you need to change PWM duty cycle, then just call SetPWMDutyCycle() function and change the duty cycle as per requirement. You can pass a value of 0(0% duty cycle) to 1023(100% duty cycle) in the argument of SetPWMDutyCycle() function.

The code for PWM functions is shown below.
///
Figure 3.   PWM function code for PIC16F628A
InitPWM() function initializes the PWM module CCP1 to generate PWM signal at 4.88KHz using 'Timer 2'. RB3 ( Pin 9 ) gives the output of the CCP1 module. CCP1 module has 10bit PWM resolution. 'SetPWMDutyCycle()' is the function which is used to set the duty cycle value for the PWM of CCP1. This function has 1 input argument which is the required value of the duty cycle of PWM. Write 0 here for 0% duty cycle and write 1023 here for 100% duty cycle. For example, to generate a PWM with 50% duty cycle write 'SetPWMDutyCycle( 512)' in your code.

You can calculate PWM frequency using the formula _XTAL_FREQ/(4*(PR2+1)*Prescalar). Where _XTAL_FREQ is the value of crystal frequency, in the above code it is defined to be 20000000. PR2 is Timer2 register, it's value is defined to be 0xFF ( In the InitPWM() function ). You can set PR2 value in between 0 to 0xFF only. Prescalar value is currently set to be 4 in InitPWM() function. Putting all these values, we get a PWM frequency of 20000000/(4*256*4) = 4.88kHz (This value can be verified from Figure1). You can modify these parameters to change PWM frequency.

As an example, You can use this PWM code to control dc motor with PIC16F628A controller. You will need some sort of dc motor driver circuitry in between PIC16F628A controller and the dc motor. Other than that, using this simple PWM controlling code, you can control dc motor speed with PIC16F628A controller easily. You can leave your comments in the comment section below.

Downloads

IWM code using PIC16F628A was compiled in MPLAB v8.85 with HI-TECH C v9.83 compiler and simulation was made in Proteus v7.10. To download code and Proteus simulation click here.

PIC16F628A external interrupt code + Proteus simulation

This post answers the question, "How to capture a pulse to generate an interrupt in PIC16F628A" ?
Also, using PIC16 simulator (Proteus) you can verify this external interrupt code and change it according to your needs. This code is written in C language using MPLAB with HI-TECH C compiler. You can download this code from the 'Downloadssection at the bottom of this page.

This PIC16F628A microcontroller tutorial provides the external interrupt code (e-g when you need to control servo motor which has position encoder, with your PIC microcontroller you can use this code). As we know, PIC16F628A microcontroller has one RB0/INT pin, this pin is used to service external interrupts in the circuit shown below.

It is assumed that you know how to blink an LED with PIC16F628A microcontroller. If you don't then please read this page first, before proceeding with this article.

The following diagram (made in Proteus) shows the PIC microcontroller circuit diagram[1].


Figure 1.   PIC16F628A external interrupt capture circuit
In the above circuit[2]

PIC16F628A UART code + Proteus simulation


This post answers the question, "How to use interrupt based UART in PIC16F628A" ?

Also, using PIC16 simulator (Proteus) you can verify this UART code and change it according to your needs. This code is written in C language using MPLAB with HI-TECH C compiler. You can download this code from the 'Downloadssection at the bottom of this page.


This PIC16F628A microcontroller tutorial provides the interrupt based UART functions which you can easily understand and use. After reading this page you can easily use PIC16F628A serial UART interface.



It is assumed that you know how to blink an LED with PIC16F628A microcontroller. If you don't then please read this page first, before proceeding with this article.


The following diagram (made in Proteus) shows the PIC microcontroller circuit diagram.



Figure 1.   PIC16F628A UART circuit

How to set PIC16F628A configuration bits in code ?


This post provides the method to set configuration bits in the code for PIC16F628A microcontroller. You have to set configuration bits in order to make PIC microcontroller work correctly. Here I am going to explain the procedure of selecting configuration bits for PIC16F628A. A typical example code for setting configuration bits in the code (using MPLAB + HI-TECH C compiler) is also provided. Following steps are required to setup configuration bits for PIC16F628A.



Step 1:

The first step to start writing the configuration bits is to check "Special Features of the CPU" section in the datasheet of PIC16F628A  In this section, first chapter is about "Configuration bits". You should read this section and identify what values you want to put in the configuration register.



Step 2:

Open the file "pic16f628A.h" from the directory "C:\Program Files\HI-TECH Software\PICC\9.83\include". In the start of this file configuration bit macros are defined. Snapshot of these macros is shown below.


PIC16F628A LED blinking code + Proteus simulation

This post provides the code to make an LED blink using PIC16F628A microcontroller. This code is written in C language using MPLAB with HI-TECH C compiler. This code is intended to be the first step in learning how to use PIC16F628A microcontroller in your projects. You can download this code from the 'Downloads' section at the bottom of this page.



Following figure shows the minimum circuit required to make an LED blink with PIC16F628A.