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