ELEKTROLINE
 I/O a P1-próbapanelen


	
; PROGRAM P1-PRÓBAPANEL
; AZ RA0..RA3 BENETEK ALAPJÁN RB0..RB3 LEDEK VILÁGÍTANAK
; AZ RB7 LED VILLOGÁSA A MŰKÖDÉSJELZŐ 
; JErvin © 2004


	list p=16f84a, f=inhx8m
	#include <p16f84a.inc>
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC BIT equ 0x40 ; Kimeneti maszk LO equ 0x41 ; Időzítő LO-byte HI equ 0x42 ; Időzítő HI-byte ORG 0x0000 ; RESET vektor GOTO START ORG 0x0004 ; INT vektor RETFIE START ; Kezdes BANKSEL TRISB ; BANK1 CLRF TRISB ; PROTB kimenetre állítása MOVLW B'00001111' ; PORTA0..3 bemeneti maszk MOVWF TRISA ; PORTA I/O beállítás BANKSEL PORTB ; BANK0 CLRF PORTB ; PORTB kimenetek törlése MOVLW 0x00 ; Kimeneti maszk alapértéke MOVWF BIT ; Letárolás ISMET COMF BIT ; Kimeneti maszk negálása MOVLW 0x80 ; Maszk a 8.dik LED-nek (RB7) b'10000000' ANDWF BIT, 0 ; Kimeneti maszkból 0..6 bitek törlése eredmény W-be IORWF PORTA, 0 ; W 'VAGY' kapcsolata a PORTA-val MOVWF PORTB ; Kimeneti maszk a PORTB-re MOVLW 0x00 ; 16 bites számláló beállítása MOVWF LO MOVLW 0x80 MOVWF HI T1 ;GOTO ISMET DECFSZ LO, 1 ; LO-Byte csökkentése GOTO T1 ; T1-re, ha nemm nulla DECFSZ HI, 1 ; HI-byte csökkentése GOTO T1 ; T1-re, ha nem nulla GOTO ISMET ; ISMÉT END