Ben ik weer, met waarschijnlijk weer een stomme fout...
Ik heb een 18F14K22 met een snelle pulse output voor een project die ik simuleer met Proteus. Dat werkte prima, dus het PICje geprorammeerd en op een breadboardje geplaatst.
Maar je raad het al... Daar doet ie niks.
code:
Device 18F14K22
Config_Start
FOSC = ERC
PLLEN = On
PCLKEN = OFF
FCMEN = OFF
IESO = OFF
PWRTEN = OFF
BOREN = OFF
BORV = 30
WDTEN = OFF
WDTPS = 64
MCLRE = OFF
HFOFST = OFF
STVREN = OFF
LVP = Off
BBSIZ = OFF
XINST = Off
Cp0 = OFF
CP1 = OFF
CPB = OFF
CPD = OFF
WRT0 = OFF
WRT1 = OFF
WRTB = OFF
WRTC = OFF
WRTD = OFF
EBTR0 = OFF
EBTR1 = OFF
EBTRB = OFF
Config_End
Xtal 64
All_Digital TRUE
OSCCON = %01100010
OSCTUNE.6 = 1
TRISB = %00000000
TRISC = %00000011
Symbol STARTBUT = PORTC.0
Symbol STOPBUT = PORTC.1
Symbol PWRLED = PORTC.4
Symbol RDYLED = PORTC.5
Symbol PULS = PORTB.7
Dim A As Word
Dim B As Word
B = 5
DelayMS 500
High PWRLED
' --- Standby mode ---
standby:
Toggle RDYLED
DelayMS 250
If STARTBUT = 0 Then
GoTo safetyloop
EndIf
GoTo standby
' --- Safety loop of 5 seconds before running ---
safetyloop:
For A = 0 To 50
If STOPBUT = 0 Then
GoTo endloop
EndIf
Toggle RDYLED
DelayMS 100
Next A
High RDYLED
GoTo pulseloop
' --- Pulse loop ---
pulseloop:
If STOPBUT = 0 Then
GoTo endloop
EndIf
Toggle PULS
For A = 1 To B
DelayUS 1
Next A
GoTo pulseloop
' --- Stop ---
endloop:
Low PULS
GoTo standby
End
Simpel start en stop knopje als input via een pullup weerstand aan de 5V. Knopje zet de poort laag bij indrukken.
Ik heb er een extra LED tussen gezet (PWRLED) die aan moet gaan op het moment dat de PIC spanning krijgt, zoals te zien is in het programma, maar zelfs dat doet ie al niet, en in Proteus wel.
Er hangt een oscillator aan van 64MHz.
Ik doe uiteraard iets enorm fout, maar zie zo niet wat...
Iemand een idee ?