list p=16f84 ;Précise le micro-contrôleur utilisé. f equ 1 porta equ 0x5 ;Indique l'adresse de chaque port portb equ 0x6 ; Delay_i equ 0xc ;Le premier octet de RAM disponible. Long_Delay_i equ 0xd tmp equ 0xe goto Main ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; Sous-routine générant une tempo de 1 ms avec une horloge de 4Mhz pour le PIC. ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Delay movlw 0xff movwf Delay_i L1 nop decfsz Delay_i, f goto L1 return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; Sous-routine générant une tempo de 1 seconde ( environ ). ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Long_Delay movwf tmp movlw 0xff movwf Long_Delay_i L2 call Delay decfsz Long_Delay_i, f goto L2 movf tmp,w return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ;Le code ci-dessous configure tous les ports en tant que sortie. ;Pour configurer une port en tant qu'entrée, il faut mettre à 1 ;le correspondant dans le registre TRIS. ;Exemple: pour utiliser la broche portb0-3 en entrée et toutes les ;autres en sortie, utilisez les instructions ; ; movlw 0x0 ; tris porta ; movlw 0x0F ; tris portb ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Main movlw 0x0 tris porta tris portb movlw 0xff movwf portb L3 call Long_Delay ;Clignotement avec temporisation de 1s. comf portb,f ;complément portb goto L3 end ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;