當前位置:編程學習大全網 - 編程語言 - 匯編語言編程 秒表程序

匯編語言編程 秒表程序

直接發給妳把

PROCESSOR 16C74

INCLUDE "P16C74B.INC "

SEC EQU 0X23 ;

MSEC EQU 0x24

TEMP1 EQU 0X22

FLAG2 EQU 0X28

ORG 0x00

GOTO START

ORG 0x04 ; 設定中斷向量

BCF STATUS,RP0

BTFSC INTCON,T0IF ; 判斷TIER0中斷標誌位是否被設置

GOTO TMR0_ISR ; 若是,則去執行TIMER0中斷子程序

RETFIE

START:

CALL PIC_INIT ;去設置端口、TIMER0工作模式

BSF INTCON,GIE

BSF INTCON,T0IE

MAIN_LOOP:

;程序的主體是個無限循環

BTFSC FLAG2,7

CALL DISPLAY

GOTO MAIN_LOOP

PIC_INIT:

CLRF INTCON

BCF INTCON,T0IE

BSF STATUS,RP0

MOVLW B'00000000' ;B’XXXXXXXX’表示單引號中的數是二

MOVWF TRISB

MOVLW B'00000000'

MOVWF TRISC

BCF STATUS,RP0

MOVLW B'11000000' ;B’XXXXXXXX’表示單引號中的數是二

MOVWF PORTB

MOVLW B'11000000'

MOVWF PORTC

BSF STATUS,RP0

MOVLW B'11000100'

MOVWF OPTION_REG ; 對TIMER0工作模式進行設置,32分頻

BCF STATUS,RP0

MOVLW 0X06

MOVWF TMR0

CLRF SEC

CLRF MSEC

CLRF TEMP1

CLRF FLAG2

RETURN

TMR0_ISR:

CLRWDT

BSF FLAG2,7

BCF INTCON,T0IF

MOVLW 0X06

MOVWF TMR0

CLRWDT

INCF TEMP1,1

MOVF TEMP1,0

SUBLW .125 ;125-TEMP

BTFSS STATUS,2

RETFIE

CLRWDT

CLRF TEMP1

INCF MSEC,1

RETFIE

DISPLAY:

MOVF MSEC,0

SUBLW .10

BTFSS STATUS,2

GOTO NEXT_1

CLRWDT

CLRF MSEC

INCF SEC,1

MOVF SEC,0

SUBLW .6

BTFSS STATUS,2

GOTO NEXT_1

CLRF SEC

NEXT_1:

CLRWDT

MOVF MSEC,W

CALL CHAR_CODE

MOVWF PORTC

MOVF SEC,W

CALL CHAR_CODE

MOVWF PORTB

BCF FLAG2,7

RETURN

CHAR_CODE:

ADDWF PCL,1 ;PCL+=W

RETLW B'11000000' ; Code for 0

RETLW B'11111001' ; Code for 1

RETLW B'10100100' ; Code for 2

RETLW B'10110000' ; Code for 3

RETLW B'10011001' ; Code for 4

RETLW B'10010010' ; Code for 5

RETLW B'10000010' ; Code for 6

RETLW B'11111000' ; Code for 7

RETLW B'10000000' ; Code for 8

RETLW B'10010000' ; Code for 9

END

  • 上一篇:海信TC21R88如何進入總線?
  • 下一篇:王仁波人物介紹
  • copyright 2024編程學習大全網