Esta versión la he probado corriendo sobre la placa EBasic y funciona OK.
El micro que he utilizado es el 16F628A ya que no tengo ningún 16F628.
Una vez que lo compiles con el PSI podrás ver la configuración de BIT.
También probé a activar la salida de reloj externa y, pude verificar que
genera una frecuencia de 1Mhz., como esta frecuencia es osc.interno/4
se deduce que el micro queda configurado por defecto para trabajar a 4Mhz.
'******************** PIC16F628A**********************
'----- Configuración de BIT
Define CONF_WORD = 0x3f10
Define CLOCK_FREQUENCY = 4
'----- Configuración módulos I/O y módulos generales
AllDigital 'deshabilito el ADC
TRISA = %00000000 'puerto A como salidas, por defecto
TRISB = %00000000 'Puerto B como salidas, por defecto
'_____ Configuración de pin utilizados
TRISB.0 = 1 'pin RB.0 in1
TRISB.4 = 0 'pin RB.4 out clk
TRISB.3 = 0
TRISB.5 = 0
'------ Declaro variables
Dim ir As Byte
Dim i As Byte
'------ Asigno variables y valores lógicos pin
ir = 0
PORTB.4 = 1
PORTB.3 = 0
PORTB.5 = 0
'----- Programa principal
main:
If PORTB.0 = 1 Then
WaitMs 120 'antirebote
If PORTB.0 = 1 Then
ir = 1
Endif
Endif
If ir = 1 Then
PORTB.3 = 1 'BOMBA Off
PORTB.5 = 1
WaitMs 10
For i = 1 To 24 Step 1
PORTB.4 = 0
WaitMs 10
PORTB.4 = 1
WaitMs 100
Next i
Endif
ir = 0
Goto main
End
'Nota, en la tecnología CMOS no se pueden dejar entradas sin polarizar.
'Por lo tanto todo pin que no se usa se configura como salida, y sino
'se puede configurar como salida como le pasa al RA5, hay que polarizarlo.