Stopwatch Assembly

list include p=pic16f84a p16f84a.inc ;**************** Label Definition ORG #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE

Views 161 Downloads 0 File size 23KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

list include

p=pic16f84a p16f84a.inc

;****************

Label Definition

ORG #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE

0x00 E PORTA,0 RS PORTA,1 START PORTA,2 STOP PORTA,3 RESET PORTA,4

D1 D2 D3 COUNT1 COUNT2

EQU EQU EQU EQU EQU

0X12 0X13 0X14 0X15 0X16

pallo CLRF CLRF

PORTA PORTB

BSF STATUS,RP0 CLRF TRISB MOVLW 0X1C MOVWF TRISA BCF STATUS,RP0 MOVLW MOVWF MOVWF MOVWF MOVWF MOVWF

0X01 0X0D 0X0E 0X30 0X31 0X32

CALL

DELAY_0.01S

CALL CALL

FUNCSET DIS_ON

CALL

ADDRS_START

MOVF CALL BSF MOVWF CALL CALL INCF XORLW BTFSC GOTO INCF GOTO

0F,W TEXT RS PORTB PULSE_E Delay_125ms 0F,W D'8' 03,02 $+03 0F,F $-0B

********************

TIME1 CALL CLRF

ADDRS_TIME 0X0F

MOVF CALL BSF MOVWF CALL CALL INCF XORLW BTFSC GOTO INCF GOTO

0F,W TIMER RS PORTB PULSE_E Delay_125ms 0F,W D'10' 03,02 SW 0F,F $-0B

SW BTFSC START GOTO SW

MMSEC1 CALL CLRF

ADDRS_START 0X0F

MOVF CALL BSF MOVWF CALL CALL INCF XORLW BTFSC GOTO INCF GOTO

0F,W RUN

CALL

ADDRS_MMSEC

RS PORTB PULSE_E Delay_125ms 0F,W D'8' 03,02 MMSEC 0F,F $-0B

MMSEC ULE

BTFSS STOP GOTO STOP1 MOVF CALL BSF MOVWF CALL CALL

0D,W NO

RS PORTB PULSE_E DELAY_0.01S

CALL DIS_CURSOR_SHIFT_LEFT INCF 0D,W XORLW D'10'

BTFSC 03,02 GOTO MSEC INCF 0D,F BTFSS STOP GOTO STOP1 GOTO ULE MSEC CALL MOVF CALL BSF MOVWF CALL CALL

ADDRS_MSEC 0E,W NO RS PORTB PULSE_E Delay_125ms

CALL CLRF MOVF CALL BSF MOVWF CALL INCF

ADDRS_MMSEC 0D 0D,W NO RS PORTB PULSE_E 0D,F

INCF XORLW BTFSC GOTO INCF GOTO

0E,W D'11' 03,02 SEC 0E,F MMSEC

ADDRS_MMSEC BCF RS CALL Delay_125ms MOVLW 0xCA MOVWF PORTB CALL PULSE_E CALL Delay_125ms RETURN SEC CALL MOVF CALL BSF MOVWF CALL CALL

ADDRS_SEC 30,W NO RS PORTB PULSE_E Delay_125ms

CALL CLRF MOVF CALL BSF MOVWF CALL

ADDRS_MSEC 0E 0E,W NO RS PORTB PULSE_E

INCF

0E,F

CALL CLRF MOVF CALL BSF MOVWF CALL INCF

ADDRS_MMSEC 0D 0D,W NO RS PORTB PULSE_E 0D,F

INCF XORLW BTFSC GOTO INCF GOTO

30,W D'7' 03,02 NEXT_SEC 30,F MMSEC

NEXT_SEC CALL MOVF CALL BSF MOVWF CALL CALL

ADDRS_NEXTSEC 31,W NO RS PORTB PULSE_E Delay_125ms

CALL CLRF MOVF CALL BSF MOVWF CALL INCF

ADDRS_SEC 30 30,W NO RS PORTB PULSE_E 30,F

CALL CLRF MOVF CALL BSF MOVWF CALL INCF

