Am einfachsten ist es ein PWM Signal zu erzeugen das dann geglättet wird.
Glaub aber das der 16F84 keine entsprechende Hardware hat. Der neuere 16F628 ist Pin-Kompatibel zum 16F84 und hat auch ein PWM Modul.
Die Software ist relativ einfach: PWM Initialisieren, durch drücken eines Taster einen Integer inkrementieren oder dekrementieren und anschließend in das CCPR1L Register schreiben