Hallo allemaal,
Ik had ff een vraagje,
Zou iemand met de volledige versie van Proton IDE mij een
programma willen compileren naar HEX zodat ik deze in mijn PIC-tje kan zetten?
Programma hoeft waarschijnlijk maar 1 keer erin, dan verandert het niet snel weer.
Heb het zover klaar dat ik alles getest heb, 1 schakelaar per keer.
Maar als ik alle schakelaars in het programma heb dan kom ik ruim over 50 regels
Als iemand zo vriendelijk wil zijn, graag!
Alvast bedankt
Bij deze, misschien voorbarig, het programma:
pic basic code:
'****************************************************************
'* Name : Verlichting_detector.BAS *
'* Author : R.vd Heiden *
'* Notice : Copyright (©) 2012 R-Tronic 2012 *
'* : All Rights Reserved *
'* Date : 12-9-2012 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
Device 16F628A ;Gebruik een 16F628A type
Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE ;Alle ingangen digitaal
;Poortnamen
;PORTB
SYMBOL S1 = portb.0 ;Wipschakelaar
SYMBOL S2 = PORTb.3 ;Wipschakelaar
;PORTA
SYMBOL S3 = PORTa.0 ;Wipschakelaar
SYMBOL S4 = PORTa.1 ;Wipschakelaar
SYMBOL S5 = PORTa.4 ;Wipschakelaar
SYMBOL S6 = PORTa.5 ;Wipschakelaar
SYMBOL S7 = PORTa.6 ;Wipschakelaar
SYMBOL S8 = PORTa.7 ;Wipschakelaar
;LCD pinnen
Symbol EN1 = PORTB.1 ;Uitgang voor LCD Enable 1
Symbol EN2 = PORTB.2 ;Uitgang voor LCD Enable 2
Declare LCD_ENPIN PORTA.2 ;Enable LCD
Declare LCD_RSPIN PORTA.3 ;Register Select
;Constanten
SYMBOL AAN = 0 ;Geinverteerd AAN (Voor PortB)
SYMBOL OFF = 0 ;UIT (Voor PortA)
SYMBOL ON = 1 ;AAN (Voor PortA)
SYMBOL UIT = 1 ;Geinverteerd UIT (Voor PortB)
symbol Lengte = 40 ;Voor Init
;Variabelen
dim Bd1 as byte ;Byte dummy voor puntknipper
dim Teller as Byte ;Teller voor Init
Clear ;Wis RAM
DelayMS 500 ;initialisatie display
;Display wissen
High EN1 ;Regel 1 en 2 enable
High EN2 ;Regel 3 en 4 enable
Cls ;display wissen
;Poorten instellen
porta = %00000000 ;Alles Laag
portb = %00000000 ;Alles laag
;76543210
Trisa = %11110011 ;Poort 0, 1, 4, 5, 6 en 7 ingangen voor schakelaars
trisb = %00001001 ;Poort 0, 1 ingangen voor schakelaars
high en1 ;Regel 1 en 2 Enable
low en2 ;Regel 3 en 4 Disable
;Nep initialisatie
;1234567890123456789012345678901234567890
Print at 1, 1, "Schakelaars testen... "
delayms 1000
print at 1, 1, "OK "
delayms 1000
cls
delayms 250
print at 1, 1, " Verlichting Bediening by R-Tronic 2012 "
print at 2, 1, " PIC 16F628A Microprocessor Controlled "
low en1
high en2
print at 1, 1, " INITIALISEREN! " ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
PRINT AT 2, 1, REP "_"\Lengte
REPEAT
DELAYMS 500 ;Teken lijn en vul met blokjes 1 x 0,5 sec
INC Teller
PRINT AT 2, 1, REP 255\Teller
UNTIL Teller = Lengte
PRINT AT 1, 1, " Programma gestart "
DELAYMS 1000 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;1234567890123456789012345678901234567890
print at 1, 1, "----------------------------------------"
print at 2, 1, "2 Onwiezen"
delayms 500
low en2 ;Regel 3 en 4 Disable
high en1 ;Regel 1 en 2 Enable
print at 1, 2, "S 1", at 1, 7, "S 2", at 1, 12, "S 3", AT 1, 17, "S 4", AT 1, 22, "S 5", AT 1, 27, "S 6", AT 1, 32, "S 7", AT 1, 37, "S 8"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Voorbeeld op scherm LCD 4 x 40
;1234567890123456789012345678901234567890
;Regel 1 S 1 S 2 S 3 S 4 S 5 S 6 S 7 S 8
;Regel 2 AAN UIT AAN UIT UIT AAN UIT AAN
;Regel 3 ----------------------------------------
;Regel 4 Run. 2 Onwiezen
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
while 1 = 1 ;Loop
if s1 = off then ;Als S1 aan is (geinverteerd) dan,
print at 2, 2, "AAN" ;Schrijf op x, y, AAN
else print at 2, 2, "UIT" ;Anders Schrijf UIT
endif ;Einde If - Endif
if s2 = off then
print at 2, 7, "AAN"
else print at 2, 7, "UIT"
endif
if s3 = off then
print at 2, 12, "AAN"
else print at 2, 12, "UIT"
endif
if s4 = off then
print at 2, 17, "AAN"
else print at 2, 17, "UIT"
endif
if s5 = off then
print at 2, 22, "AAN"
else print at 2, 22, "UIT"
endif
if s6 = off then
print at 2, 27, "AAN"
else print at 2, 27, "UIT"
endif
if s7 = off then
print at 2, 32, "AAN"
else print at 2, 32, "UIT"
endif
if s8 = off then
print at 2, 37, "AAN"
else print at 2, 37, "UIT"
endif
low en1 ;Regel 1 en 2 Disable (Voor knipperen punt bij Run.)
high en2 ;Regel 3 en 4 Enable
If Bd1 = 10 Then ;Als teller BD is 10
Print At 2, 1, "Run." ;Schrijf tekst Run.
bd1 = 0 ;Reset Teller
Else ;Anders,
Print At 2, 1, "Run " ;Schrijf tekst Run (punt knippert elke seconde, programma loopt nog)
EndIf ;Einde If - Endif
DelayMS 100 ;Scan snelheid schakelaars
Inc Bd1 ;Byte Dummy + 1
low en2 ;Regel 3 en 4 Disable
high en1 ;Regel 1 en 2 Enable (Terug naar Schakelaars scannen.)
wend
End
Edit: Als iemand het wil doen, mail staat in profiel.
Mag ook hier gewoon.
Thnx