pic 12c508a program kérdés

Ferenc Toth toferi2 at freemail.hu
Thu Dec 8 08:48:55 CET 2005


Sziasztok,én még csak egésszen kezdo vagyok a picben és már egy egésszen
egyszerü programban is elvéreztem ,ezért kérem a segitségeteket.Hol lehet a
hiba? Azt kellene megoldanom,hogy egy nyomógom megnyomására (gp5) egy
kimenet (gp0) 1 sec körüli idore magasra áljon majd várjon 1 secet és ismét
figyelje a bemenetet ha ismét történik egy gombnyomás akkor egy másik
kimenetet (gp1) állitson magasra 1 sec ideig majd várjon 1 sec-ig és kezdje
elölrol az egésszet.
Na most ezt éppen nem csinálja.
üdv Feri



 list     P=12C508A                ; Processzor
 #include p12C508A.inc    ; A szuks,ges INC fajl
 __CONFIG _IntRC_OSC&_WDT_OFF&_CP_OFF&_MCLRE_OFF      ; Konfiguracios bitek


TIMER1 equ 0
TIMER2 EQU 1
TIMER3 EQU 2


     ;PROGRAM INDITÁSA
 ORG 0

 MOVLW B'110000'         ;A GP0...3 KIMENETEK A GP4 ÉS 5 BEMENETEK
 TRIS GPIO
 CLRF GPIO          ;KIMENETEK 0 RA
ELSO
 BTFSS GPIO,5        ;AZ 5 BEMENET FIGYELÉSE HA 1 AKKOR ÁTUGORJA A
KÖVERTKEZÖT
 GOTO ELSO
 BSF GPIO,0            ; AZ 0  KIMENET MAGASRA
 CALL KESL1  ;késleltetés
 BCF GPIO,0          ;KIMENET VISSZA 0 RA
 CALL KESL1
MASOD
 BTFSS GPIO,5        ;AZ 5 BEMENET FIGYELÉSE
 GOTO MASOD
 BSF GPIO,1    ;MOST A 1 BEMENET MAGASRA
 CALL KESL1       ;1SEC IDÖZITÉS
 BCF GPIO,1          ;1 KIMENET 0 RA
 CALL KESL1       ;2 SEC IDÖZITÉS MEGHIVÁSA
 GOTO ELSO        ;  VISSZA AZ ELSÖRE

KESL1
 MOVLW H'FF'      ;A TIMER EKET FELTÖLTI 255 EL
 MOVWF TIMER1
 MOVLW H'FF'
 MOVWF TIMER2
 MOVLW H'40'
 MOVWF TIMER3

KESL DECFSZ TIMER1,1  ;ÉS ABBÓL SZÁMOL LEFELÉ MAJD HA NULL AKKOR ÁTLÉPI A
GOTOT
 GOTO KESL
 DECFSZ TIMER2,1
 GOTO KESL
 DECFSZ TIMER3,1
 RETLW 0   ;VISSZA A SZUBRUTINBOL W ÉRTÉK 0




 END





More information about the Elektro mailing list