(1)因为寄存器都分散在不同的bank里,对寄存器操作时就是转换当前所在的bank。如果你知道是你要操作的寄存器在哪个bank,那么就直接movlb也可以。BANKSEL就是自动的,不用你去查datasheet了。 (2)MOVF:是把一个寄存器内存送入W寄存器中,如 MOVF 8, 0 就是把第8寄存器送到W中,后面是0说明存后F不变。 MOVWF:与上面相反,把W内容存入F寄存器中, 相当于MOV W to F。
(3)常用指令:
CLRF PORTD ;
BCF PORTE ;
MOVLW d'100;
MOVLW k ;
MOVWF ADCON1;
MOVF f, d ;
BSF f, b ;
BCF f, b ;
BTFSC f, b ;
BTFSS f, b ;
(4)一个例子 内置ADC设置
BANKSEL ADCON1 ;
MOVLW B’11110000’;
MOVWF ADCON1 ;
BANKSEL TRISA ;
BSF TRISA,0 ;
BANKSEL ANSELA ;
BSF ANSELA,0 ;
BANKSEL ADCON0 ;
MOVLW B’00000001’ ;
MOVWF ADCON0 ;
CALL SampleTime ;
BSF ADCON0,ADGO ;
BTFSC ADCON0,ADGO ;
GOTO $-1 ;
BANKSEL ADRESH ;
MOVF ADRESH,W ;
MOVWF RESULTHI ;
BANKSEL ADRESL ;
MOVF ADRESL,W ;
MOVWF RESULTLO ;
|