[bac+8] Que fais ce programme ?

[USDC]
2023-04-24 07:51:19

; Configuration des registres du microcontrôleur
list p=16F877A ; Définit le modèle de microcontrôleur
#include <p16f877a.inc> ; Inclut les fichiers d'en-tête du PIC16F877A
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC ; Configure les bits de configuration

; Définition des constantes et des variables
cblock 0x20 ; Définit l'espace mémoire réservé pour les variables locales
temp endc
LED equ RD2 ; Définit la broche de sortie pour la LED

; Début du programme principal
org 0x00 ; Définit l'adresse de départ du programme
goto main ; Saut en avant pour éviter l'initialisation de la mémoire

; Interrupt handler for Timer1
org 0x004 ; Adresse du vecteur d'interruption de Timer1
timer1_isr:
movlw 0x20 ; Charge la valeur initiale pour TMR1H
movwf TMR1H ; Stocke la valeur dans TMR1H
movlw 0xCD ; Charge la valeur initiale pour TMR1L
movwf TMR1L ; Stocke la valeur dans TMR1L
bsf LED ; Active la LED
bsf TMR1IF ; Réinitialise le flag d'interruption de Timer1
retfie ; Retourne de l'interruption

; Le code principal commence ici
main:
; Initialise les registres
movlw b'00000000' ; Charge la valeur 0 dans W
movwf TRISD ; Configure RD2 comme une broche de sortie
clrf PORTD ; Initialise RD2 à 0
movlw 0x20 ; Charge la valeur initiale pour TMR1H
movwf TMR1H ; Stocke la valeur dans TMR1H
movlw 0xCD ; Charge la valeur initiale pour TMR1L
movwf TMR1L ; Stocke la valeur dans TMR1L
movlw b'00110001' ; Charge la configuration pour le Timer1
movwf T1CON ; Stocke la valeur dans T1CON
bsf TMR1IE ; Active l'interruption pour Timer1
bsf GIE ; Active les interruptions générales

loop:
bcf LED ; Éteint la LED
call delay ; Appelle la fonction de temporisation
bsf LED ; Allume la LED
call delay ; Appelle la fonction de temporisation
goto loop ; Boucle indéfiniment

; Fonction de temporisation
delay:
movlw d'50' ; Charge la valeur pour la temporisation
movwf temp ; Stocke la valeur dans une variable locale
delay_loop:
dec

CEEDDDRRIIIICCC
2023-04-24 07:53:40

1) prends la doc de ton pic et enjoyhttps://image.noelshack.com/fichiers/2020/08/4/1582228807-greta6-removebg-preview.png

ou

2) demande à chatgpthttps://image.noelshack.com/fichiers/2020/08/4/1582228807-greta6-removebg-preview.png

Infos
Gestion du forum

contact@geevey.com

API disponible. Utilisez le paramètre "api" en GET, peu importe le contenu, sur une page du site.

Notes

    Partenaire: JVFlux
    Ce site n'est pas associé à Jeuxvideo.com ou Webedia. Nous utilisons seulement des archives publiques.
    Il est inutile de me spammer par e-mail pour supprimer un topic. Au contraire, en conséquence, je mettrais votre topic dans le bloc ci-dessous.
Non-assumage
    Personne n'a pas assumé de topic pour le moment.