Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
ASM: Hello World simple sur PIC 16F877A
- F6FCO

Expert- Messages : 2846
- Âge : 99
- Enregistré en : décembre 2017
- Localisation : Banlieue sud de Klyntar
- Contact :
Le mot de configuration et souvent un écueil pour les débutants. J'ai eu des soucis avec çà aussi a mes débuts alors je poste des hello World sur différents PIC.
Une led qui clignote sur B0.
Fichier Init:
Fichier main:
Une led qui clignote sur B0.
Fichier Init:
Code : Tout sélectionner
;********************************************************
; - F6FCO -
; Hello World
;********************************************************
list p=16f877A ; list directive to define processor
#include <p16f877A.inc> ; processor specific variable definitions
radix dec ; on travaille en décimal par défaut
__CONFIG _CP_OFF & _DEBUG_ON & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _PWRTE_OFF & _WDT_OFF & _HS_OSC
; '__CONFIG' directive is used to embed configuration data within .asm file.
; The lables following the directive are located in the respective .inc file.
; See respective data sheet for additional information on configuration word.
;ADCON1VAL EQU B'00000110' ; PORTA en mode digital
cblock 0x20
Reg_1
Reg_2
Reg_3
Conchita ; variable à tout faire
LcdLigne
LcdColonne
endc
BANK0 macro ; passer en banque0
bcf STATUS,RP0
bcf STATUS,RP1
endm
BANK1 macro ; passer en banque1
bsf STATUS,RP0
bcf STATUS,RP1
endm
BANK2 macro ; passer en banque2
bcf STATUS,RP0
bsf STATUS,RP1
endm
BANK3 macro ; passer en banque3
bsf STATUS,RP0
bsf STATUS,RP1
endm
;**********************************************************************
ORG 0x000 ; processor reset vector
BANK1
movlw d'6' ; PORTA en mode digital
movwf ADCON1 ; écriture dans contrôle A/D
movlw b'00000000'
movwf TRISA
movlw b'00000000'
movwf TRISB
movlw b'00000000'
movwf TRISC
movlw b'00000000'
movwf TRISD
movlw d'6' ; PORTA en mode digital
movwf ADCON1 ; écriture dans contrôle A/D
BANK0
clrf PORTA
clrf PORTB
clrf PORTC
clrf PORTD
Fichier main:
Code : Tout sélectionner
#include <Init Hello World 877A.asm>
main
bcf PORTB,0
nop
call tempo300ms
bsf PORTB,0
nop
call tempo300ms
goto main
tempo300ms
; Délai 300 000 Cycles de la machine
; Durée du délai 300 millisecond
; Fréquence de l'oscillateur 4 MHZ
movlw .153
movwf Reg_1
movlw .134
movwf Reg_2
movlw .2
movwf Reg_3
decfsz Reg_1,F
goto $-1
decfsz Reg_2,F
goto $-3
decfsz Reg_3,F
goto $-5
return
END
Retourner vers « Recueil de mini programmes »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité
