;**************************************************************************
;
; This Program developed by Peter Hayles for PIC 16C711
;
; Flashes the LEDs on B1 and B2.
; The LEDs should be connected from B1 and B2 to ground
; with a 100 ohm resistor in series .
;
;**************************************************************************
#include "p16c711.inc"
LIST P=16C711
;--------------------------------------------------------------------------
; Variables
;--------------------------------------------------------------------------
RAM EQU 0x30
Portin EQU RAM+0
Loop1 EQU RAM+1
Loop2 EQU RAM+2
Loop EQU RAM+3
;--------------------------------------------------------------------------
; Program Code
;--------------------------------------------------------------------------
ORG 0
GOTO Start
;--------------------------------------------------------------------------
; Main Program
;--------------------------------------------------------------------------
ORG H'05'
Start
BCF STATUS,RP0 ;Clear Data Bus
CLRF PORTB
CLRF PORTA
BSF STATUS,RP0 ;Set Port B 0=Input & 1-7=Output
MOVLW B'00000001'
MOVWF TRISB
BCF STATUS,RP0 ;Clear Data Bus
Again
MOVLW B'00000110' ;Set Outputs to HI, HI
MOVWF PORTB
Call Delay
MOVLW B'00000100' ;Set Outputs to HI, LO
MOVWF PORTB
Call Delay
MOVLW B'00000010' ;Set Outputs to LO, HI
MOVWF PORTB
Call Delay
MOVLW B'00000100' ;Set Outputs to HI, LO
MOVWF PORTB
Call Delay
MOVLW B'00000010' ;Set Outputs to LO, HI
MOVWF PORTB
Call Delay
MOVLW B'00000100' ;Set Outputs to HI, LO
MOVWF PORTB
Call Delay
MOVLW B'00000010' ;Set Outputs to LO, HI
MOVWF PORTB
Call Delay
GOTO Again
; This routine is two nested delays
Delay MOVLW H'20'
MOVWF Loop1
More1 MOVLW H'FF'
MOVWF Loop2
More2 NOP
DECFSZ Loop2,F
GOTO More2
DECFSZ Loop1,F
GOTO More1
RETLW 0
END
|