MANEJO DE PUERTOS (EN LENGUAJE ENSAMBLADOR)

En este programa se verá como con lenguaje ensamblador se puede hacer una secuencia con leds dependiendo de si se ingresa un 1 o un 0 en su entrada correspondiente del PIC. Además del uso de los puertos para ponerlos como entrada o como salida.
  • Código:
#include <clase1.h>
//declaramos tris B, D y puertos B y D
//definimos los SFR utilizados a variables
#define Dir_B 0xF93
#define Dir_D 0xF95
#define Puerto_B 0xF81
#define Puerto_D 0xF83
int temp; //variable temporal para tiempo
void main()
{
#asm //se pone porque escribimos en ensamblador
   inicio: //etiqueta
         movlw    0x00 //a {w}<-0
         movwf    Dir_B //(TRISB)<-{w} configuramos como salida
         movlw    0xFF //dato
         movwf    Dir_D // (TRISB)<-{w} conf como entrada
        
   ciclo: //etiqueta
         //bit test file skip if set (lo del if) va a saltar si NO cumple condicion, si no lee la sig linea
         //si es 1 salta la linea de bra ciclo1, sino la lee y se va a la etiqueta ciclo1
         btfss    Puerto_D,0 //rd0 =0?
         //cuando RD=1
      bra ciclo1 //salta a etiqueta de ciclo 1
            movlw    0
            movwf    Puerto_B
            call     tiempo
            movlw    0xFF              //mientras sea 1 hara este bloque de lineas
            movwf    Puerto_B
            call     tiempo
            bra      ciclo
        
      ciclo1:
            movlw    0xAA
            movwf    Puerto_B
            call     tiempo
            movlw    0x55
            movwf    Puerto_B
            call     tiempo
            bra      ciclo 
           
      tiempo: //funcion repetitiva de tiempo
            //checar los ciclos de maquina de los comandos 1 ciclo de maquina= (Frec de osc)/4
            //31kHz/4 = tardara 100ms
            decfsz   temp //decfsz ocupa de 2 ciclos
            bra      tiempo
         sub:  
            decfsz   temp //decfsz ocupa de 2 ciclos
            bra      sub
            retlw    0
  #endasm
}

  • Simulación en proteus:


  • Armado y ejecución:

No hay comentarios:

Publicar un comentario

Ultima entrada ingresada

SISTEMA DE RIEGO AUTOMÁTICO CON MÚSICA

El objetivo era hacer un programa que pueda activar una bomba de agua en la noche, y que por las mañanas reproduzca música para las plantas....