circuit_projects

Circuit Projects

Blogger

EEWeb Stats

Circuit's Blog :

Return to Blog

Digital Voltmeter with 3-Digit Output by PIC16F676

Figure:1

Figure 1 

The construction of the device uses PIC16F676 for reading analog signal such as voltage, and displaying the 3-digit output by using 7-segment LED.

On the hardware part, the PIC16F676 has 10-bits 8 channels since most of PIC microcontrollers has either 8-bit or 10-bit analog to digital converter module. In this project, only one channel is used for measuring the input voltages while the others pins are used for digital I/O. A voltage divider consisting of R1 & R2 is used for the voltage input. The appropriate display of full scale voltage is being adjusted by VR1 connected in parallel with R2. The analog input will come from the divided input voltage from AN3.

In scan display routine, the digital output RA0-RA2 turns ON/OFF the digits. The 7-segment display is driven by the RC0-RC5 and RA5 and will be decoded by a software using CCS C compiler to programming. The 7-segment code is a converted form of the input voltage on RA3. The interrupt of every 5 ms is set on the timer while scanning all digits around 66 Hz frequencies. This means that for every 5 ms, only one digit is turned ON.

Source:coolcircuit.com/project/meter/index.html

Tags: digital, voltmeter, PIC16F676

Comments on this post:

By IMRAN 0Score: 

1 year ago:  I LIKE IT

By thilak 0Score: 

1 year ago:  i like it if it was truely done with correct PIN numbers etc. I burnt the IC 'cos the wiring was incorrect in this diagram. Please DO NOT give dead ropes to people who are intersted in such articles. The PIN numbers (Vdd , Vss) are wrong in this circuit. Anybody who is interested in this do NOT go by this , the Software given also faulty.

By angel 0Score: 

7 months ago:  Hi thilak! I've done this project and I have confirmed that there really is a problem with the software. Have you read the source code of this project? I am not familiar with mplab or micro c programming. I know what the problem is with the software - there is no delay subroutine (the interrupt for every 5ms is not working) but I don't know how to code it. The three 7 segments display the same digits all at the same time. They can not display different digits, and it's because of the missing or faulty interrupt. Can you help me with this? Thank you!

By tee 0Score: 

4 months ago:  i like this but i can not , i know asm language . please send me asm version thanks,

Login or Register to post comments.
 
Click Here