; Mark Crosbie 9/12/98 mark@mastincrosbie.com ; Scope test program. Flash an LED at a high frequency ; to observe changes. ; ; The Program simply sets up Bit 0 of Port "A" to Output and then ; loops, setting the value alternatively low and high ; ; Hardware Notes: ; Reset is tied through a 4.7K Resistor to Vcc and PWRT is Enabled ; A 220 Ohm Resistor and LED is attached to PORTA.0 and Vcc ; ; device pic16c84 include "p16c84.h" __CONFIG _CP_OFF & _WDT_OFF & _XT_OSC & _PWRTE_ON ; Mainline of FlashFast org 0 clrf PORTA ; Clear all the Bits in Port "a" clrf STATUS bsf STATUS, RP0 ; Goto Bank 1 to set Port Direction bcf TRISA, 0 ; Set RA0 to Output bcf STATUS, RP0 ; Go back to Bank 0 Loop movlw 1 ; Turn on the LED on Port A movwf PORTA ; movlw 5 call mdelay ; 5 uS delay movlw 0 ; Turn off the LED on Port A movwf PORTA ; movlw 5 call mdelay ; 5uS delay goto Loop ; counter variables CNT dt 0 CNT1 dt 0 CNT2 dt 0 CNT3 dt 0 CNT4 dt 0 ; delay for w uS. Set the w register to the desired delay value MDELAY: MOVWF CNT ;LOAD DELAY TIME COUNT: NOP ;TWO NO OPERATIONS NOP ;TO OBTAIN THE DELAY DECFSZ CNT,1 ;DECREMENT THE COUNTER GOTO COUNT ;GOTO COUNT IF NOT FINNISHED RETURN end