Programació en mpasm del PIC 16F690

Referència Trucs Perifèrics   Recursos CITCEA
Tutorial Exemples Projectes   Inici

Exemple EL - Encendre un LED

Es vol encendre el primer LED de la placa. Per fer-ho, hem creat el següent programa:

#include <p16F690.inc>
	__config (_INTRC_OSC_NOCLKOUT&_WDT_OFF&_PWRTE_OFF&_MCLRE_OFF&_CP_OFF&_BOR_OFF&_IESO_OFF&_FCMEN_OFF)
	org 0
Inici
	bsf		STATUS,RP0	; Tria el banc 1
	bcf		TRISC,0		; Posa el bit 0 del port C com a sortida
	bcf		STATUS,RP0	; Tria el banc 0
	bsf		PORTC,0		; Activa el bit 0 del port C
	goto		$		; Es bloqueja aquí
	end

De les tres parts que té un programa típic, aquí només en tenim dues ja que el nostre programa no fa servir cap variable.

A la primera part carreguem les dades del processador emprat i indiquem la configuració bàsica.

A la segona part tenim el programa. A la tercera línia (pròpiament és la primera línia de programa) activem el bit RP0 per seleccionar el banc 1, que és on hi ha el registre TRISC. A quarta línia desactivem el bit 0 del registre TRISC per tal de configurar el bit 0 del port C com a sortida. A la cinquena línia desactivem RP0 per tornar al banc 0. A la sisena, activem el bit 0 del port C, que correspon al LED que volem encendre. El programa ja està, la setena línia salta sobre si mateixa ja que el signe $ fa referència a la línia actual. El processador farà un bucle infinit sobre aquesta instrucció.

Una manera alternativa de fer el mateix seria:

#include <p16F690.inc>
	__config (_INTRC_OSC_NOCLKOUT&_WDT_OFF&_PWRTE_OFF&_MCLRE_OFF&_CP_OFF&_BOR_OFF&_IESO_OFF&_FCMEN_OFF)
	org 0
Inici
	banksel		TRISC		; Tria el banc 1
	bcf		TRISC,0		; Posa el bit 0 del port C com a sortida
	banksel		PORTC		; Tria el banc 0
	bsf		PORTC,0		; Activa el bit 0 del port C
Bucle
	goto		Bucle		; Es bloqueja aquí
	end

 

 

Llicència de Creative Commons
Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.