You are on page 1of 4

Diseo con microcontroladores PIC en lenguaje MikroBasic

Docente: Ing. Roger Guachalla Narvez xoroger@yahoo.es

PRACTICA 03: ALU de 3 bits y 4 Operaciones Implementacin en MikroBasic Pro


Utilizando el lenguaje de alto nivel MikroBasic Pro, implementar una Unidad Aritmtico Lgica (ALU) con 2 entradas y de 3 bits cada una y un selector de de 2 bits con la posibilidad de realizar las siguientes operaciones:

El circuito se simular en Proteus-ISIS y se armar en Protoboard

Sentencias Condicionales:

o Sentencia

if expresion then sentencia [else Otras sentencias] end if Ejemplo: if DatoA>5 then PORTC=$3F end if o Sentencia select case selector case valor_1 sentencias_1 ... case valor_n sentenicas_n [case else Sentencias_por_omisson] end select Ejemplo: select case operador case "*" res = n1 * n2 case "/" res = n1 / n2 case "+" res = n1 + n2 case "-" res = n1 - n2 case else res = 0 cnt = cnt + 1 end select

Diagrama de flujo

Diagrama de flujo

Sentencia for contador = valor_inicial to valor_final [step valor_de_paso] lista_de_sentencias next contador Ejemplo: s = 0 for i = 0 to 9 s = s + a[i] * b[i] next i

Sentencia while expresion sentencias wend Ejemplo: s = 0 i = 0 while i < n s = s + a[i] * b[i] i = i + 1 wend

Diagrama de flujo

Sentencia do sentencias loop until expresion Ejemplo: s = 0 i = 0 do s = s + a[i] * b[i] i = i + 1 loop until i = n

Diagrama de flujo

Sentencia goto nombre_de_etiqueta Ejemplo: lazo: inc(PORTC) delay_ms(300) goto lazo

Smbolos: Ejemplo:

Declaracin de Variables: Ejemplo:

Tipos de datos:

Componentes Proteus:

I.

TRABAJO EN LABORATORIO En el diagrama esquemtico anterior, completar a 8 leds el Puerto RC Realizar los incisos a),b) y c) usando el lenguaje de alto nivel MikroBasic Pro. Para ello recurrir a: operadores y estructuras de Control y Decisin (if, for, while, select case, etc.) Para cada uno de los incisos realizar: Proyecto MikroBasic Cdigo Fuente (Impreso) Diagrama de Flujo (Impreso) Simulacin en ISIS-Proteus (Confirmacin con Firma) Grabado del microcontrolador usando el PICPROM Armado y funcionamiento en PROTOBOARD (Confirmacin con Firma)

a) Realizar un contador binario infinito de paso variable (de 0 a 7) definido por los 3 interruptores (switches) correspondientes al . El conteo debe ejecutarse a una velocidad de 1/8 de segundo b) Realizar un juego secuencial de luces con 1 led desplazndose continuamente de Izquierda a Derecha y viceversa. La secuencia se detiene cuando se ingresa un valor de 5 a travs de los interruptores (switches) correspondientes al La secuencia se ejecuta cada 200 mseg. c) Realizar un juego secuencial de luces con 2 leds desplazndose continuamente de los extremos hacia el centro y viceversa. La secuencia se La secuencia se ejecuta normalmente cada 300 mseg, pero si se activan (ponen a 1) los dos interruptores (switches) correspondientes a , entonces la secuencia incrementa su velocidad a 100 mseg II. TRABAJO DE INVESTIGACION Realizar una Tabla Detalla y Completa del funcionamiento de cada uno de los puertos del PIC16F887 (RA, RB, RC, RD y RE) explicando las particularidades y las funciones adicionales especiales de cada pin en dichos puertos. Adicionar diagramas o figuras que ayuden en la explicacin.