www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Dve tipki in izhodni impulzi

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
California
Član
Član



Pridružen-a: Pet 26 Avg 2005 19:48
Prispevkov: 236
Aktiv.: 1.00
Kraj: Hrastnik

PrispevekObjavljeno: Čet Nov 17, 2005 8:42 pm    Naslov sporočila:  Dve tipki in izhodni impulzi Odgovori s citatom

Pozdravljeni, dve tipki (RA0 in RB0) simulirata dva digitalna vhoda, na izhodih (RA1 in RB1) naj bi se z vsakim pritiskom tipke pojavil impulz in tu se pojavi problem, namreč ob istočasnem pritisku se pojavi impulz le na enem izhodu. Torej jasna stvar, kako narediti (če je mogoče) neodvisno odzivanje obeh izhodov na pritisk pripadajoče tipke (vhod RA0-izhod RA1, vhod RB0-izhod RB1)?

list p=16f84a
#include <p16f84a.inc>

__CONFIG _WDT_OFF & _PWRTE_ON & _CP_OFF & _HS_OSC



stevec1 equ 0x0C ;prvi stevec za pavzo
stevec2 equ 0x0D ;drugi stevec za pavzo


;...................................................................
;nastavitve PORTA (ov)
;...................................................................
program

bsf STATUS,5 ;GREMO v Bank 1
movlw 1 ;naložimo enko v reg. w
movwf TRISA ;nastavimo vse pine kot izhode razen prvega
movwf TRISB ; .."..
bcf STATUS,5 ;nazaj v Bank 0
btfss PORTA,0 ;testiraj vhod RA0
goto zacniB
goto zacni
zacniB
btfss PORTB,0 ;testiraj vhod RB0
goto program
goto zacni2

;...................................................................
;prižgimo LED
;...................................................................

zacni movlw 2 ;naložimo 2 v reg.w
movwf PORTA ;pin RA2 je visok, LED gori
call pavza


;.....................................................................
;konec pavze, ugasni LED
;.....................................................................

movlw 0 ;naloži 0 v w
movwf PORTA ;vsi biti PORTA nizko
call pavza

goto blokada
;.....................................................................
zacni2
movlw 2 ;naložimo 2 v reg.w
movwf PORTB ;pin RB2 je visok, LED gori
call pavza
;.....................................................................
;konec pavze, ugasni LED
;.....................................................................

movlw 0 ;naloži 0 v w
movwf PORTB ;vsi biti PORTB nizko
call pavza

goto blokada2
; Podprogrami
;.....................................................................
;pavza
;.....................................................................
pavza

movlw 255 ;v w naložimo vrednost 255
movwf stevec1 ;vpišemo v stevec1
movwf stevec2 ;vpisemo v stevec2
;ostane v w

;.....................................................................
;zanka
;.....................................................................

zanka
decfsz stevec1,1 ;odštej 1 od 255
goto zanka ;ce ni 0, nazaj na zanka1, drugače naprej
decfsz stevec2,1 ;odštej 1 od 255
goto zanka ;ce ni 0, nazaj na zanka1, drugače naprej

return
blokada
btfss PORTA,0 ;testira tipko in ne dovoli vklopa LED če je pritisnjena
goto program
goto blokada
blokada2
btfss PORTB,0
goto program
goto blokada2


end ;konec programa (za prevajalnik)

_________________
California
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Djurodrljaca
Član
Član



Pridružen-a: Pet 19 Dec 2003 16:31
Prispevkov: 393
Aktiv.: 1.66
Kraj: Mengeš

PrispevekObjavljeno: Čet Nov 17, 2005 8:54 pm    Naslov sporočila:   Odgovori s citatom

Priporočam ti, da po tem, ko zabeležiš, da je ena tipka pritisnjena, preveriš stanje druge tipke in primerno ukrepaš.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 492 dni


Powered by phpBB © 2001, 2005 phpBB Group