;
;**********************************************************************
;                                                                     *
;    FD-1 FLASH DEMO PRÓBAPANEL PROJEKT                               *
;                                                                     *
;**********************************************************************
;                                                                     *
;    Fájlnév:	    TIMER1.ASM                                        *
;    Dátum:         2000.11.12.                                       *
;    Verziószám:    V1.1                                              *
;    #2                                                               *
;                                                                     *
;    Szerző:        Szegő János                                       *
;    Cég neve:      Újpesti Műszaki Szakközépiskola                   *
;    E-mail:	    szego@umszki.hu                                   *
;                                                                     * 
;**********************************************************************
;                                                                     *
;    TMR1 DEMO PROGRAM                                                *
;    -----------------                                                *
;    "Valós idejű óra" alkalmazás.                                    *
;    A Timer1 aszinkron módban fut és 0,5 mp-ként megszakítást kér.   *
;    A TMR1 modul saját oszcillátorát használja, az időzítő elem az   *
;    RC0 és RC1 kivezetések közé kapcsolt 32,768kHz-es kvarc.         *
;    1 mp időzítéssel villogtatja a LED-eket. (kitöltési tényező=50%) *
;                                                                     *
;**********************************************************************
;
;
	list      p=16F877            
	#include <p16F877.inc>         
	__CONFIG _CP_OFF & _WDT_ON & _BODEN_ON & _PWRTE_ON & _HS_OSC & _LVP_OFF
;------------------------------------------------------------------------------
;
;
;
;------------------------------------------------------------------------------
;------------------------------------- FŐPROGRAM ------------------------------
;------------------------------------------------------------------------------
;
		org     0             	; reset vektor
		nop			; MPLAB-ICD miatt szükséges
		goto	Start
;------------------------------------------------------------------------------
		
		org     4             	; IT vektor
		bcf	PIR1,TMR1IF	; Timer1 IT flag törlés
		movlw	B'11111111'
		xorwf	PORTD,1
		movlw	H'C0'		; Timer1=C000h beállítás
		movwf	TMR1H		
		clrf	TMR1L		 
		retfie
;------------------------------------------------------------------------------
;
;
;
;------------------------------------------------------------------------------
; I/O portok konfigurálása
;
Start		bsf	STATUS,RP0	
		bcf	STATUS,RP1	; bank1 kiválasztás
		movlw	14
		movwf	ADCON1		; RA0 analóg bemenet !!!
		movlw	B'00100001'    	; RA0, RA5 bemenet, RA1..4 kimenet
		movwf	TRISA
		movlw	B'11111111'	; PORTC bemenet, (default!)
		movwf	TRISC
		clrf	TRISD		; PORTD kimenet
;------------------------------------------------------------------------------
; Timer1 konfigurálása
;
		movlw	1		; TMR1IE=1
		movwf	PIE1		; Timer1 megszakítás engedélyezés
		bcf	STATUS,RP0	; bank0 kiválasztás
		movlw	14		; Timer1 beállítás: TMR1 oszc. eng.,
		movwf	T1CON		; előosztó=1, aszinkron mód
		clrf	INTCON		; megszakítások tiltása
;------------------------------------------------------------------------------
		bcf	T1CON,TMR1ON	; Timer1 megállítás
		bcf	PIR1,TMR1IF	; Timer1 IT flag törlés
		movlw	H'C0'		; Timer1=C000h beállítás, 
		movwf	TMR1H		; így 0,5 mp-ként kér megszakítást
		clrf	TMR1L		
		movlw	192		; GIE=1, PEIE=1
		movwf	INTCON		; Timer1 IT engedélyezés
		bsf	T1CON,TMR1ON	; Timer1 start
		clrf	PORTD
Loop		goto	Loop		; resetre vár
;------------------------------------------------------------------------------
		end               

