Code:
DEFINE LCD_DREG PORTD ' LCD se nalazi na portu D
DEFINE LCD_DBIT 4 ' Data bits D4..D7
DEFINE LCD_RSREG PORTD ' RS na PORTD
DEFINE LCD_RSBIT 1 ' RS na D1
DEFINE LCD_EREG PORTD ' E na PORTD
DEFINE LCD_EBIT 0 ' E na D0
DEFINE LCD_BITS 4 ' LCD 4 bit mode
DEFINE LCD_LINES 2 ' 2 linije LCD display
OSCCON = %01110001 'Int CLK 8MHz
DEFINE OSC 8 '8MHz << NOTICE UPPERCASE ON DEFINE
'END of timer/oscillator defines
ANSEL = %00000000 'All digital
ANSELH = %00000000
OPTION_REG.7 = 1 'Weak pull-ups enabled
DEFINE BUTTON_PAUSE 100
'port clear
PORTA=0
PORTB=0
PORTC=0
PORTD=0
PORTE=0
'end of port clear
'--------------------ULAZI--------------------------------------
symbol AU=PORTE.0 'Taster automatski
symbol RU=PORTE.1 'Taster rucno
symbol ST=PORTE.2 'Taster stop
symbol TP=PORTA.0 'Temperatura 1
symbol TS=PORTA.1 'Temperatura 2
symbol SNS=PORTA.2 'Sonda nivoa 1
Symbol SNI=PORTA.3 'Sonda nivoa 2
symbol SNK=PORTA.4 'Sonda nivoa 2
symbol SV=PORTA.5 'Sonda vlage
symbol SNP=PORTA.6 'Sonda nivoa 4
symbol TR=PORTA.7 'Trip greska MZS
'-------------------IZLAZI-------------------------------------
symbol TV=PORTB.7 'Transportni ventilator
symbol I=PORTB.6 'Izvlakac
SYMBOL MS=PORTB.5 'Mesac 1
symbol MII=PORTB.4 'Mesac 2
symbol VP=PORTB.3 'Ventilator 1
symbol VGS=PORTB.2 'Ventilator 2
symbol VGI=PORTB.1 'Ventilator 2
symbol DP=PORTB.0 'Dozator 1
symbol DK=PORTC.7 'Dozator 2
symbol DS=PORTC.6 'Dozator 3
symbol AS=PORTC.5 'Aspiracija
symbol RR=PORTC.4 'Relej rucno
'----------------Inicijalizacija----------------------------------
TRISA=$FF 'Svi portovi A su ulazni
TRISB=$00 'Svi portovi B su izlazni
TRISC=$00 'Svi portovi C su ulazni
TRISE=$FF 'Svi portovi E su ulazni
PAUSE 1500
'----------------Blokada------------------------------------------
Blokada:
Lcdout $fe, 1 ' Clear screen
Pause 500
goto Blokada1
'-----------------------------------------------------------------
Blokada1:
if AU=0 then automatski
if ru=0 then Rucno
LCDOUT $FE,2, " Stop "
LCDOUT $FE,$C0, " Zaustavljeno "
TV=1:I=1:MS=1:MII=1:VP=1:VGS=1:VGI=1:DP=1:DK=1:DS=1:AS=1:RR=1
goto Blokada1
Rucno:
LCDOUT $FE,2, " Rad "
LCDOUT $FE,$C0, " RUCNO "
TV=1:I=1:MS=1:MII=1:VP=1:VGS=1:VGI=1:DP=1:DK=1:DS=1:AS=1:RR=0
if st=0 then Blokada
goto rucno
'---------------AUTOMATSKI-------------------------------------------
Automatski:
LCDOUT $FE,2, " AUTOMATSKI "
LCDOUT $FE,$C0, " RAD "
TV=0:I=0:MS=0:MII=0:VP=0:VGS=0:VGI=0:DP=0:DK=0:DS=0:AS=0:RR=0
if st=0 then Blokada
goto automatski
Kako da resim, prilikom paljenja, ili reseta PIC-a, upale mi se za trenutak svi releji, plocica je vec uradjena, otpornici R1-R16 10K, preveliki, stavio sam od 1K?
end