#config
__CONFIG _HS_OSC & _WDT_OFF & _LVP_OFF & _CP_OFF
#endconfig
DEFINE OSC 20
ADCON1 = 7 'Turn off ADC
CMCON = 7 'Turn off comparator
'************************
'* DISPLEY *
DEFINE LCD_BITS 4
DEFINE LCD_DREG PORTA
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 7
DEFINE LCD_EREG PORTA
DEFINE LCD_EBIT 5
DEFINE LCD_LINES 2
pause 100
lcdout $fe,1, "BROJ PROLAZA"
pause 1000
'*********************
'*definisanje portova*
trisc=%00000000
trisd=%00000000
trisb=%00000000
trisa=%01000
'**********************
'***************************************
'*stavljanje portova na izlazne /ulazne*
portc=%11111111
portd=%10000000
portb=%00000000
porta=%01000
include "modedefs.bas"
B VAR WORD
x var word
pocetak:
'a=0
'lcdout $fe,$C0, " "
pinin VAR PORTB.6 ' Define pinin as PORTC.7
'******PRIMA PODATKE**************************
do
Serin2 pinin,396,[WAIT("3: "),DEC B]
'*******************************************
'DISPLEJ
x=1000/b
lcdout $fe,$C0, "X+Y=", dec b, " ", DEC x, "HZ "
loop
a ovo je kod od 12f683
#CONFIG
__CONFIG _INTRC_OSC_NOCLKOUT & _WDT_OFF & _MCLRE_OFF & _BOD_OFF & _CP_OFF & _PWRTE_ON
#ENDCONFIG
DEFINE OSC 4
'-------------------------- PDESAVANJA -------------------------------
ANSEL = $30
WPU = $37
CMCON0 = 7 ' Analog comparators off
TRISIO = %111100 '5-ULAZ
'------------------------PROOGRAM------------------------------------
include "modedefs.bas"
'DEFINMISANJE PORTOVA
izlaz var GPIO.0
IZLAZ=0
prelaz var GPIO.3
INPUT PRELAZ
taster var GPIO.4
INPUT taster
taster1 var GPIO.5
input taster1
pinout var GPIO.1
i var byte
a VAR WORD
A=0
b var word
b=0
'*************************
' NEPARAN BROJ X JE VECE *
'****************************
x var word '*
x=47 'pra pauza '*
'*
y var word 'druga pauza *
y=47 '*
'*****************************
' FREKVENCA KAD JE PRAZNA
'********************************
do WHILE prelaz = 1
'**********
izlaz=1 '*
pause x '*
izlaz=0 '*
pause y '*
'***********
'UVECAVANJE BROJA
'********************************
if taster1 = 0 and a = 0 then '*
A=1 '*
x=x+1 '*
call provera '*
endif '*
'*************************** '*
if taster1 = 0 and a = 1 then '*
A=0 '*
Y=Y+1 '*
call provera '*
endif '*
'********************************
'********************************
IF TASTER = 0 AND A = 1 and x>25 then
A=0
X=X-1
call provera
endif
'********************************
if taster = 0 and a = 0 and y>25 then
a=1
y=y-1
call provera
endif
'*********************************
loop
provera:
for i = 1 to 5
B=X+Y
Serout2 pinout,396,["3: ",DEC B ,13,10] ' 3: 546
next i
return
END