DEFINE OSC 8 '8MHz << NOTICE UPPERCASE ON DEFINE
'END of timer/oscillator defines
OSCCON = %01110001 'Int CLK 8MHz
ANSEL = %00000000 'All digital
ANSELH = %00000000
OPTION_REG.7 = 1 'Weak pull-ups enabled
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
DEFINE BUTTON_PAUSE 100
'--------------------ULAZI--------------------------------------
symbol AU=PORTE.0 'Taster automatski
symbol RU=PORTE.1 'Taster rucno
symbol ST=PORTE.2 'Taster stop
symbol TP=PORTA.0 'Temperatura1
symbol TS=PORTA.1 'Temperatura2
symbol SNS=PORTA.2 'Sonda nivoa1
Symbol SNI=PORTA.3 'Sonda nivoa2
symbol SNK=PORTA.4 'Sonda nivoa3
symbol SV=PORTA.5 'Sonda vlage
symbol SNP=PORTA.6 'Sonda nivoa4
symbol TR=PORTA.7 'Trip
'-------------------IZLAZI-------------------------------------
symbol TV=PORTB.7 'Transportni ventilator
symbol I=PORTB.6 'Izvlakac
SYMBOL MS=PORTB.5 'Mesac
symbol MII=PORTB.4 'Mesac isparivaca sa izvlakacem
symbol VP=PORTB.3 'Ventilator1
symbol VGS=PORTB.2 'Ventilator grejanja1
symbol VGI=PORTB.1 'Ventilator grejanja2
symbol DP=PORTB.0 'Dozator peci
symbol DK=PORTC.7 'Doziranje kosa
symbol DS=PORTC.6 'Doziranje ...
symbol AS=PORTC.5 'Aspiracija
symbol RR=PORTC.4 'Relej rucno (Lice mesta)
'*****************************************************************************
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
'! Inicijalizacija portova
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
TRISA=$FF 'Svi portovi A su ulazni
TRISB=$00 'Svi portovi B su izlazni
TRISC=$00 'Svi portovi C su izlazni
TRISD=$00 'Svi portovi D su izlazni
TRISE=$FF 'Svi portovi E su ulazni
PORTB = 255 ' ili portb = %11111111 ' svi bitovi porta B bice jedinice
PORTC = 255 ' ili portc = %11111111 ' svi bitovi porta C bice jedinice
PORTD = 255 ' ili portd = %11111111 ' svi bitovi porta D bice jedinice
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
'! Kraj Inicijalizacije portova
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Pause 200 ' vreme dovoljno da se LCD inicijalizuje
pocetak:
TV=1:I=1:MS=1:MII=1:VP=1:VGS=1:VGI=1:DP=1:DK=1:DS=1:AS=1:RR=1
Lcdout $fe, 1 ' Clear screen
Pause 500 ' Wait .5 second
Lcdout " Welcome screen1 "
Lcdout $fe, $c0, " verzija "
Pause 2000 ' Wait 2 second
Lcdout $fe, 1 ' Clear screen
Pause 500 ' Wait .5 second
Lcdout " Welcome screen2 "
LCDOUT $FE,$C0, " v1.0 datum "
Pause 2000 ' Wait 2 second
Lcdout $fe, 1 ' Clear screen (izbrisi lcd)
'----------------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
if tr=0 then Trip
goto rucno
'---------------AUTOMATSKI-------------------------------------------
Automatski:
LCDOUT $FE,2, " AUTOMATSKI "
LCDOUT $FE,$C0, " RAD "
.
.
.
.
.
Make no mistake between my personality and my attitude.
My personality is who I am.
My attitude depends on who you are.