ADDRS_MSEC 0E 0E,W NO RS PORTB PULSE_E 0E,F

CALL CLRF MOVF CALL BSF MOVWF CALL INCF

ADDRS_MMSEC 0D 0D,W NO RS PORTB PULSE_E 0D,F

INCF 31,W XORLW D'11' BTFSC 03,02

STOP1 STOPT

GOTO INCF GOTO

$+3 31,F MMSEC

CALL CLRF

ADDRS_START 0X0F

MOVF CALL BSF MOVWF CALL CALL INCF XORLW BTFSC GOTO INCF GOTO

0F,W TEXT_STOP1 RS PORTB PULSE_E Delay_125ms 0F,W D'8' 03,02 BENTI 0F,F STOPT

BENTI BTFSS RESET GOTO pallo BTFSS START GOTO MMSEC1 GOTO BENTI PULSE_E Call BSF Call BCF CALL RETLW NO

Delay_125ms E Delay_125ms E Delay_125ms 0

MOVWF RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW

PCL '0' '1' '2' '3' '4' '5' '6' '7' '8' '9'

MOVWF RETLW RETLW RETLW RETLW

PCL 'S' 'T' 'A' 'R'

TEXT

RUN

RETLW RETLW RETLW RETLW

'T' 0X20 0X20 0X20

MOVWF RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW

PCL 'R' 'U' 'N' 'N' 'I' 'N' 'G' '!'

MOVWF RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW

PCL '0' '0' ':' '0' '0' ':' '0' '0' '.' '0'

TIMER

TEXT_STOP1 MOVWF RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW

PCL 'S' 'T' 'O' 'P' '!' '!' 0X20 0X20

FUNCSET BCF RS CALL Delay_125ms MOVLW 0x38 MOVWF PORTB CALL PULSE_E CALL Delay_125ms RETURN DIS_ON BCF RS CALL Delay_125ms MOVLW 0x0C MOVWF PORTB CALL PULSE_E CALL Delay_125ms RETURN

ENTRY_MODE BCF RS CALL Delay_125ms MOVLW 0x06 MOVWF PORTB CALL PULSE_E CALL Delay_125ms RETURN ADDRS_MSEC BCF RS CALL Delay_125ms MOVLW 0xC8 MOVWF PORTB CALL PULSE_E CALL Delay_125ms RETURN ADDRS_SEC BCF RS CALL Delay_125ms MOVLW 0xC7 MOVWF PORTB CALL PULSE_E CALL Delay_125ms RETURN ADDRS_NEXTSEC BCF RS CALL Delay_125ms MOVLW 0xC5 MOVWF PORTB CALL PULSE_E CALL Delay_125ms RETURN ADDRS_START BCF RS CALL Delay_125ms MOVLW 0x85 MOVWF PORTB CALL PULSE_E CALL Delay_125ms RETURN ADDRS_TIME BCF RS CALL Delay_125ms MOVLW 0xC1 MOVWF PORTB CALL PULSE_E CALL Delay_125ms RETURN DIS_CURSOR_SHIFT_LEFT BCF RS CALL Delay_125ms

MOVLW 0x10 MOVWF PORTB CALL PULSE_E CALL Delay_125ms RETURN ;------Delay-delay-----DELAY_0.1S MOVLW D'50' MOVWF D3 MOVLW D'13' MOVWF D2 MOVLW D'50' MOVWF D1 DECFSZ D1 GOTO $-1 DECFSZ D2 GOTO $-5 DECFSZ D3 GOTO $-9 RETURN DELAY_0.01S MOVLW D'50' MOVWF D3 MOVLW D'14' MOVWF D2 MOVLW D'50' MOVWF D1 DECFSZ D1 GOTO $-1 DECFSZ D2 GOTO $-5 DECFSZ D3 GOTO $-9 RETURN Delay_125ms MOVLW D'42' ;Repeat 42 cycle MOVWF COUNT1 DECFSZ COUNT1 GOTO $-1 RETURN ;-------ABIH DOH LA---END