Takaisin
;*****************************************************************************************
;   Tämä tiedosto on esimerkki ohjelman aloituksesta MPLAB ohjelmalla                    *
;   Ohjelma voidaan kirjoittaa esimerkiksi aloittaen tästä pohjasta.                     *
;                                                                                        *
;   Jos keskeytystä ei käytetä, keskeytystä koskeva osa voidaan jättää                   *
;   pois kokonaan.                                                                       *
;   Samoin myös siihen liittyvät muuttujat W_TEMP ja STATUS_TEMP	                 *
;                                                                                        *
;   Jos lisää tietoa halutaan ohjelman käytöstä, sitä löytyy MPLAB                       *
;   ohjelman help tiedostoista sekä Microchip dokumentista DS33014                       *
;   Tosin kyllä englannin kielellä.                                                      *
;   Samoin lisätietoja löytyy PIC-mikron datalehdiltä, myös käskyjen                     *
;   toiminnat.                                                       	                 *
;   Kaikki kommentit voidaan kirjoittaa käännettävään ohjelmatiedostoon,                 *
;   puolipisteen jälkeen (;), kääntäjä jättää kaiken, merkin oikealla puolella           *
;   olevan tekstin ja merkit huomioimatta.                                               *
;                                                                                        *
;*****************************************************************************************
;                                                                                        *
;    Tiedostonimi:	    xxxxxxxx.asm    Ohjelmatiedoston nimi 8 merkkiä              *
;    Päiväys:                               Ohjelman päiväys                             *
;    Tiedosto versio:                       Ohjelman versio                              *
;                                                                                        *
;    Omistaja:                              Ohjelman tekijän ja omistajan tiedot         *
;    Ohjelman tekijä:                       Voi käyttää lisääkin tietoja halutessaan     *
;                                           tai voi myös jättää kaikki kommentit         * 
;                                           ja ohjelmatiedot kirjoittamatta.             *
;                                                                                        *
;*****************************************************************************************
;                                                                                        *
;    Ohjelman toiminta lyhyesti:                                                         *
;                                                                                        *
;                                                                                        *
;                                                                                        *
;*****************************************************************************************
;                                                                                        *
;    Huomautuksia:                                                                       *
;                                                                                        *
;                                                                                        *
;                                                                                        *
;                                                                                        *
;*****************************************************************************************
	list      p=16F84         ; list määrittää käytetyn piirin
	#include <p16F84.inc>     ; Prosessorille valmiiksi määritellyt 
				  ; muuttujat tiedostossa p16F84.inc
	__CONFIG   _CP_OFF & _WDT_ON & _PWRTE_ON & _RC_OSC
; '__CONFIG' määrittää piirin perusasetukset:
; _CP_OFF 	
; _WDT_ON 	Watch Doc ajastin käytössä ON pois käytöstä OFF
; _PWRTE_ON 	Power Up ajastin käytössä ON pois käytöstä OFF
; _RC_OSC	Kello oskillaattorin valinta RC-piiri XT kide tai resonaattori
; Samat määritykset on tehty .inc tiedostossa. Jos ne tehdään tässä niin 
; tämän tiedoston määritykset kumoavat .inc tiedostossa tehdyt määritykset.
;*****************************************************************************************
;***** Muuttujien määritys.
w_temp        	EQU     0x0C       ; Muuttuja käytössä keskeytyksissä 
status_temp   	EQU     0x0D       ; Muuttuja käytössä keskeytyksissä 
; Käyttäjän määrittelemät muuttujat.
; Muuttujien niminä voi käyttää mitä tahansa nimiä, mielummin jotain toimintaan liittyvää,
; jolloin ohjelmasta tulee jotenkin ymmärrettävää. 
; Ohjelmassa on syytä käyttää selväkielistä tekstiä kommentteina toiminnasta yms.
; Ensiksi määritetään muuttujalle nimi esim: 
PIIRI	EQU	0x10		; PIIRI, ja vastaavuus EQU sekä muuttujan osoite 0x10
;*****************************************************************************************
	ORG     0x000           ; Resetointi osoite, ohjelma alkaa aina tästä osoitteesta
  	GOTO    ALKU            ; Hyppykäsky varsinaisen ohjelman aloituskohtaan 
	ORG     0x004           ; Keskeytyksessä aloitetaan tästä
	MOVWF   W_TEMP          ; Talletetaan W_rekisterin sisältö W_TEMP rekisteriin
	MOVF	STATUS,w        ; Siirretään STATUS rekisterin sisältö w_rekisteriin
	MOVWF	STATUS_temp     ; Talletetaan W_rekisterin sisältö STATUS_TEMP rekisteriin
;-----------------------------------------------------------------------------------------
; TÄHÄN VÄLIIN KIRJOITETAAN KESKEYTYKSESSÄ SUORITETTAVA OHJELMA.
;-----------------------------------------------------------------------------------------
	MOVF    STATUS_TEMP,W	; Palautetaan STATUS_rekisterin kopio W_rekisteriin.
	MOVWF	STATUS		; Palautetaan talletettu STATUS rekisterin tila.
	SWAPF   W_TEMP,f	; 
	SWAPF   W_TEMP,w	; Palautetaan talletettu W rekisterin tila.
	RETFIE			; Palataan ohjelmassa keskeytyneeseen kohtaan. 
;*****************************************************************************************
ALKU				; Käynnistyksen ja määrittelyjen jälkeen varsinainen 
				; ohjelma alkaa tästä.
; OHJELMAKOODI KIRJOITETAAN TÄSTÄ ETEENPÄIN.
; OHJELMAN LOPUSSA ILMOITETAAN KÄÄNTÄJÄLLE OHJELMAKOODIN LOPPUMINEN.
;*****************************************************************************************
		END                     ; Ohjelmakoodi loppuu tähän.

Takaisin