Bonjour tout le monde !
Apres avoir lu et passer des nuits blanches pour bien s'ameliorer dans la programmation des pics , je me suis lancer comme tout le monde a adopter le petit 16F84A , et voici donc mon premier programme : il sert a faire le complement a 2 du contenu du PORTA la stock dans la variable setin puis l'affiche sur le PORTB .
Je veux votre opinion sur ce programme si c'est bien fait ou pas ? Deux petites question s'il vous plait : je veux savoir esque la declaration de la zone des variables commence par 0x00C pour tout les autres pic , puis esque pour initialiser le debut du programme en commence toujours par l'adresse 0x000 pour les tous les microcontrolleurs?
Merci infiniment pour l'aide.
Code:;********************************************************************************************************************** ; Programme realisé par Badr en 2011 pour la creation du premier robot programmé sous MPLAB ; Programme de teste et d'experimentation ; Nom : ProgTest ; Microcontroller : 16F84A ;*********************************************************************************************************************** ; Fichier source du PIC est P16F84A.INC ;*********************************************************************************************************************** LIST P=16F84A ; directive de validation du microcontroleur #include<P16F84A.INC> ; directive de la selection du reperatoire __CONFIG _CP_OFF & _WDT_ON & _PWRTE_ON & _HS_OSC ;*********************************************************************************************************************** ;****************************************** Declaration des variables ************************************************** CBLOCK 0x00C ; debut de la zone variables setin : 1 ; 1 byte ENDC ; fin de la declaration ;*********************************************************************************************************************** ; Debut de l'initialisation : org 0x000 ; adress du debut goto bobo ; go to bob instruction ; Debut de le configuration des ports : bobo bsf STATUS,RP0 ; ouvrire banque N1 movlw h'FF' ; charger le work avec la valeur FF movwf TRISA ; basculer le work vers trisa movlw h'00' ; charger le work avec la valeur 00 movwf TRISB ; basculer le work vers trisb bcf STATUS,RP0 ; ouvrir banque N0 ; Debut du programme initiale : repet movf PORTA ; charger le work avec porta movwf setin ; deplacer le work vers la variables setin comf setin,f ; faire le comlement a 1 de la variable setin incf setin,f ; setin+1 dans la variable setin movlw setin ; charger le work avec la variable setin movwf PORTB ; faire afficher le work sur porta goto repet ; goto repet instruction END ; fin du programme-GO directive
-----