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

Microcontroladores 8051

5.2. Struktur eines Programms in Assembler

Das folgende Programm zeigt den prinzipiellen Aufbau eines Programms in Assembler.

 ;************************************************* *********
; Beispiel Struktur eines Programms in Assembler
, Der Mikrocontroller 8051.
;
; Programm zu blinken alle Bits des Port 0
, Mit einer gewissen Zeit.
;
; Autor: Rafael Aranda
; Datum: 20-10-2009
: Version: 1.0
;************************************************* *********

$ NOMOD51
$ INCLUDE (REG51.INC)

		Strukturname
 
STACK EQU 030H; Adresse Stapelzeiger

;*************************************
; Start Interrupt-Vektoren
;*************************************

		Mit 0

		ORG 0H; Source Code (Standort des ROM)

VECTOR: JMP START; Reset

		VECTOR ORG +3 H; INT0
         
		VECTOR ORG 0 BH; Timer 0
          
		VECTOR ORG 13 H; INT1

		VECTOR ORG ein BH; Timer 1

		VECTOR ORG 23 H; Puerto Serie RI + TI

		VECTOR ORG 2 BH, Timer 2
        
;********************************
; Aufgaben der ersten Vorbereitung
;********************************         

 		ORG Vektor H 30

START: MOV SP, # STACK-1; Set Stapelzeiger
         	MOV PSW, # 00000000B; Wählt Register Bank 0
		MOV P1, # 0H; Bereiten Hafen	


;*******************
Major-Programm
;*******************

PROGRAMM: MOV P1, # 0H, setzen die Bits von Port 0 bis 0
		CALL verzögern; Führen einer Verzögerung
		MOV P1, # 0FFh, setzen die Bits von Port 0 bis 1
		CALL verzögern; Führen einer Verzögerung
		JMP Programm; nur bekräftigt, unendlich

;***************************
; Unterprogramm Timing
;***************************

DELAY: 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

	ENDE 

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