Está en la página 1de 8

Laboratorio # 1

Puertos como salidas en el microcontrolador


Objetivos
- Adquirir mayor destreza en el armado de circuitos.
- Demostrar el manejo de las sentencias condicionales.
- Demostrar el conocimiento de manejo de los puertos del microcontrolador.
I. Parte Práctica.
1. Sentencia IF.
1.1. Materiales a utilizar:
- Un multímetro.
- Uno o más protoboard.
- Una fuente de alimentación regulable o de 5 voltios.
- Cables para protoboard.
- Resistores de 330 ohmios.
- Un display de 7 segmentos ánodo común.
- Un CI PIC18F4550
- Dos capacitores de 33uF
- Un cristal de 4 MHz
- Componentes varios si son necesarios.
1.2. Procedimiento:
- Copiar compilar y grabar el siguiente código:
#include <18f4550.h>
#use delay(clock=4000000)
#fuses XT,NOWDT,NOPUT,NOPROTECT,NOMCLR
#byte puerto_b=0xf81

void main()
{
int i;
set_tris_b(0x00);
while(TRUE)
{
for(i=0;i<=9;i++)
{
if(i==0)
puerto_b=0b11000000;
if(i==1)
puerto_b=0b11111001;
if(i==2)
puerto_b=164; // equivalente al binario 10100100
if(i==3)
puerto_b=176;
if(i==4)
puerto_b=153;
if(i==5)
puerto_b=146;
if(i==6)
puerto_b=130;
if(i==7)
puerto_b=248;
if(i==8)
puerto_b=128;
if(i==9)
puerto_b=152;
delay_ms(1000);
}
}
}
- Armar el siguiente circuito.

RN1 es un pack de resistores puede ser


reemplazado por (7) resistores comunes.
2. Sentencia SWITCH.
2.1. Materiales a utilizar:
- Un multímetro.
- Uno o más protoboard.
- Una fuente de alimentación regulable o de 5 voltios.
- Cables para protoboard.
- Resistores de 330 ohmios.
- Un display de 7 segmentos ánodo común.
- Un CI PIC18F4550
- Dos capacitores de 33uF
- Un cristal de 4 MHz
- Componentes varios si son necesarios.
2.2. Procedimiento:
- Copiar compilar y grabar el siguiente código:
#include <18f4550.h>
#use delay(clock=4000000)
#fuses XT,NOWDT,NOPUT,NOPROTECT,NOMCLR
#byte puerto_b=0xf81

void main()
{
int i;
set_tris_b(0x00);
while(TRUE)
{
for(i=0;i<=9;i++)
{
switch(i)
{

case 0:
puerto_b=0b11000000;
break;
case 1:
puerto_b=0b11111001;
break;
case 2:
puerto_b=164; // equivalente al binario 10100100
break;
case 3:
puerto_b=176;
break;
case 4:
puerto_b=153;
break;
case 5:
puerto_b=146;
break;
case 6:
puerto_b=130;
break;
case 7:
puerto_b=248;
break;
case 8:
puerto_b=128;
break;
case 9:
puerto_b=152;
break;
}
delay_ms(1000);
}
}
}

Armar el circuito del punto anterior.

3. Puerto D.
3.1. Materiales a utilizar:
- Un multímetro.
- Uno o más protoboard.
- Una fuente de alimentación regulable o de 5 voltios.
- Cables para protoboard.
- Resistores de 330 ohmios.
- Un display de 7 segmentos ánodo común.
- Un CI PIC18F4550
- Dos capacitores de 33uF
- Un cristal de 4 MHz
- Componentes varios si son necesarios.
3.2. Procedimiento:
- En base al punto 1 (sentencia IF) o al punto 2 (sentencia SWITCH) realizar un programa
que utilice en lugar del puerto B el puerto D.
4. Manejo de dos puertos como salida usando IF anidado.
4.1. Materiales a utilizar:
- Un multímetro.
- Uno o más protoboard.
- Una fuente de alimentación regulable o de 5 voltios.
- Cables para protoboard.
- Resistores de 330 ohmios.
- Dieciséis diodos LED.
- Un CI PIC18F4550
- Dos capacitores de 33uF
- Un cristal de 4 MHz
- Componentes varios si son necesarios.
4.2. Procedimiento:
- Copiar compilar y grabar el siguiente código:
#include <18f4550.h>
#use delay(clock=4000000)
#fuses XT,NOWDT,NOPUT,NOPROTECT,NOMCLR
#byte puertob=0xf81
#byte puertod=0xf83

void main()
{
int i,j,a,b;
set_tris_b(0x00);
set_tris_d(0x00);
while(TRUE)
{
a=1;
b=1;
for(i=0;i<=8;i++)
{
switch(i)
{
case 0:
puertob=0;
break;
case 1:
puertob=1;
break;
case 2:
puertob=2;
break;
case 3:
puertob=4;
break;
case 4:
puertob=8;
break;
case 5:
puertob=16;
break;
case 6:
puertob=32;
break;
case 7:
puertob=64;
break;
case 8:
puertob=128;
break;
}
for(j=0;j<=8;j++)
{
switch(j)
{
case 0:
puertod=0;
break;
case 1:
puertod=1;
break;
case 2:
puertod=2;
break;
case 3:
puertod=4;
break;
case 4:
puertod=8;
break;
case 5:
puertod=16;
break;
case 6:
puertod=32;
break;
case 7:
puertod=64;
break;
case 8:
puertod=128;
break;
}
delay_ms(200);
}
}
}
}
- Armar el siguiente circuito.
5. Contador de dos dígitos.
5.1. Materiales a utilizar:
- Un multímetro.
- Uno o más protoboard.
- Una fuente de alimentación regulable o de 5 voltios.
- Cables para protoboard.
- Resistores de 330 ohmios.
- Dos display de 7 segmentos ánodo común.
- Un CI PIC18F4550
- Dos capacitores de 33uF
- Un cristal de 4 MHz
- Componentes varios si son necesarios.
5.2. Procedimiento:
- En base a los puntos anteriores realice un programa que cuente de 00 a 99 (cuando
llegue a 99 debe volver a 00 para iniciar nuevamente la cuenta) cada segundo (de
forma ascendente) para implementarlo en el siguiente circuito:

También podría gustarte