Re: 有關pic16f877晶片<組合語言的判斷式如何寫>
|
||||
---|---|---|---|---|
資深會員
|
你寫的 應該是組合語言吧~~~
我還以為我眼花 如果是組語 請愛用 BTFSS & BTFSC 利用 SUBWF 指令 就可以寫出IF判斷式 ~~
發表於: 2009/10/30 23:52
|
|||
|
有關pic16f877晶片<組合語言的判斷式如何寫>
|
||||
---|---|---|---|---|
新會員
|
請問一下大大可以幫忙看一下中間的判斷式要如何寫,因為我们寫的if是錯誤的,就是跳不進去所以7段才不能顯示出數質
可以請版主或高手们教一下嗎 謝謝 list p=16f877A include <p16f877A.inc> __CONFIG _CP_OFF & _WDT_OFF & _XT_OSC & _LVP_OFF & _BODEN_OFF K1 EQU 0x20 ADRESH_Index EQU 0x21 org 0x000 nop Start ;;;;;;;;;;;;; IO initialization ;;;;;;;;;;;;;;;;;;;; banksel TRISB movlw B'00000000' movwf TRISB ; banksel PORTB ; clrf PORTC ;;;;;;;;;;;;; AD Initialization :::::::::::::::::::: banksel ADCON0 movlw B'01000001' movwf ADCON0 banksel ADCON1 movlw B'00001110' movwf ADCON1 ;;;;;;;;;;;;; TMR0 Iitialization ;;;;;;;;;;;;;;;;;;n movlw B'10000111' movwf OPTION_REG ;;;;;;;;;;;; Delay time ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Main banksel INTCON btfss INTCON,T0IF goto Main ;;;;;;;;;;; Start AD ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; bcf INTCON,T0IF bsf ADCON0,GO ;;;;;;;;;;;;;;;; Conversion Time ;;;;;;;;;;;;;;;;;;;; Wait btfss PIR1,ADIF goto Wait if (ADRESH >= B'00000000') & (ADRESH <= B'00000010') movf ADRESH_Index elseif (ADRESH >= B'00000011') & (ADRESH <= B'00000101') movf ADRESH_Index elseif (ADRESH >= B'00000110') & (ADRESH <= B'00001000') movf ADRESH_Index elseif (ADRESH >= B'00001001') & (ADRESH <= B'00001011') movf ADRESH_Index elseif (ADRESH >= B'00001100') & (ADRESH <= B'00001111') movf ADRESH_Index elseif (ADRESH >= B'00010000') & (ADRESH <= B'00010010') movf ADRESH_Index elseif (ADRESH >= B'00010011') & (ADRESH <= B'00010101') movf ADRESH_Index elseif (ADRESH >= B'00010110') & (ADRESH <= B'00011000') movf ADRESH_Index elseif (ADRESH >= B'00011001') & (ADRESH <= B'00011011') movf ADRESH_Index elseif (ADRESH >= B'00011100') & (ADRESH <= B'11111111') movf ADRESH_Index endif call TABLE ;;;;;;;;;;;;;;;;; Output ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; movf ADRESH,W movwf K1 swapf K1,F movf K1,W movwf PORTB ;--------------------------------------------------------- goto Main TABLE banksel ADRESH_Index movf ADRESH_Index,W addwf PCL,F retlw 0x7E retlw 0x30 retlw 0x6D retlw 0x79 retlw 0x33 retlw 0x5B retlw 0x5F retlw 0x70 retlw 0x7F retlw 0x7B end
發表於: 2009/10/30 21:41
|
|||
|