To find out if you can use the PIC's internal voltage reference DAC just
check the data sheet for your device and look for the CVRCON control register. There should be a
control bit labeled CVROE which is the
bit that controls whether the voltage is sent to the output pin (usually on
Here's part of the 16F88 datasheet:
Here bit 6 controls output of the voltage reference to a pin (For the 16F88 this is the "RA2/AN2/CVREF/VREF-" pin i.e. pin 1).
Note If you can only find a control register labeled VRCON then youcan't output the DAC voltage.
The block diagram of the generator is the internal hardware representation
of the system - you can identify each control bit with each functional block so
it's not difficult to understand.
There is a 16 stage resistor network with each arm selected using an analogue mux (CVR[3..0]- this sends an analogue voltage to the comparator reference input (see the "Comparator Module" in the datasheet for using the reference voltage in the comparator).
To turn on the voltage reference CVREN enables the Fet at the top of the resistor chain. CVRR changes the total current through the resistor chain so the range of output voltage is controllable (to some extent).
To send the analogue voltage outside the chip CVROE enables an analogue switch sending the voltage to the 'RA2/AN2/CVREF/VREF' pin.
How to make a Pulse Rate Sensor using a simple single opamp circuit with an Arduino and a few other components.
74HC595 : How to add nearly unlimited outputs to any microcontoller.
How to use the MAX6675 and an Arduino to measure temperatures from 0°C to 1024°C with two components: A chip - the MAX6675, and a Sensor: - a type-K thermocouple.