Follow along with the video below to see how to install our site as a web app on your home screen.
							 
						
Nota: This feature currently requires accessing the site using the built-in Safari browser.
Un detalle crees que este usando por las huevas los 3 16f628aEspero tu pronta respuesta
'***********************************************************
'Pruebas para inciarse en el control de iluminación led por PWM
'Tres PWM por software
'***********************************************************
'Configuración de fuses y reloj
Define CONF_WORD = 0x2f50
Define CLOCK_FREQUENCY = 4
'Configuración de módulos
AllDigital  'Los pin analogicos/digitales trabajaran como digitales
TRISA = 0  'Puerto A configurado como salidas, execto RA5 que solo trabaja como entrada
TRISB = 0  'Puero B configurado como salidas
PORTB = 0  'Puerto B puesto a cero todos sus pin
'Rutina principal
main:
	Dim cont As Word 'Contador incremento potencia de los PWMs
	Dim pwm0 As Byte 'Potencia PWM 0
	Dim pwm1 As Byte 'Potencia PWM 1
	Dim pwm2 As Byte 'Potencia PWM 2
	Const cont_s = 5 'Intervalo incremento Potencias
	Dim x As Bit 'Variable auxiliar
	pwm0 = 0 'Potencia inicial 0% PWM0
	pwm1 = 255 'Potencia inicial 100€ PWM1
	pwm2 = 127 'Potencia inicial 50% PWM2
	x = 0
 
	While x = 0  'Bucle principal
	
		Call _pwm_rb(pwm0, pwm1, pwm2) 'Controla y actualiza los PWMs
		If cont >= cont_s Then 'Intervalo del incremento de potencias
			pwm0 = pwm0 + 1
			pwm1 = pwm1 - 1
			cont = 0
		Endif
		cont = cont + 1
 
	Wend
 
End                                               
'Funcion para practicas con control de potencia con 3 PWM (software)
'Para control con positivo comun
'Pin utilizado RB0 a RB2 del puerto B
'Frecuencia aproximada 230Hz a 8Mhz de CLK.
'Tres valores de entrada mediante _pwm0 a _pwm2
'Con valores comprendidos entre 0 a 255 pasos de potencia
Proc _pwm_rb(_pwm0 As Byte, _pwm1 As Byte, _pwm2 As Byte)
	Const periodo = 255  'Periodo de la señal
	Dim ctrl As Byte  'Lleva el tiempo transcurrido del periodo
	If _pwm0 > 0 Then RB0 = 0  'Pin a OFF
	If _pwm1 > 0 Then RB1 = 0  'Pin a OFF
	If _pwm2 > 0 Then RB2 = 0  'Pin a OFF
	ctrl = 0  'Comienza ciclo
	While ctrl < periodo  'Mientras no se complete el periodo
		If ctrl >= _pwm0 Then RB0 = 1  'Pin a ON
		If ctrl >= _pwm1 Then RB1 = 1  'Pin a ON
		If ctrl >= _pwm2 Then RB2 = 1  'Pin a ON
		ctrl = ctrl + 1  'Tiempo transcurrido del periodo
	Wend
End Proc'===============================================================
'Codigo de ADC aplicado al pic 16f877a
'No tengo placa entrenadora solo mi proteus y mi protoboard
'No es codigo robado de nadie xD, por fin!
'===============================================================
'Defino parametros del microcontrolador
Define CONF_WORD = 0x3f71
Define CLOCK_FREQUENCY = 4
'Configuro puertos
TRISA = 0
TRISB = 0
TRISC = 0
TRISD = 0
ADCON1 = 0x0e
'Declaro una variable an0
Dim an0 As Word
'Programa:
'Analisa el valor del ADC
'Si cumple la condicion enciende un led
loop:
	Adcin 0, an0
	If an0 > 50 Then
	RB0 = 1
	Else
	RB0 = 0
	Endif
	If an0 > 100 Then
	RB1 = 1
	Else
	RB1 = 0
	Endif
	If an0 > 150 Then
	RB2 = 1
	Else
	RB2 = 0
	Endif
	If an0 > 200 Then
	RB3 = 1
	Else
	RB3 = 0
	Endif
Goto loop
End 
  