Programmation PIC16F84 : PORTA, PORTB, Comparaisons et TMR0

Mathématiques2,42 KB

Initialisation du PORTA

· Initialisation du PORTA :

BCF STATUS,RP0
BCF STATUS,RP1
CLRF PORTA
BSF STATUS,RP0
MOVLW 0x06
MOVWF ADCON1
MOVLW 0xCF
MOVWF TRISA

Initialisation du PORTB

· Initialisation du PORTB :

BCF PORTB,7
BCF PORTB,6
BSF STATUS,RP0
BCF TRISB,7
BCF TRISB,6

Sauvegarde de W et du registre STATUS

· Sauvegarder W et STATUS :

MOVWF Wtemp
SWAPF STATUS,W
BCF STATUS,RP0
BCF STATUS,RP1
MOVWF STATUStemp
MOVF PCLATH,W
MOVWF PCLATHtemp

Programme de 0x100 à WAIT

· De 0x100 à WAIT :

ORG 0x100
MOVLW 0x10
MOVWF PCLATH
MOVF TECLA,W
CALL TABLA
CLRF PCLATH

WAIT GOTO WAIT

ORG 0x1000

TABLA ADDWF PCL,F
RETLW 0x01
…
RETLW 0x0F

END

Comparaison Mayor et Menor o igual

· Mayor y Menor o igual :

MOVF NUM1,W
SUBLW 'NUM2'
BTFSS STATUS,C
GOTO MAYOR
GOTO MENOR_O_IGUAL

Comparaison Menor et Mayor o igual

· Menor y Mayor o igual :

MOVLW 'NUM2'
SUBWF NUM1,W
BTFSC STATUS,C
GOTO MAYOR_O_IGUAL
GOTO MENOR

Configuration du timer TMR0

· TMR0 :

BSF STATUS,RP0
MOVLW b'xxxxxxxx'
MOVWF OPTION_REG
CLRF TRISD
BCF STATUS,RP0
MOVLW d'__'
MOVWF TMR0
CLRF PORTD
MOVLW d'1'

Boucle de scrutation du drapeau TMR0

NO_FLAG BTFSS INTCON,T0IF
GOTO NO_FLAG
XORWF PORTD,F
BCF INTCON,T0IF
GOTO NO_FLAG

Télécharger

PDF Word HTML