LIST P = PIC16F877A
#INCLUDE "P16F877A.INC"
__CONFIG _CP_OFF & _WDT_OFF & _XT_OSC & _LVP_OFF
cblock 20h
ss,sp,rr
endc
ORG 0X00
MOVLW 00H
MOVWF PCLATH
CLRF STATUS
GOTO main
;************************************************* ************************************************** *
initport
bsf STATUS,RP0
bsf TRISA,0 ;display enable (input)
movlw 0x00
movwf TRISC ;display output
bsf TRISD,0 ;switch control pin
bsf TRISD,1 ;switch control pin
bcf STATUS,RP0
clrf PORTD
clrf PORTA
return
;************************************************* *************************************************
mainline
btfss PORTD,0 ;switch sensing
goto mainline
movlw 0xfe ;displaying 8
movwf PORTC
bsf PORTA,0 ;display
call delay
bcf PORTA,0
goto mainline
return
;************************************************* *************************************************
;delay
delay
movlw .5
movwf rr
back21
movlw 0xff
movwf sp
back11
decfsz sp,1
goto back11
decfsz rr,1
goto back21
return
;************************************************* ************************************************** ************************************
main
call initport
call mainline
end