dali je moguće da je sledeći program (dole) neispravan???
ako je ispravan,ne znam zašto ne mogu da ga prebacim u PIC 16F877
imam PICFlash2 programer
Molim vas ako je moguće da mi pojasnite korak po korak proceduru
Šta mi je još potrebno i kako da budem siguran da se program nalazi u PIC-u
unapred puno hvala,..
'Program korektor napona.
'Meri mrezni napon i zavisno od rezultata merenja
'ukljucuje odgovarajuci relej i tako na autotransformatoru
'bira odgovrajuci izvod zavisno od mreznog napona.
Define ADC_BITS 10 ' Broj bita
Define ADC_CLOCK 1 ' Klok (0=Oscilator /8)
AD_Rez var word ' Rezultat AD konverzije
Napon var word ' Promenljiva za dobijanje napona
TRISA = %11111111 ' Port A je ulazni
TRISC = 0 ' Port D je izlazni
ADCON1 = %10000010 ' Port A je u analognom modu, 0 i 5V su
' referentni naponi a rezultat je desno formatiran.
Dummy var byte ' Promenljiva za 32 bitno delenje i mnozenje
symbol DQ = porte.2 ' DQ linija za termometar
symbol Greska = portb.5 'Linija LED diode greske
symbol Rucni = portb.4 'Linija za identifikaciju rucnog rada
symbol Rucni_rad = portb.2 'Linija za identifikaciju rucnog rada
temperatura Var Word ' Izracunata temperatura
temper1 Var Word ' Izracunata temperatura
count_remain Var Byte ' Ostatak
count_per_c Var Byte ' Po stepenu C
Pocetak:
'----------------MERI TEMPERATURU--------------------------------------
OWOut DQ, 1, [$CC, $44] ' Start merenja temperature
Sacekaj:
OWIn DQ, 4, [count_remain] ' Provera da li jos traje
IF count_remain = 0 Then Sacekaj
OWOut DQ, 1, [$CC, $BE] ' Procitaj temperaturu
OWIn DQ, 0, [Temperatura.LOWBYTE, Temperatura.HIGHBYTE, Skip 4, count_remain, count_per_c]
Temperatura = (((Temperatura >> 1) * 100) - 25)+ (((count_per_c - count_remain)*100) / count_per_c)
Temper1 = Temperatura / 100
If Temper1 < 70 Then Radi
High Greska
pause 500
Low Greska
pause 500
High Greska
pause 500
Low Greska
pause 500
High Greska
pause 500
Low Greska
pause 500
PortD = $00
Goto Pocetak
'-------------RAD KOREKTORA------------------------------------------
Radi:
' Procitaj 1 kanal na RA2 i prikazi
ADCIN 2, AD_Rez ' Izvrsi konverziju na RA2 i 16 bita i rezultat smesti u AD_Rez.
Dummy = AD_Rez * 5 * 100
Napon = Div32 1023
Pause 5000 ' Pauza 10 sec
' - - - - Napon 180 - 190 - - - - - - - - - - - - - - - - - -
If AD_Rez > 731 Then RE2
PortC = $01
Goto REE
' - - - - Napon 190 - 200 - - - - - - - - - - - - - - - - - -
RE2: If AD_Rez > 775 Then RE3
PortC = $02
Goto REE
' - - - - Napon 200 - 210 - - - - - - - - - - - - - - - - - -
RE3: If AD_Rez > 811 Then RE4
PortC = $04
Goto REE
' - - - - Napon 210 - 220 - - - - - - - - - - - - - - - - - -
RE4: If AD_Rez > 867 Then RE5
PortC = $08
Goto REE
' - - - - Napon iznad 220 - - - - - - - - - - - - - - - - - -
RE5: PortC = $10
Pause 2000 ' Pauza 2 sekunda
REE:
Goto Pocetak ' Kreni ponovo na merenje
'------------RUCNI RAD----------------------------
Iskljucen:
PortC = $10
Rucni = 1
Return
End ' Kraj programa
2. Ko zna manje, bog mu je bliže
3. Ko ništa ne zna, njemu bog može biti svako