Svetelektro.com

Svetelektro.com

Meno:
Heslo:
SVETELEKTRO • Nastavenie hodin tlacidlami

Nastavenie hodin tlacidlami

Moderátori: psichac, Moderátori

Nastavenie hodin tlacidlami

Odosla┼ąod pablox » 22 Mar 2013, 19:42

Ahojte,
robim si jednoduchy program v bascome (nebite ma :D ), jedna sa o to, ze potrebujem vytvorit podprogram ktory bude ovladany dvomi tlacitkami - SET a +. Potrebujem za sebou zadat 5 hodnot (hod, min, den, mesiac, rok) tak, ze stlacim prve tlacidlo, druhym zinkrementujem hodiny kazdym stlacenim o 1, potom stlacim prve tlacidlo, presuniem sa na minuty a druhym tlacidlom nastavim minuty atd. Nakoniec vyskocim z podprogramu a vratim sa aj s nastavenymi hodnotami do hlavneho programu. Spravil som zatial program pre hodiny a minuty, problemom je:
na zaciatku sa zobrazi uvodny vypis, nastavim hodiny, minuty ale po dalsom stlaceni tlacidla mi to skoci zase na nastavenie hodin. Neviem akym sposobom mam vyskocit z toho podprogramu do hlavneho kde sa zobrazia hodnoty. Skusal som exit sub, exit function...proste to akoby skakalo stale medzi nastavenim hodin a minut...tu je zdrojak:"

K├│d: Vybra┼ą v┼íetko
$regfile = "m8def.DAT"
$crystal = 8000000                                          'frekvencia procesora = 1Mhz, Lfuse=0xE1 Hfuse=0xD9


'Inicializacia LCD
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.3 , Db6 = Portb.2 , Db7 = Portb.1 , E = Portb.5 , Rs = Portc.5
Config Lcd = 16 * 2                                         'typ LCD, v tomto pripade 16x2

Cursor Off Noblink

' Specialne znaky
Deflcdchar 0 , 7 , 5 , 7 , 32 , 32 , 32 , 32 , 32           ' znak stupna


'Prve tlacidlo
Config Portb.0 = Input
Config Portc.2 = Input
Tl1 Alias Pinc.2
Tl2 Alias Pinb.0


Portb.0 = 1
Portc.2 = 1
Dim Hod As Integer
Dim Minuty As Integer
Dim Den As Integer
Dim Mes As Integer
Dim Rok As Integer
Dim Stav As Integer
Den = 0
Minuty = 0
Den = 0
Mes = 0
Rok = 2013
Declare Sub Set_hod(hod As Integer)
Declare Sub Set_min(minuty As Integer)


Do
Cls
Locate 1 , 1
Lcd Hod ; ":" ; Minuty
Locate 2 , 1
Lcd Den ; "-" ; Mes ; "-" ; Rok
If Tl2 = 0 Then
   Call Set_hod(hod)
End If
Waitms 250
Loop


Sub Set_hod( , Hod As Integer)
Do
      Cls
      Locate 1 , 1
      Lcd "Hodiny>" ; Hod
      If Tl1 = 0 Then
         Hod = Hod + 1
         Cls
         Lcd "Hodiny>" ; Hod
         If Hod = 24 Then
            Hod = 0
         End If
      End If
      Waitms 250
      If Tl2 = 0 Then
         Call Set_min(minuty)
      End If
Loop
End Sub

Sub Set_min( , Minuty As Integer)
Do
      Cls
      Locate 1 , 1
      Lcd "Min>" ; Minuty
      If Tl1 = 0 Then
         Minuty = Minuty + 1
         Cls
         Lcd "Min>" ; Minuty
         If Minuty = 24 Then
            Minuty = 0
         End If
      End If
      Waitms 250
      If Tl2 = 0 Then
         Exit Function
      End If
Loop
End Sub


Dakujem za pomoc :)
pablox
Obr├ízok pou┼ż├şvate─ża
Zasl├║┼żil├Ż ─Źlen
Zasl├║┼żil├Ż ─Źlen
Pr├şspevky: 1108
Vek: 27.74
Zalo┼żen├Ż: 19.07.2006
Bydlisko: Ruzomberok
Paragraf: 23
Karma: 16

Re: Nastavenie hodin tlacidlami

Odosla┼ąod popopepe » 22 Mar 2013, 21:04

P┼Öed prvn├ş DO v hlavn├ş smy─Źce dopl┼ł

zacatek:
Do...
....
Loop


a p┼Öed to posledn├ş Exit Function dopl┼ł GOTO zacatek

If Tl2=0 then
goto zacatek
exit function
....
popopepe
Obr├ízok pou┼ż├şvate─ża
St├íly ─Źlen
St├íly ─Źlen
Pr├şspevky: 392
Zalo┼żen├Ż: 22.06.2009
Karma: 4

Re: Nastavenie hodin tlacidlami

Odosla┼ąod pablox » 23 Mar 2013, 14:47

Skusal som ale nepomohlo to, stale mi to skace na nastavenie od zaciatku a hodnoty nevypise.
pablox
Obr├ízok pou┼ż├şvate─ża
Zasl├║┼żil├Ż ─Źlen
Zasl├║┼żil├Ż ─Źlen
Pr├şspevky: 1108
Vek: 27.74
Zalo┼żen├Ż: 19.07.2006
Bydlisko: Ruzomberok
Paragraf: 23
Karma: 16

Re: Nastavenie hodin tlacidlami

Odosla┼ąod popopepe » 23 Mar 2013, 15:54

Zkus tohle. Mo┼żn├í bude probl├ęm v tom testov├ín├ş tla─Źitek. Lep┼í├ş je debounce.
Pr├şlohy
nethodinysmazat.zip
(834 bajtov) Stiahnutá 11 krát
popopepe
Obr├ízok pou┼ż├şvate─ża
St├íly ─Źlen
St├íly ─Źlen
Pr├şspevky: 392
Zalo┼żen├Ż: 22.06.2009
Karma: 4

Re: Nastavenie hodin tlacidlami

Odosla┼ąod pablox » 23 Mar 2013, 18:31

Uz som to vyriesil kusok inak - hodiny sa nastavia na zaciatku programu a potom uz bezia bez nastavovani a odkazujem len na hlavny program. Dakujem ale za pomoc a prajem pekny den :)
pablox
Obr├ízok pou┼ż├şvate─ża
Zasl├║┼żil├Ż ─Źlen
Zasl├║┼żil├Ż ─Źlen
Pr├şspevky: 1108
Vek: 27.74
Zalo┼żen├Ż: 19.07.2006
Bydlisko: Ruzomberok
Paragraf: 23
Karma: 16


Nasp├Ą┼ą na Bascom

Kto je pr├ştomn├Ż

U┼ż├şvatelia prezeraj├║ci si toto f├│rum: ┼Żiadny registrovan├Ż pou┼ż├şvate─ż a 0 host├ş.

Forums ©
Autor str├ínky je Ondrej Z├ívodsk├Ż(zawin), o graficky design sa star├í ─Żubo┼í Fabo(BUFU).

TOPlist

Powered by Copyright © UNITED-NUKE CMS. All Rights Reserved.
─îas potrebn├Ż k spracovaniu str├ínky 0.23 sek├║nd