rem QB program 2 modul 0-7 csatorna lm35 vagy mcp9700 érzékelők


CLS
 SCREEN 12
REM ******************  dimenzionalas ******************************
DIM K$(2): REM MODULOK MEGNEVEZESE
DIM CEL(16): REM TAROLANDO ADATOK
DIM nev$(16): REM ELNEVEZESEK
DIM KOR(16): REM korrekció kalibrálás után
DIM M(16): rem a mért 10 bites regisztertartalom
i:
CLOSE #1
K$(1) = "1modul"
K$(2) = "2modul"
for z=1 to 16
kor(z)=0
next
rem a korrekció csatornánként megadható

rem a nev$ mért helyiségek megnevezése egyenként megadandó

FOPRG:
REM ***************************** F0PROGRAM *******************

meres:
Y = 1
FOR z = 1 TO 16
m=m-1
ujra:
IF z > 8 THEN Y = 2
IF z > 8 THEN M = M - 8

       GOSUB AD: R0 = REG
       GOSUB AD: IF ABS(R0 - REG) > 3 THEN GOTO ujra
       M(z) = REG
NEXT
FOR z = 1 TO 16
rem vref=5 Volt
        uref= 5000     
        umv= UREF*M(z)/1024

rem lm35 esetén       
        ertek=umv/10 + kor(z)

rem mcp9700 esetén ertek=(umv-500)/10 +kor(z) 

        ertek= int(10*ertek)/10
	PRINT z,nev$(z),umv, ERTEK; "  "
        cel(z)=ertek
NEXT
GOTO FOPRG

REM **************** AD ATALAKITO MODUL *******************************
AD:
LOCATE 2, 2: PRINT " "; DATE$; "  "; TIME$; " "

	IF MID$(TIME$, 5, 3) = "5:0" THEN GOSUB mentes
varm: IF MID$(TIME$, 5, 3) = "5:0" THEN GOTO varm

OPEN "com1:2400,n,8,1,rs,cs,ds,cd" FOR RANDOM AS #1: REM rs,cs,ds,cd
PRINT #1, K$(Y); CHR$(M)

	R$ = "": t$ = ""
    
	ON ERROR GOTO hiba
	IDO = TIMER
olv:
	IF TIMER > IDO + 1 THEN GOTO hiba
		 ON ERROR GOTO hiba
	IF LOC(1) > 0 THEN t$ = INPUT$(1, 1) ELSE GOTO olv
	R$ = R$ + t$: IF LEN(R$) < 3 THEN GOTO olv
	ch = ASC(MID$(R$, 1, 1))
	be2 = ASC(MID$(R$, 2, 1)): be3 = ASC(MID$(R$, 3, 1))
CLOSE #1
REG = be2 + 256 * be3

	LOCATE 30, 30: PRINT ch; REG;

RETURN
REM ***************************** AD VEGE ****************************

hiba:
	RESUME NEXT
REM *************************  MENTES *****************************
mentes:
	m$ = MID$(DATE$, 1, 2) + MID$(DATE$, 4, 2) + MID$(DATE$, 9, 2)
	ment$ = "HF" + m$
	OPEN "A", #1, ment$
	WRITE #1, DATE$, TIME$, cel(1), cel(2), cel(3), cel(4), cel(5), cel(6), cel(7), cel(8), cel(9), cel(10), cel(11), cel(12), cel(13), cel(14), cel(15), cel(16)
close #1

return
	
