;
;**********************************************************************
;                                                                     *
;    FD-1 FLASH DEMO PRÓBAPANEL PROJEKT                               *
;                                                                     *
;**********************************************************************
;                                                                     *
;    Fájlnév:	    POTM.ASM                                          *
;    Dátum:         2000.11.10.                                       *
;    Verziószám:    V1.1                                              *
;    #1                                                               *
;                                                                     *
;    Szerző:        Szegő János                                       *
;    Cég neve:      Újpesti Műszaki Szakközépiskola                   *
;    E-mail:	    szego@umszki.hu                                   *
;                                                                     * 
;**********************************************************************
;                                                                     *
;    LED SOR KEZELŐ PROGRAM                                           *
;    ----------------------                                           *
;    Az A/D konverzió eredményét a LED soron jeleníti meg.            *
;    A mintavétel gyakoriságát a TMR0 túlcsordulása határozza meg.    *
;                                                                     *
;**********************************************************************
;
;
;
	list      p=16F877            
	#include <p16F877.inc>         
	__CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _HS_OSC & _LVP_OFF
;------------------------------------------------------------------------------
;
DlyCntr		equ	32
OvfCntr		equ	33
Mutato		equ	35
;
;
;
;------------------------------------------------------------------------------
;------------------------------------- FŐPROGRAM ------------------------------
;------------------------------------------------------------------------------
;
		org     0             	; reset vektor
		nop
		bcf	STATUS,RP0	; bank0 kiválasztás
		bcf	STATUS,RP1
		movlw	B'11000001'	; RC oszcillátor, A/D engedélyezés
		movwf	ADCON0		; 0. csatorna (RA0) kiválasztás
		bsf	STATUS,RP0	; bank1 kiválasztás
		movlw	B'10000111'	; TMR0 előosztó= 1:256
		movwf	OPTION_REG
		movlw	14
		movwf	ADCON1		; RA0 analóg bemenet !!!
		movlw	B'11111111'    	; PORTA bemenet
		movwf	TRISA
		clrf	TRISD		; PORTD kimenet
		bcf	STATUS,RP0	; bank0 kiválasztás
		clrf	PORTD
		movlw	10		; TMR0 túlcsordulás számláló kezdeti
		movwf	OvfCntr		; értéke 10
;------------------------------------------------------------------------------
; A TMR0 túlcsordulás nem okoz megszakítást, (hiszen azt nem is engedélyeztük)
; de bekövetkeztét a T0IF flag vizsgálatával figyeljük.
; A/D konverziót minden 10. TMR0 túlcsordulásra végzünk.
;
Start		btfss	INTCON,T0IF	; TMR0 túlcsordulás volt?
		goto	Start		; még nem
;------------------------------------------------------------------------------
		bcf	INTCON,T0IF	; igen, flag törlés
		decfsz	OvfCntr,1	; túlcsordulás számláló dekrementálása
		goto	Start		; még nem 0
;------------------------------------------------------------------------------
		movlw	10		; mintavétel 10 túlcsordulásonként
		movwf	OvfCntr		; számláló visszaállítás
		bcf	INTCON,T0IF	; igen, flag törlés
		bsf	ADCON0,GO	; A/D konverzió start
Wait		btfss	PIR1,ADIF	; várakozás a teljes konverzióra
	        goto	Wait
;------------------------------------------------------------------------------
		movf	ADRESH,0	; ADRESH tartalmának kijelzése
		movwf	PORTD		; a LED soron
		goto	Start
;------------------------------------------------------------------------------
		end      
		
		

