nico_2010 Postat Decembrie 13, 2010 Partajează Postat Decembrie 13, 2010 Cilibiu, incearca programul de mai jos: Dim N As Byte Dim I5 As Byte N = 0 Do Debounce Pinc.4 , 0 , Count , Sub Loop End Count: N = N + 1 If N > 2 Then n = 0 End if If N = 0 Then I5 = 35 end if If N = 1 then I5 = 36 end if If N = 2 then I5 = 37 End If Return compara-l cu ce ai postat si analizeaza-l bine. Nu, BASCOM nu este case sensitive Renunta la prescurtarile folosite uzual pe mess Link spre comentariu
Cilibiu Postat Decembrie 13, 2010 Autor Partajează Postat Decembrie 13, 2010 Merge, deci daca folosesc debounce pot face si sa reactioneze cu ON si OFF, in loc de I5=... pun Portc.1=0 si portc.1=1.Mersi mult! Link spre comentariu
Cilibiu Postat Decembrie 13, 2010 Autor Partajează Postat Decembrie 13, 2010 Am am incercat sa mai implementez si alte comenzi , dar se pare ca imi da dapestecap DEBOUNCE-ul!Am mai adaugat asaDoDebounce Pind.7 , 0 , Count , Sub If pind.7=1 thenportd.6=0else portd.6=1end ifloopsi restul bineinteles!Problema apare ca debounce-ul nu poate fi folosit atat timp cat exista acel ELSE!Daca il scot merge ambele comenzi!Dar eu am nevoie si de else!Cred ca renunt la debounce!Dar ma va ajuta si in alte proiecte!Ca nu va fi ultimul! Link spre comentariu
Vizitator andreflo Postat Decembrie 19, 2010 Partajează Postat Decembrie 19, 2010 Salut,Sunt incepator , se poate simplifica urmatoarea secventa de cod:Select Case FadeCase 1 :Locate 2 , 1Lcd Chr(1) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(2) ; Chr(3) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0)Case 2 :Locate 2 , 1Lcd Chr(0) ; Chr(1) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(2) ; Chr(3) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0)Case 3 :Locate 2 , 1Lcd Chr(0) ; Chr(0) ; Chr(1) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(2) ; Chr(3) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0)Case 4 :Locate 2 , 1Lcd Chr(0) ; Chr(0) ; Chr(0) ; Chr(1) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(2) ; Chr(3) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0)Case 5 :Locate 2 , 1Lcd Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(1) ; Chr(0) ; Chr(0) ; Chr(2) ; Chr(3) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0)Case 6 :Locate 2 , 1Lcd Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(1) ; Chr(0) ; Chr(2) ; Chr(3) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0)Case 7 :Locate 2 , 1Lcd Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(1) ; Chr(2) ; Chr(3) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0)Case 8 :Locate 2 , 1Lcd Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(2) ; Chr(3) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0)Case 9 :Locate 2 , 1Lcd Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(2) ; Chr(3) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0)Case 10 :Locate 2 , 1Lcd Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(2) ; Chr(3) ; Chr(1) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0)Case 11 :Locate 2 , 1Lcd Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(2) ; Chr(3) ; Chr(0) ; Chr(1) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0)Case 12 :Locate 2 , 1Lcd Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(2) ; Chr(3) ; Chr(0) ; Chr(0) ; Chr(1) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0)Case 13 :Locate 2 , 1Lcd Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(2) ; Chr(3) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(1) ; Chr(0) ; Chr(0) ; Chr(0)Case 14 :Locate 2 , 1Lcd Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(2) ; Chr(3) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(1) ; Chr(0) ; Chr(0)Case 15 :Locate 2 , 1Lcd Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(2) ; Chr(3) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(1) ; Chr(0)Case 16 :Locate 2 , 1Lcd Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(2) ; Chr(3) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(1)End SelectI2csend &H88 , Att_rfI2csend &H88 , Att_lfI2csend &H88 , Att_rrI2csend &H88 , Att_lrEnd SubMultumesc anticipat Link spre comentariu
Cilibiu Postat Decembrie 19, 2010 Autor Partajează Postat Decembrie 19, 2010 Am tot incercat sa aplic "teorema" lui "danzup" dar se pare ca nu reusesc, am inlocuit n cu N de la prima etapa, adik cu If N>2.... etc,dar tot nimik, si am mai incercat sa scot END IF de la prima etapa si sa o pun jos de tot dar tot nimik, cu debounce merge doar cu conditia sa nu am nimik afisat pe ecran!Daca am ceva afisari atunci cand starea butoanelor nu sunt apasate, debounce-ul nu mai merge, chiar daca lam pus prioritar, si ma gandeam ca teorema lui danzup poate fi aplicata in situatia mea, doar daca o fac sa mearga, fara debounce!Daca va ajuta cu ceva va postez tot programul si schema! Link spre comentariu
Cilibiu Postat Decembrie 21, 2010 Autor Partajează Postat Decembrie 21, 2010 Cilibiu, incearca programul de mai jos: Dim N As Byte Dim I5 As Byte N = 0 Do Debounce Pinc.4 , 0 , Count , Sub Loop End Count: N = N + 1 If N > 2 Then n = 0 End if If N = 0 Then I5 = 35 end if If N = 1 then I5 = 36 end if If N = 2 then I5 = 37 End If Return compara-l cu ce ai postat si analizeaza-l bine. Nu, BASCOM nu este case sensitive Renunta la prescurtarile folosite uzual pe mess Am reusit sa implementez programul tau dar a aparut o problema, merge sal folosesc pana la 9 apasari, daca implementez si a 10 nu mi se mai afiseaza nimik, nici nu zici ca ar trebui sa afiseze ceva, deci display-ul "gol" cod mai jos Dim Na As ByteNa = 0Do debounce pinc.6, 0, count,subloopCount:Na = Na + 1If Na > 30 ThenNa = 0End IfIf Na = 0 ThenI7 = 35I8 = 9End IfIf Na = 1 ThenI6 = 10I7 = 36End IfIf Na = 2 ThenI6 = 10I7 = 37End IfIf Na = 3 ThenI6 = 10I7 = 38End IfIf Na = 4 ThenI6 = 10I7 = 39End IfIf Na = 5 ThenI6 = 10I7 = 40End IfIf Na = 6 ThenI6 = 10I7 = 41End IfIf Na = 7 ThenI6 = 10I7 = 42End IfIf Na = 8 ThenI6 = 10I7 = 43End IfReturndaca mai adaug If na=9 then I7..... end if Nu mai afiseaza nimik, eu vreau sa ajung pana la 30 de apasari. Am inlocuit la DIM am pus Word in loc de byte si tot nimik, am pus Na in loc de N si tot nimik, nu pot trece de valoarea 9! Ceva idei? Link spre comentariu
Cilibiu Postat Decembrie 23, 2010 Autor Partajează Postat Decembrie 23, 2010 Se pare ca de data asta este devina proteusul. Am incarcat programul in atmel si merge perfect, dar in proteus nu merge.Cred ca faiind cracuit, nu citeste program mai mare de 5K, cum depasesc cum nu mai merge afisajul, acum programul meu complet are 7K, Va multmuesc tuturor pentru ajutorul acordat pana acum, am reusit sa temin programul pentru ansamblul care il am.Multa bafta tuturor! Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum