critix Postat Aprilie 12, 2012 Partajează Postat Aprilie 12, 2012 Salut Doream sa fac un programel micut cu PIC 12F675 sa faca urmatorul lucru: la alimentarea CI sa citeasca mem. eeprom al pic de pe poz 0 si sa palpaie de x ori cat e valoarea in eeprom. Apoi daca apas pe buton sa imi memoreze in eeprom pe poz 0 valoarea incrementata, si sa astepte sa apas pe buton. Acum merge asa: citeste, palpaie de x ori, apoi iar palpaie de x ori... si tot asa... Atasez schema si programul facut, care nu functioneaza, si nu stiu ce sa ii mai fac. Poate imi puteti da o idee... Multumesc program Button_Testsub procedure led(dim count as byte)dim loop1 as byte for loop1 = 1 to count GPIO.0 = 1 delay_ms(250) GPIO.0 = 0 delay_ms(250) next loop1end subdim a as bytemain: ANSEL = 0 CMCON = 7 GPIO = 0 TRISIO =%11111000 a=EEPROM_Read(0)if (a >= 0) then led(a)end ifwhile TRUE if Button(GPIO, 0, 10, 0) then a=a+1 if a=8 then a=0 end if EEPROM_Write(0,a) end ifwendend. Link spre comentariu
Liviu M Postat Aprilie 12, 2012 Partajează Postat Aprilie 12, 2012 Ce face comanda Button(GPIO, 0, 10, 0)? Link spre comentariu
critix Postat Aprilie 12, 2012 Autor Partajează Postat Aprilie 12, 2012 ButtonPrototype sub function Button(dim byref port as byte, dim pin, time, active_state as byte) as byte Returns Returns 0 or 255. Description Function eliminates the influence of contact flickering upon pressing a button (debouncing).Parameter port specifies the location of the button; parameter pin is the pin number on designated port and goes from 0..7; parameter time is a debounce period in milliseconds; parameter active_state can be either 0 or 1, and it determines if the button is active upon logical zero or logical one. Requires Button pin must be configured as input. Example Example reads RB0, to which the button is connected; on transition from 1 to 0 (release of button), PORTD is inverted:while true if Button(PORTB, 0, 1, 1) then oldstate = 255 end if if oldstate and Button(PORTB, 0, 1, 0) then PORTD = not(PORTD) oldstate = 0 end ifwend Link spre comentariu
Liviu M Postat Aprilie 12, 2012 Partajează Postat Aprilie 12, 2012 Nu cred ca de aici ti se trage, da' GPIO.0 e definit ca iesire (TRIS.0 = 0), button il vrea ca intrare. ButtonRequires Button pin must be configured as input. TRISIO =%11111000... if Button(GPIO, 0, 10, 0) then Link spre comentariu
flocin Postat Aprilie 12, 2012 Partajează Postat Aprilie 12, 2012 salut!"Requires Button pin must be configured as input."in schema apare ca folosesti acelasi pin si ca iesire si ca intrare . cum e legat butonul acum (nu e la masa) nu ai cum sa obtii "0" pe intrare.ps: ce "basic" e asta ? Link spre comentariu
Vizitator Bruno Postat Iulie 11, 2012 Partajează Postat Iulie 11, 2012 daca vrei poti citi un mic programel aici:RGB led mood light iar pe YOU TUBE il poti vedea cum merge aici:Grozav Adrian.Eu l-am facut pentru un student cu PIC 12F629 si am mai pus niste comenzi in plus[doar montajul softul e gratis] 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