Sari la conținut
ELFORUM - Forumul electronistilor

Ajutor programel led


critix

Postări Recomandate

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.

post-28264-139829418691_thumb.jpg

Link spre comentariu
  • Răspunsuri 5
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • Liviu M

    2

  • critix

    2

  • flocin

    1

Top autori în acest subiect

Imagini postate

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

Nu cred ca de aici ti se trage, da' GPIO.0 e definit ca iesire (TRIS.0 = 0), button il vrea ca intrare.

 

Button

Requires Button pin must be configured as input.

 

 

     TRISIO =%11111000...    if Button(GPIO, 0, 10, 0) then
Link spre comentariu

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
  • 2 luni mai târziu...
Vizitator Bruno

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

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 cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări