Grautier.com - Projekte

Geht nicht gibt es nicht !!!

Benutzer-Werkzeuge

Webseiten-Werkzeuge


programme:mikrocontroller:pic16template

ASM PIC16xxx Template (mpasm)

Beschreibung

Mir ist aufgefallen das schon seit längeren nirgends eine Anständiges Beispiel für ein PIC-ASM Programm Template gibt. Ich hab mir schon damals ein Template gebastelt welches ich auch immer noch nutze, und welches etwas Struktur in das Programm bringt.

Anleitung

Programm Anfang

	list p=16f876a
	include "p16f876a.inc"
 
	__CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _BODEN_OFF & _LVP_OFF & _CPD_OFF & _WRT_OFF & _DEBUG_OFF & _CP_OFF
 
	org	0x0000			; Programmanfang
	;clrf	STATUS			; Tiny Bootloader
	;clrf	PCLATH			; Tiny Bootloader
	nop				; Für ICD2 Debugging
	goto	init			; Springe zur Initialisierung (Anfangsroutine)
	org	0x0004			; Erste Rotine (main) ab Adresse 0x0004

Interupt

int	; Interrupt STATUS und W sichern
	banksel	wtemp
	movwf	wtemp			; W Sichern
	swapf	STATUS, w		; Status Sichern
	movwf	stemp			; Status Speichern
 
	; *** Interrupt Rotine ***
 
intend  ; Interupt beenden und STATUS + W zurückspielen
	swapf	stemp, w		; Status Restore
	movwf	STATUS
	swapf	wtemp, f		; W Restore
	swapf	wtemp, w
	retfie				; Interrupt Beenden

Variablen Deklarieren

	cblock	0x20			; Variablen ab 0x20 Bank1
	stemp				; Var. zum Status sichern beim Interrupt
	wtemp
	endc
 
	cblock	0x70			; Variablen ab 0x70 setzen alle Banke max. 16stk.
	; *** Hier Var's rein ***
	endc 				; Variablen setzen beenden

PIN / PORTS Deklarieren

	; *** z.b. ***
	 #define        IRLED   PORTC, 0 ; IR LED
	 #define        WDATA   PORTB    ; Display Datenport (PORTB)

Dateien einbinden

	; *** z.b. ***
	include	"portreg.inc"		; Ports einstellen (PortREG)
	include "dg-16080.inc"		; Display DataVision DG-16080Touch
	include "delay.inc"		; Delays

INT / Main Schleife

init
	; *** z.b. Sachen die nur einmal aufgerufen werden müssen wie die Config für den PIC***
	call	portreg			; Ports einstellen
	call	disp_init		; Display im Textmode Initialisieren
	call	disp_cls		; Display Löschen Textmode
main
	; *** Main Schleife ***
	goto	main
end

sandfrog 25/09/2016 18:17

Diskussion

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
V T Y B N
 
programme/mikrocontroller/pic16template.txt · Zuletzt geändert: 25/09/2016 18:18 (Externe Bearbeitung)