User: alciro    User
 Original    Translate to:  Deutsch  English  Français  中文  
 

Microcontroladores 8051

5.2. Structure d'un programme en assembleur

Le programme suivant montre la structure de base d'un programme en assembleur.

 ;************************************************* *********
Exemple de structure d'un programme en assembleur;
, Le microcontrôleur 8051.
;
; Programme à clignoter tous les bits du Port 0
, Avec un certain temps.
;
; Auteur: Rafael Aranda
; Date: 20-10-2009
: Version: 1.0
;************************************************* *********

NOMOD51 $
$ INCLUDE (REG51.INC)

		Structure nom
 
STACK EQU 030H, l'adresse du pointeur de pile

;*************************************
; Début vecteurs d'interruption
;*************************************

		L'utilisation de 0

		ORG 0H; Code Source (Situation de la ROM)

VECTEUR: JMP START; Reset

		VECTOR ORG 3 H; INT0
         
		VECTOR ORG 0 BH; Minuteur de 0
          
		VECTOR ORG 13 H; INT1

		VECTOR ORG une BH; Timer 1

		VECTOR ORG 23 H; série Puerto RI + TI

		VECTOR ORG 2 BH, Timer 2
        
;********************************
; Tâches de préparation initiale
;********************************         

 		Vecteur h 30 ORG

START: MOV SP, # STACK-1; Set pointeur de pile
         	MOV PSW, # 00000000b; Sélectionne registre banque 0
		MOV P1, # 0H; port Préparer	


;*******************
Grand programme
;*******************

PROGRAMME: MOV P1, # 0H; Mettez les morceaux de Port 0 à 0
		APPEL DE RETARD; Effectuer un retard
		MOV P1, # 0FFh; Mettez les morceaux de Port 0 à 1
		APPEL DE RETARD; Effectuer un retard
		PROGRAMME JMP; Réaffirmant l'infini

;***************************
; Sous-programme de synchronisation
;***************************

RETARD: MOV R2, # 7FH
RET_3: MOV R1, # 0FFh
RET_2: MOV R0, # 0FFh
RET_1: DJNZ R0, RET_1	
		DJNZ R1, RET_2
		DJNZ R2, RET_3
		RET

	FIN 

Loading
copyright © 2007-2025  www.alciro.org  All rights reserved.         
Share |