Knight Rider Light Effect - KITT Scanner with 8 leds and PIC microcontroller
 home
 
 

Knight rider light with Pic16F84A


Knight Rider light effect - schematics

Knight rider light schematics

This programm use the internal eeprom to store the data. The contents of eeprom it is diplayed on portb.


Source code file for knight rider light
;=======Knight.ASM=================================19/03/03==
;     internal clock
;     standard crystal 4MHz, 1us/instructiune
;------------------------------------------------------------
;     configure programmer
	list	p=16f84A;f=inhx8m
	#INCLUDE P16F84.INC
_CP_OFF	equ	H'3FFF'	      ;code protect off
_PwRTE_ON	equ	H'3FFF' 		;Power on timer on
_wDT_OFF	equ	H'3FFB'		;watch dog timer off
_XT_OSC	equ	H'3FFD'		;crystal oscillator
	__CONFIG       _CP_OFF & _PwRTE_ON & _wDT_OFF & _XT_OSC
;------------------------------------------------------------
;      cpu init
count1	equ	0C
count2	equ	0D
count3	equ	0E
count4	equ	0F
;------------------------------------------------------------
;------------------------------------------------------------
	org	0x00
	goto	init
	org	0x04
;*****************************************************************
init   
	bsf 	STATUS,RP0	; SET BANK = 1.
	movlw	B'00000000'	; SET PORTB TO ALL OUTPUT.
	movwf	TRISB
	bcf 	STATUS,RP0	; SET BANK = 0.
;*****************************************************************
start	movlw	0x0E	  
	movwf	count4
	movlw	B'00000000' 
	movwf	EEADR
urma	call	EEPROMREAD
	movwf	PORTB
	call	stepp
	clrf	PORTB 
	incf	EEADR,F 
	decfsz  count4,f
	goto	urma
	goto	start
;******************************************************************
EEPROMREAD	
	BSF	STATUS,5	; SET TO BANK 1
	BSF	EECON1,00	; INITIATES AN EEPROM READ
	BCF	STATUS,5	; SET TO BANK 0
	MOVF	EEDATA,W	; TRANSFER EEDATA DIN EEPROM IN W
	RETURN
;*****************************************************************
stepp	movlw	0x02	  
	movwf   count3
pas3	movlw	0xff	  
	movwf   count2
pas2	movlw	0xff	  
	movwf   count1
pas1	decfsz  count1,f	; decrement and skip next line if zero
	goto	pas1		; if not zero
	decfsz  count2,f
	goto	pas2	
	decfsz  count3,f
	goto	pas3
	retlw	00
;*****************************************************************
	ORG	0x2100
	de	0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80
	de	0x40,0x20,0x10,0x08,0x04,0x02
	end
;============================================================
Back to home page
Last updated March, 2003
© Copyright 2003 Bergthaller Iulian-Alexandru
 
eXTReMe Tracker