nene to tam je schvalne ze by to zaplo vsechny nebo vyplo vsechny…
LIST P=16F684A, R=DEC
INCLUDE<P16F84A.INC>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_OFF & _XT_OSC
;- Proměnné ----------------------------------------------------
c1 EQU h'12' ;proměnné pro cykly
c2 EQU h'13'
PA equ h'14'
PB EQU h'15'
org 0
BSF STATUS,RP0
movlw b'00101111' ; portb(0) vstup
movwf TRISB
clrf TRISA ; porta jako výstupy
BCF STATUS,RP0
CLRF PORTA
CLRF PORTB
CLRF PA
keyboard
BSF PORTB,7 ; testovani 1 a posledniho sloupce
BTFSC PORTB,5 ; tlačítko 1
BSF PORTA,3
BTFSC PORTB,1 ; tlačitko 6
BCF PORTA,3
BTFSC PORTB,2 ; tlacitko F
CALL zapni
BTFSC PORTB,3 ; tlačítko S
CALL vypni
BCF PORTB,7
CALL cekej
BSF PORTB,6 ; testovani 2 a 4 sloupecek
BTFSC PORTB,5 ; tlačítko 2
BSF PA,4
BTFSC PORTB,1 ; tlačitko 7
BCF PA,4
BTFSC PORTB,2 ; tlacitko 4
BSF PORTA,1
BTFSC PORTB,3 ; tlačítko 9
BCF PORTA,1
BCF PORTB,6
CALL cekej
BSF PORTB,4 ; testovani 3 a 5 sloupecek
BTFSC PORTB,5 ; tlačítko 3
BSF PORTA,2
BTFSC PORTB,1 ; tlačitko 8
BCF PORTA,2
BTFSC PORTB,2 ; tlacitko 5
BSF PORTA,0
BTFSC PORTB,3 ; tlačítko 0
BCF PORTA,0
BCF PORTB,4
CALL cekej
BTFSC PA,4
GOTO hihi
BCF PORTA,4
GOTO hoho
hihi BSF PORTA,4
hoho GOTO keyboard
;- podprogramy -------------------------------------------------
zapni MOVLW b'11111111'
MOVWF PORTA
BSF PA,4
RETURN
vypni BCF PA,4
CLRF PORTA
RETURN
cekej MOVLW 50
MOVWF c2
wait2 MOVLW 100
MOVWF c1
wait1 DECFSZ c1,1
GOTO wait1
DECFSZ c2,1
GOTO wait2
RETURN
END
Tak jsem to sesmolil takhle… neni to dokonaly ale uz to trochu funguje, pouzil jsem tam jeste registr, ale jakmile zapnu RA4 a macknu na jine tlacitko na zapnuti jineho vystupu tak mi ledka na RA4 blika (podle toho jak mam nastaveny to zpozdeni) a kdyz macknu 1 (PORTB,5) tak blika ledka strasne rychle ze sotva svítí. Pri ostatnich sviti hodne a blika pri tlacitku 1 nesviti skoro vubec. Nenapada vas neco? [/code]