Programació en pic-as 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:

PROCESSOR 16F690
#include <xc.inc>
config FOSC = INTRCIO, WDTE = OFF, PWRTE = OFF, MCLRE = OFF, CP = OFF
config CPD = OFF, BOREN = OFF, IESO = OFF, FCMEN = OFF
; Inici del programa
PSECT code, class=CODE, delta=2, abs  ; A l'inici de la memòria
main:
  bsf  RP0  ; Tria el banc 1
  bcf  TRISC,0  ; Posa el bit 0 del port C com a sortida
  bcf  RP0  ; Tria el banc 0
  bsf  PORTC,0  ; Activa el bit 0 del port C
  goto  $  ; El programa es bloqueja aquí
  END main

De les tres parts que té un programa bāsic, 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:

PROCESSOR 16F690
#include <xc.inc>
config FOSC = INTRCIO, WDTE = OFF, PWRTE = OFF, MCLRE = OFF, CP = OFF
config CPD = OFF, BOREN = OFF, IESO = OFF, FCMEN = OFF
; Inici del programa
PSECT code, class=CODE, delta=2, abs  ; A l'inici de la memòria
main:
  bsf  RP0  ; Tria el banc 1
  bcf  TRISC,0  ; Posa el bit 0 del port C com a sortida
  bcf  RP0  ; Tria el banc 0
  bsf  PORTC,0  ; Activa el bit 0 del port C
Bucle:
  goto  Bucle  ; El programa es bloqueja aquí
  END main

 

 

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