Primero de todo comentar que el bootloader con el microcontrolador 16F876A es lo más cómodo que he utilizado desde que empecé con los microcontroladores. Realmente animo a todos los que crean que tiene mucho lio, que se pongan, es realmente fácil y sobre todo muy cómodo.
Dicho esto, este es el primer programa que he realizado en PBP para el PIC 16F876A, aparte del mítico Blink (parpadeo) para comprobar que todo esta correcto con la programación.
Es un programa para utilizar un potenciómetro con el conversor analógico que integra el PIC internamente.Primero lee el potenciómetro en una de las entradas analógicas del microcontrolador, en este caso AN0 y con ello controlamos la intensidad del un led mediante la función PWM (Pulse Width Modulation).
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 1023 dividimos
' entre 4 para tener una variable de 0 a 255.
PWM Led1, dato, 30 'PWM lee la variable almacenada en Dato y la transmite atraves de Led1.
GOTO Inicio
END
Una imagen de las conexiones:
Otros artículos sobre PWM en microcontroladores que te pueden interesar:
Un saludo!!
se ve interesante, gracias por compartir, la informacion, buen blog.
ResponderEliminar