
;-------------------------------------------------------------------
;6x7 szegmenses kijelző rutin
;PARSIC-ban mainprogramként kell hívni.
; 
;Változók: (parsicban definiálni kell őket)
;
;TEMP -segédbájt, parsicban nem szabad írni
;EGY KETTO HAROM NEGY OT HAT -kijelzők értékei, 
; táblázatban kell meghatározni a számokhoz tartozó értéket a parsicban.
; 
;Kimenetek:
;PORTB,0-6  -szegmensek, dp
;PORTB,7	-DP
;PORTC 0-5  -kijelzők
;
;
;-------------------------------------------------------------------
;
;Ezt a részt egy másik include fájlba kell tenni, amit "end of initialization" -al kell hívni,
;mert a nem használt portokat a parsic bemenetnek állítja be.
;
;	BSF STATUS,RP0			;PORTB,0-7 beállítása kimenetnek (SZEGMENSEK)
;	MOVLW B'00000000'
;	MOVWF TRISB
;
;	MOVLW B'11000000'		;PORTC,0-5 beállítása kimenetnek (KIJELZŐK)
;	MOVWF TRISC
;	BCF STATUS,RP0	
;-------------------------------------------------------------------

	

	BTFSC TEMP,4			;itt ciklusonként mindig a következő kijelzőhöz ugrik
	GOTO HATODIK
	BTFSC TEMP,3
	GOTO OTODIK
	BTFSC TEMP,2
	GOTO NEGYEDIK
	BTFSC TEMP,1
	GOTO HARMADIK
	BTFSC TEMP,0
	GOTO MASODIK


	
;-----------első kijelző-------------------------

	BSF TEMP,0			;Seteli a segédbitet, hogy következő ciklusban a következő kijelzőhöz ugorjon
	BCF PORTC,5			;Kikapcsolja az előző kijelzőt

	MOVFW	EGY			;Betölti a szegmens értékeket a kimenetre
	MOVWF	PORTB		

	BCF PORTB,7			;ha kell tizedes pont erre a kijelzőre, akkor: BSF, ha nem akkor BCF
	
	BSF PORTC,0			;Bekapcsolja a kijelzőt
	
	GOTO VEGE			;Ugrás a végére

;-----------második kijelző----------------------
MASODIK

	BSF TEMP,1			
	BCF PORTC,0		

	MOVFW	KETTO		
	MOVWF	PORTB		

	BCF PORTB,7				
	
	BSF PORTC,1		
	
	GOTO VEGE		

;-----------harmadik kijelző---------------------
HARMADIK

	BSF TEMP,2			
	BCF PORTC,1		

	MOVFW	HAROM		
	MOVWF	PORTB		

	BCF PORTB,7				
	
	BSF PORTC,2		
	
	GOTO VEGE		

;-----------negyedik kijelző---------------------
NEGYEDIK
	
	BSF TEMP,3			
	BCF PORTC,2		

	MOVFW	NEGY		
	MOVWF	PORTB		

	BCF PORTB,7				
	
	BSF PORTC,3		
	
	GOTO VEGE	
	
;-----------ötödik kijelző-----------------------
OTODIK

	BSF TEMP,4			
	BCF PORTC,3		

	MOVFW	OT		
	MOVWF	PORTB		

	BCF PORTB,7				
	
	BSF PORTC,4		
	
	GOTO VEGE		
	
;-----------hatodik kijelző----------------------
HATODIK

	MOVLW 0				;kikapcsol minden segédbitet, hogy újra előről kezdje
	MOVWF TEMP			
	
	BCF PORTC,4
	
	MOVFW	HAT		
	MOVWF	PORTB		

	BCF PORTB,7			
	
	BSF PORTC,5

VEGE
