; +----------------------------+ ; | Application pour rigoler ! | ; +----------------------------+ ; +------------------------+ ; | Quelle bête utilisée ? | ; +------------------------+ LIST p=10F206 #include ; +-----------+ ; | La config | ; +-----------+ __CONFIG _MCLRE_OFF & _CP_OFF & _WDT_OFF ; +--------+ ; | Define | ; +--------+ #DEFINE VITESSE .5 ; +-------+ ; | Macro | ; +-------+ ; +-------------------+ ; | Zone de variables | ; +-------------------+ CBLOCK 0x08 cmpt : 1 consigne : 1 ENDC org 0x3FF org 0x00 movwf OSCCAL bcf OSCCAL, FOSC4 init movlw b'11000001' option movlw b'11110000' tris GPIO movlw (MAX - MIN) / 2 movwf consigne main btfsc CMCON0, CMPOUT goto inc_cons goto dec_cons goto main ; Incrément consigne inc_cons movlw VITESSE addwf consigne, W btfsc STATUS, C goto refresh movlw VITESSE addwf consigne, F goto refresh ; Décrement consigne dec_cons movlw VITESSE subwf consigne, W btfsc STATUS, Z goto refresh movlw VITESSE subwf consigne, F goto refresh ; Bah ouais, mais goto comme même ! refresh bsf GPIO, 2 ; Tempo niveau haut movf consigne, W movwf cmpt bcl nop nop nop nop nop nop decfsz cmpt goto bcl bcf GPIO, 2 ; Tempo niveau bas ~20ms ; Oui! c'est crade ! movlw 0xFF movwf cmpt bcl2 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 goto $ + 1 decfsz cmpt goto bcl2 goto main END