Wed May 22, 2013 11:12 pm
list p=16f877
include <p16f877.inc>
BANK0 macro
bcf STATUS,RP0
bcf STATUS,RP1
endm
BANK1 macro
bsf STATUS,RP0
bcf STATUS,RP1
endm
BANK2 macro
bcf STATUS, RP0
bsf STATUS,RP1
endm
BANK3 macro
bsf STATUS,RP0
bsf STATUS,RP1.
endm
OFF EQU 0 ;MoTOR ozF
DELAY_TIME EQU 0x20
DELAY_LO EQU 0x21
DELAY_HI EQU 0x22
DELAY_VHI EQU 0x23
; *******
ORG 0
NOP
GOTO START
; *****
;***
; MAIN ROUTINE
ORG 0x20
START CALL INITP ;INIIIAIJSE PORT
AGAIN MOVLW 1 ;SET MoTOR CW
MOVWF PORTE ; AND oUTPtT
MOVLW 0 ;SET MoToR CW
MOVWF PORTA ;AND OUTPUT
ON1 BTFSS PORTA,4 ;TEST FoR IR BIT
GOTO ON1 ;IF NOT SET WAIT
ON2 BTFSC PORTA,4 ;TEST ZR BIT
GOTO 0N2 ;IF SET WAIT
MOVLW 0xFF ;SET MOTOR OFF
MOVWF PORTE ;AND oUTPtT
MOVWF PORTA
CALL OFF_DELAY ;WAIT
GOTO AGAIN ;DO FOR EVER
; SUBROUTINES
; oFF DELAY RoUTIN
OFF_DELAY
MOVLW 0XE0
MOVWF DELAY_LO
MOVLW 0XA1
MOLWF DELAY_HI
MOVLW 0xFF
MOVWF DELAY_VHI
BIG
OUTER
INNER
INCFSZ DELAY_LO,1
GOTO INNER
INCFSZ DELAY_HI,1
GOTO OUTER
INCFSZ DElAY_VHI
GOTO INNER
RETURN
; PORT INITIALISATION
INITP BANK1 ;SET TO BANK 1
MOVLW 06 ;MAKE PORT A DIGITAL
MOVWF ADCON1
BCF PORTA,5 ;MAKE BIT 5 OUTPUT
CLRF TRISE ;SET PORT E TO OUTPUT
BANK0 ; BACK TO BANK 0
RETURN
END
Codemiles.com is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com
Powered by phpBB © phpBB Group.