Primero de todo comentar que el bootloader es lo más cómodo que he utilizado desde que empeze con esto y animo a todos los que crean que tiene mucho lio, que se pongan, es realmente fácil y cómodo.
Dicho esto, este es el primer programa que he realizado en pbp para el 16F876A, aparte del mítico Blink. Es para utilizar un potenciometro con el conversor analógico que trae el pic. Lee el potenciometro en una de las entradas analógicas del pic (AN0) y con ello controlamos la intensidad del un led mediante PWM.
DEFINE LOADER_USED 1 'Para usar el bootloader
DEFINE OSC 20 'Defino la velocidad del cristal
DEFINE ADC_BITS 10 'Conversión A/D a 10 bits
DEFINE ADC_CLOCK 3
DEFINE ADC_SAMPLEUS 10
Led1 VAR portc.1 'El puerto C1 pasa a llamarse LED1
Dato VAR WORD 'Variable para el dato
TRISA = %11111111 'Puerto A todo como entradas
ADCON1 = %10000010
PAUSE 1000
Inicio:
ADCIN 0,Dato 'Lee el puerto AN0 y lo guarda en la variable Dato
Dato = Dato /4 ' Al tener la conversión en 10bits la variable es de 0 a 1024 dividimos
PWM Led1,dato,30' ' entre 4 para tener una variable de 0 a 255.
GOTO Inicio ' PWM lee la variable almacenada en Dato y la transmite atraves de Led1
END
Aquí tenéis los archivos para descargar: ADC y PWM con 16f876A
Un saludo!!
sábado, 1 de octubre de 2011
Primer programa 16f876A ADC y PWM
También te puede interesar:
Suscribirse a:
Enviar comentarios
(
Atom
)
se ve interesante, gracias por compartir, la informacion, buen blog.
ResponderEliminar