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=18f258 ; processeur utilisé
#include <p18f258.inc> ; Définitions des constantes PIC
CONFIG OSC = XT
CONFIG OSCS=OFF
CONFIG PWRT = ON
CONFIG BOR = OFF
CONFIG BORV = 45
CONFIG WDT = OFF
CONFIG WDTPS = 1
CONFIG STVR = OFF
CONFIG LVP = OFF
CONFIG DEBUG = ON
CONFIG CP0 = OFF
CONFIG CP1 = OFF
CONFIG CP2 = OFF
CONFIG CPB = OFF
CONFIG CPD = OFF
CONFIG WRT0 = OFF
CONFIG WRT1 = OFF
CONFIG WRT2 = OFF
CONFIG WRTC = OFF
CONFIG WRTB = OFF
CONFIG WRTD = OFF
CONFIG EBTR0 = OFF
CONFIG EBTR1 = OFF
CONFIG EBTR2 = OFF
CONFIG EBTR3 = OFF
CONFIG EBTRB = OFF
;#define bip PORTA,1
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 0Fh
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 258.asm>
main
bcf PORTB,4
nop
call tempo300ms
bsf PORTB,4
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
