I used UP00B to try to program the PIC10F204. It didnt work.. =( But anyways, I decided to forget about that PIC. Now I'm using PIC16F877A. I need to write an analog input command for this PIC but it can compile in Microcode Studio but when I want to write, it fails. I also do not know if my source code is correct.
I basically want to generate a PWM signal to control my triac which then controls my the heat output of my load. The duty cycle of the PWM is controlled by a potentiometer which is connected to the analog input of the PIC.
Help. My supervisor threatens to fail me. =(
My circuit is based on Microchip App Note AN958 but I have made a few adjustments.
My source code that I;ve written so far:
DEFINE OSC 20
DEFINE ADC_BITS 8
DEFINE ADC_CLOCK 3
DEFINE ADC_SAMPLUS 50
ANI VAR byte
TRISA = 255
TRISB = 0
ADCON1 = 0
IF (anI==0) THEN PWM PORTB.3,0,1000
IF ani<>0 tHEN goto run
run:
IF (ani > 0) AND ani <= 50 THEN pwm PORTB.3,50,1000
IF (ANI > 15) AND (ANI <= 30) THEN pwm PORTB.3,30,1000
IF (ANI > 30) AND (ANI <= 45) THEN pwm PORTB.3,45,1000
IF (ANI > 45) AND (ANI <= 60) THEN pwm PORTB.3,60,1000
IF (ANI > 60) AND (ANI <= 75) THEN pwm PORTB.3,75,1000
IF (ANI > 90) AND (ANI <= 105) THEN pwm PORTB.3,105,1000
IF (ANI > 105) AND (ANI <= 120) THEN pwm PORTB.3,120,1000
IF (ANI > 120) AND (ANI <= 135) THEN pwm PORTB.3,135,1000
IF (ANI > 150) AND (ANI <= 165) THEN pwm PORTB.3,165,1000
IF (ANI > 165) AND (ANI <= 180) THEN pwm PORTB.3,180,1000
IF (ANI > 180) AND (ANI <= 195) THEN pwm PORTB.3,195,1000
IF (ANI > 195) AND (ANI <= 210) THEN pwm PORTB.3,210,1000
IF (ANI > 225) AND (ANI <= 240) THEN pwm PORTB.3,240,1000
IF (ANI > 240) AND (ANI <= 255) THEN pwm PORTB.3,255,1000
ADCIN 0, ani
pauseus 50
end