Diseo con microcontroladores PIC en lenguajes MikroBasic, MikroC Docente: Ing.
Roger Guachalla Narvez
xoroger@yahoo.es
PRACTICA 05: Programacin en MikroBasic
1. Objetivos: Conocer la sintaxis bsica del lenguaje MikroBasic Como ejemplo, implementar una Unidad Aritmtico Lgica (ALU) con 2 entradas Dato A y Dato B de 3 bits cada una y un selector de Operacion de 2 bits con la posibilidad de realizar las siguientes operaciones:
Operacin Descripcin 00 Dato A + Dato B 01 Dato A - Dato B 10 Dato A AND Dato B 11 Dato A OR Dato B
2. Sintaxis bsica del lenguaje MikroBasic:
Tipos de Datos:
Declaracin de Variables:
dim nombre_de_variableas tipo_de_variable Ejemplos:
dim i, j, k as byte dim contador, temp as word Smbolos: symbol nombre_de_smbolo = cdigo
Ejemplo: symbol Saldida = PORTA symbol Retardo = Delay_ms(200) main: trisA=$00 Salida=$00 lazo: inc(Salida) Retardo goto lazo end.
Sentencias Condicionales:
o Sentencias if if-else
o Sentencia select case
o Sentencia for
o Sentencia while
if expresion then sentencia [else Otrassentencias] end if
Ejemplo: if DatoA>5 then PORTC=$3F end if
select case selector case valor_1 sentencias_1 ... case valor_n sentenicas_n [case else Sentencias_por_omisson] end select
Ejemplo: select case valor case 1 res=n1*n2 case 2 res=n1/n2 case 3 res=n1+n2 case 4 res=n1-n2 case else res=0 end select
for contador = valor_inicial to valor_final [step valor_de_paso] lista_de_sentencias next contador
Ejemplo: s=0 for i=0 to 10 s=s+i next i
while expresion sentencias wend
Ejemplo: s=10 i=0 while i<s i=i+1 wend
o Sentencia do
o Sentencia goto
3. Diagrama Esquemtico del EJEMPLO ALU de 3 bit y 4 operaciones con el PIC16F877A
Componentes Proteus:
do sentencias loop until expresin
Ejemplo: s=10 i=0 do i=i+1 loop until i>s
goto nombre_de_etiqueta
Ejemplo: lazo: inc(PORTC) delay_ms(300) goto lazo
4. Cdigo fuente del ejemplo ALU de 3 bit y 4 operaciones en MikroBasic Pro:
5. Procedimiento Experimental
I. Primera Firma: Comprobar el funcionamiento del EJEMPLO en Simulacin (Proteus) y en Hardware (grabacin con el programador)
II. Segunda Firma: Realizar uno de los siguientes EJERCICIOS:
a) Dado Electrnico: Al presionar el switch SW1 se muestra un valor aleatorio entre 1 y 6
b) Semforo:
Los semforos constan de luces de aviso a peatones (rojo y verde) y de aviso a vehculos (rojo, amarillo y verde). Los semforos 1 y 3 se comportan de idntica forma. Lo mismo ocurre con el 2 y el 4. Cuando los semforos 1 y 3 permitan el trfico de vehculos por sus correspondientes vas, los semforos 2 y 4 deben prohibirlo y a la inversa. La temporizacin para cada semforo ser: I. La luz verde est activa durante 10 segundos. II. La luz amarilla parpadea durante 3 segundos (cada segundo cambia su estado). III. La luz roja se mantiene encendida durante 10 segundos. IV. Cuando la luz verde, o la luz amarilla se encuentren encendidas, la luz roja de los peatones debe estar activada. V. Cuando la luz roja se encuentre encendida, la luz verde de paso a los peatones debe estar activada, salvo durante los 3 ltimos segundos en que debe parpadear con un periodo de segundo.
c) Contador (de 0 a 9) Ascendente/Descendente
6. Informe Impreso
I. Firmas en la Cartula (0, 1 o 2) que avalen los programas realizados en Laboratorio
II. Cdigo Fuente COMENTADO y Diagrama Esquemtico de la 2da Firma
III. TRABAJO DE INVESTIGACION : Procedimientos y Funciones en MikroBasic Explicar en detalle: Sintaxis para la declaracin de Procedimientos y Funciones Parmetros de Entrada y Salida Ejemplos de uso El trabajo de investigacin debe incluir: Resumen escrito a mano (de un mnimo de 3 pginas) Fuentes de Informacin (direcciones web, bibliografa) Copias impresas de las2 primeras pginas de la informacin adquirida a travs de las fuentes