This is simple 3-digits digital volt meter. PIC16F676 used to read analog signal tthat is voltage and display the value on 3-digits 7-segment.You can apply to mesasure DC currant with parallel Rshunt.
As we know the most of PIC microcontroller has 8-bit/10-bit on-chip Analog to Digital converter module. In this project I use PIC16F676 which have ADC 10-bits 8 channel but this project use only one channel for measure voltage input for other pin set as digital I/O.
This project I use CCS C compiler to programming.The main routine continually read the input voltage on RA3 and convert to 7-segment code while TIMER1 set to timer for interrupt every 5mS for scan all digit about 66Hz(only one digit turn on at every 5mS).In convert digital value to voltage routine we must scale the value with the full scale display in this project I want full scale display at 30V so the input voltage must scaled with 30 and display resolution is 29mV or 30/1023. source code and shematic available here.
Visit Here for more.