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 ---
Bout de code posé là !

Modérateur : Jérémy

ASM: Hello World simple PIC 18F2620
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 2846
Âge : 99
Enregistré en : décembre 2017
Localisation : Banlieue sud de Klyntar
Contact :

#1 Message par F6FCO » mar. 14 mai 2024 19:20

Hello World sur B5.

Fichier init:

Code : Tout sélectionner

;************************************************************************************************
;                       
F6FCO 
;                  Hello World
;                       28 oct 2023    
;
;                                        

        
Errorlevel-302                 Supprime le message "Ensure that bank bits are correct" 

        
list            p=18f2620        processeur utilisé 
        
#include        <p18f2620.inc>        ; Définitions des constantes PIC
    

 
CONFIG OSC INTIO67                         Oscillateur interne 8MHz 
 CONFIG IESO 
OFF                            Délai au démarrage (ON/OFF)
 
CONFIG BOREN OFF                           Reset si chute de tension (ON/OFF)
 
CONFIG PWRT ON                              Délai au démarrage (ON/OFF)
 
CONFIG BORV 0                              Tension de reset en 1/10ème Volts 
 CONFIG WDT 
OFF                             Mise hors service du watchdog (ON/OFF)
 
CONFIG PBADEN OFF                          PORTB<4:0les broches sont configurées comme E/S numériques lors de la réinitialisation
 CONFIG LPT1OSC 
OFF                         Timer1 configuré pour un fonctionnement plus puissant
 CONFIG MCLRE 
ON                            Mclr configuré comme entrée
 CONFIG STVREN 
ON                           Reset sur débordement de pile (ON/OFF)
 
CONFIG LVP OFF                             Programmation basse tension autorisée (ON/OFF)
 
CONFIG XINST OFF                           L'extension du jeu d'instructions et le mode d'adressage indexé sont désactivés(mode hérité)
 CONFIG DEBUG = OFF                           ; Debugger hors service
 CONFIG CP0 = OFF                             ; Code protection sur block 0 (ON/OFF)
 CONFIG CP1 = OFF                             ; Code protection sur block 1 (ON/OFF)
 CONFIG CP2 = OFF                             ; Code protection sur block 2 (ON/OFF)
 CONFIG CPB = OFF                             ; Code protection sur bootblock  (ON/OFF)
 CONFIG CPD = OFF                             ; Code protection sur eeprom (ON/OFF)
 CONFIG WRT0 = OFF                            ; Protection écriture block 0 (ON/OFF)
 CONFIG WRT1 = OFF                            ; Protection écriture block 1 (ON/OFF)
 CONFIG WRT2 = OFF                            ; Protection écriture block 2 (ON/OFF)
 CONFIG WRTB = OFF                            ; Protection écriture bootblock (ON/OFF)
 CONFIG WRTC = OFF                            ; Protection écriture configurations (ON/OFF)
 CONFIG WRTD = OFF                            ; Protection écriture zone eeprom (ON/OFF)
 CONFIG EBTR0 = OFF                           ; Protection lecture de table block 0 (ON/OFF)
 CONFIG EBTR1 = OFF                           ; Protection lecture de table block 1 (ON/OFF)
 CONFIG EBTR2 = OFF                           ; Protection lecture de table block 2 (ON/OFF)
 CONFIG EBTRB = OFF                           ; Protection lecture de table bootblock (ON/OFF)



     CBLOCK H'
0
     ;--------------- variables 
    Reg_1            :1    ; tempo
    Reg_2            :1    ; tempo
    Reg_3            :1    ; tempo
    conchita        :2    ; variable bonne à tout faire
    LcdLigne        :1    ; LCD
    LcdColonne        :1    ; LCD

    ENDC

    ORG H'
0'
init
      movlw     b'
01110011'
        movwf     OSCCON            ; oscillateur interne à 8 Mhz 
        ;
        movlw     0x0f
          movwf     ADCON1            ; mode digital
    ;
    movlw    b'
00000000'    
    movwf    TRISA
    clrf    PORTA
    ;
    movlw    b'
00000000'    
    movwf    TRISB
    clrf    PORTB
    ;
    movlw    b'
00000000'
    movwf    TRISC
    clrf    PORTC



Fichier main:

Code : Tout sélectionner

#include    <Init Hello World 2620.asm>

main
    bcf    PORTB
,5
    nop
    call    tempo300ms
    bsf    PORTB
,5
    nop
    call    tempo300ms
    bra    main




tempo300ms
Délai 600 000 Cycles de la machine
Durée du délai 300 millisecond
Fréquence de l'oscillateur 8 MHZ

            movlw       .51
            movwf       Reg_1,1
            movlw       .12
            movwf       Reg_2
            movlw       .4
            movwf       Reg_3
            decfsz      Reg_1,F,1
            bra         $-2
            decfsz      Reg_2
            bra         $-6
            decfsz      Reg_3
            bra         $-.10
            nop
            nop
            return

    END                      


Une porte nand prend 2 bits en entrée... :eek:

Retourner vers « Recueil de mini programmes »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité