You are on page 1of 22

2013

EQUIPO:
12290391 Negrete Michel Arnan Misael

PRACTICA 3.1
3fb.

12290383 Martnez Castellanos Alejandro 3fb.


12290405 Santiago Montao Edson

3fb.

11290355 Del Toro Ceballos Ivn

3fb.

CIRCUITO
CON LEDS

CD. Guzmn, Jalisco


15/12/2013

PRACTICA 3.1.
CIRCUITO CON LEDS

OBJETIVO:
Mediante un microcontrolador (PIC16F877A) controlar las salidas de cada puerto para
lograr los efectos que cada programa propone.
Procedimiento propuesto:
1.- Poner un dato
2.- Corrimiento unilateral
3.- Corrimiento bilateral
4.- Corrimiento del centro a los lados
5.- Corrimiento Bilateral Largo 24 led's

MARCO TEORICO
PIC 16F877A
Se denomina microcontrolador a un dispositivo programable capaz de realizar diferentes actividades
que requieran del procesamiento de datos digitales y del control y comunicacin digital de diferentes
dispositivos.
Los microcontroladores poseen una memoria interna que almacena dos tipos de datos; las
instrucciones, que corresponden al programa que se ejecuta, y los registros, es decir, los datos que el
usuario maneja, as como registros especiales para el control de las diferentes funciones del
microcontrolador.
Los microcontroladores poseen principalmente una ALU (Unidad Lgico Aritmtica), memoria del
programa, memoria de registros, y pines I/O (entrada y/0 salida). La ALU es la encargada de procesar
los datos dependiendo de las instrucciones que se ejecuten (ADD, OR, AND), mientras que los pines
son los que se encargan de comunicar al microcontrolador con el medio externo; la funcin de los
pines puede ser de transmisin de datos, alimentacin de corriente para l funcionamiento de este o
pines de control especifico.
En este proyecto se utilizo el PIC 16F877. Este microcontrolador es fabricado por MicroChip familia a
la cual se le denomina PIC. El modelo 16F877 posee varias caractersticas que hacen a este
microcontrolador un dispositivo muy verstil, eficiente y prctico para ser empleado en la aplicacin
que posteriormente ser detallada.
CARACTERISTICAS
CARACTERSTICAS

16F877

Frecuencia mxima

DX-20MHz

Memoria de programa flash palabra de 14 bits

8KB

Posiciones RAM de datos

368

Posiciones EEPROM de datos

256

Puertos E/S

A,B,C,D,E

Nmero de pines

40

Interrupciones

14

Timers

Mdulos CCP

Comunicaciones Serie

MSSP, USART

Comunicaciones paralelo

PSP

Lneas de entrada de CAD de 10 bits

Juego de instrucciones

35 Instrucciones

Longitud de la instruccin

14 bits

Arquitectura

Harvard

CPU

Risc

Canales Pwm

Pila Harware

Ejecucin En 1 Ciclo Mquina

Descripcin de los puertos:


Puerto A:
Puerto de e/s de 6 pines
RA0 RA0 y AN0
RA1 RA1 y AN1
RA2 RA2, AN2 y VrefRA3 RA3, AN3 y Vref+
RA4 RA4 (Salida en colector abierto) y T0CKI(Entrada de reloj del modulo Timer0)
RA5 RA5, AN4 y SS (Seleccin esclavo para el puerto serie sncrono)

Puerto B:
Puerto e/s 8 pines
Resistencias pull-up programables
RB0 Interrupcin externa
RB4-7 Interrupcion por cambio de flanco
RB5-RB7 y RB3 programacion y debugger in circuit

Puerto C:
Puerto e/s de 8 pines
RC0 RC0, T1OSO (Timer1 salida oscilador) y T1CKI (Entrada de reloj del modulo Timer1).
RC1-RC2 PWM/COMP/CAPT
RC1 T1OSI (entrada osc timer1)
RC3-4 IIC
RC3-5 SPI
RC6-7 USART

Puerto D:
Puerto e/s de 8 pines
Bus de datos en PPS (Puerto paralelo esclavo)
Puerto E:
Puerto de e/s de 3 pines
RE0 RE0 y AN5 y Read de PPS
RE1 RE1 y AN6 y Write de PPS
RE2 RE2 y AN7 y CS de PPS

Dispositivos perifricos:
Timer0: Temporizador-contador de 8 bits con preescaler de 8 bits
Timer1: Temporizador-contador de 16 bits con preescaler que puede incrementarse en modo sleep de
forma externa por un cristal/clock.
Timer2: Temporizador-contador de 8 bits con preescaler y postescaler.
Dos mdulos de Captura, Comparacin, PWM (Modulacin de Anchura de Impulsos).
Conversor A/D de 1 0 bits.
Puerto Serie Sncrono Master (MSSP) con SPI e I2C (Master/Slave).
USART/SCI (Universal Syncheronus Asynchronous Receiver Transmitter) con 9 bit.
Puerta Paralela Esclava (PSP) solo en encapsulados con 40 pines

NOMBRE DEL PIN

PIN

TIPO

OSC1/CLKIN

13

ST/MOS

OSC2/CLKOUT

14

MCLR/Vpp/THV

I/P

ST

2
3
4
5
6
7

I/O
I/O
I/O
I/O
I/O
I/O

TTL
TTL
TTL
TTL
ST
TTL

RA0/AN0
RA1/AN1
RA2/AN2/ VrefRA3/AN3/Vref+
RA4/T0CKI
RA5/SS/AN4

RBO/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD

RCO/T1OSO/T1CKI
RC1/T1OS1/CCP2
RC2/CCP1
RC3/SCK/SCL
RC4/SD1/SDA
RC5/SD0
RC6/Tx/CK
RC7/RX/DT

TIPO DE
BUFFER

33
34
35
36
37
38
39
40

I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O

TTL/ST
TTL
TTL
TTL
TTL
TTL
TTL/ST
TTL/ST

15
16
17

I/O
I/O
I/O

ST
ST
ST

18

I/O

ST

23
24
25
26

I/O
I/O
I/O
I/O

ST
ST
ST
ST

DESCRIPCIN
Entrada del oscilador de cristal / Entrada de
seal de reloj externa
Salida del oscilador de cristal
Entrada del Master clear (Reset) o entrada de
voltaje de programacin o modo de control
high voltaje test
PORTA es un puerto I/O bidireccional
RAO: puede ser salida analgica 0
RA1: puede ser salida analgica 1
RA2: puede ser salida analgica 2 o referencia
negativa de voltaje
RA3: puede ser salida analgica 3 o referencia
positiva de voltaje
RA4: puede ser entrada de reloj el timer0.
RA5: puede ser salida analgica 4 o el esclavo
seleccionado por el puerto serial sncrono.
PORTB es un puerto I/O bidireccional. Puede
ser programado todo como entradas
RB0 pude ser pin de interrupcin externo.
RB3: puede ser la entada de programacin de
bajo voltaje
Pin de interrupcin
Pin de interrupcin
Pin de interrupcin. Reloj de programacin
serial
PORTC es un puerto I/O bidireccional
RCO puede ser la salida del oscilador timer1 o
la entrada de reloj del timer1
RC1 puede ser la entrada del oscilador timer1
o salida PMW 2
RC2 puede ser una entrada de captura y
comparacin o salida PWN
RC3 puede ser la entrada o salida serial de
reloj sncrono para modos SPI e I2C
RC4 puede ser la entrada de datos SPI y
modo I2C
RC5 puede ser la salida de datos SPI
RC6 puede ser el transmisor asncrono
USART o el reloj sncrono.
RC7 puede ser el receptor asncrono USART o
datos sncronos

RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7

PORTD es un puerto bidireccional paralelo


19
20
21
22
27
28
29
30

I/O
I/O I/O
I/O I/O
I/O I/O
I/O

ST/TTL
ST/TTL
ST/TTL
ST/TTL
ST/TTL
ST/TTL
ST/TTL
ST/TTL

I/O

ST/TTL

I/O

ST/TTL

10

I/O

ST/TTL

Vss

12.31

Referencia de tierra para los pines lgicos y


de I/O

Vdd

11.32

Fuente positiva para los pines lgicos y de


I/O

NC

No est conectado internamente

REO/RD/AN5
RE1/WR/AN
RE2/CS/AN7

PORTE es un puerto I/O bidireccional


REO: puede ser control de lectura para el
puerto esclavo paralelo o entrada analgica 5
RE1: puede ser escritura de control para el
puerto paralelo esclavo o entrada analgica 6
RE2: puede ser el selector de control para
el puerto paralelo esclavo o la entrada
analgica 7.

DIODO LED
El LED (Light-Emitting Diode: Diodo Emisor de Luz), es un dispositivo semiconductor que emite luz
incoherente de espectro reducido cuando se polariza de forma directa la unin PN en la cual circula
por l una corriente elctrica . Este fenmeno es una forma de electroluminiscencia, el LED es un
tipo especial de diodo que trabaja como un diodo comn, pero que al ser atravesado por la corriente
elctrica, emite luz . Este dispositivo semiconductor est comnmente encapsulado en
una cubierta de plstico de mayor resistencia que las de vidrio que usualmente se emplean en las
lmparas incandescentes. Aunque el plstico puede estar coloreado, es slo por razones estticas, ya
que ello no influye en el color de la luz emitida. Usualmente un LED es una fuente de luz compuesta
con diferentes partes, razn por la cual el patrn de intensidad de la luz emitida puede ser bastante
complejo.
Para obtener una buena intensidad luminosa debe escogerse bien la corriente que atraviesa el LED y
evitar que este se pueda daar; para ello, hay que tener en cuenta que el voltaje de operacin va desde
1,8 hasta 3,8 voltios aproximadamente (lo que est relacionado con el material de fabricacin y el
color de la luz que emite) y la gama de intensidades que debe circular por l vara segn su
aplicacin. Los Valores tpicos de corriente directa de polarizacin de un LED estn comprendidos
entre los 10 y 20 miliamperios (mA) en los diodos de color rojo y de entre los 20 y 40 miliamperios
(mA) para los otros LED. Los diodos LED tienen enormes ventajas sobre las lmparas indicadoras
comunes, como su bajo consumo de energa, su mantenimiento casi nulo y con una vida aproximada
de 100,000 horas. Para la proteccin del LED en caso haya picos inesperados que puedan daarlo. Se
coloca en paralelo y en sentido opuesto un diodo de silicio comn
En general, los LED suelen tener mejor eficiencia cuanto menor es la corriente que circula por ellos,
con lo cual, en su operacin de forma optimizada, se suele buscar un compromiso entre la intensidad
luminosa que producen (mayor cuanto ms grande es la intensidad que circula por ellos) y la
eficiencia (mayor cuanto menor es la intensidad que circula por ellos).
ESTRUCTURA DEL LED

RESISTENCIAS
Propiedad de un objeto o sustancia que hace que se resista u oponga al paso de una corriente
elctrica. La resistencia de un circuito elctrico determina segn la llamada ley de Ohm cunta
corriente fluye en el circuito cuando se le aplica un voltaje determinado. La unidad de resistencia es el
ohmio, que es la resistencia de un conductor si es recorrido por una corriente de un amperio cuando
se le aplica una tensin de 1 voltio. La abreviatura habitual para la resistencia elctrica es R, y el
smbolo del ohmio es la letra griega omega, . En algunos clculos elctricos se emplea el inverso de
la resistencia, 1/R, que se denomina conductancia y se representa por G. La unidad de conductancia es
siemens, cuyo smbolo es S. An puede encontrarse en ciertas obras la denominacin antigua de esta
unidad, ohm.

CRISTAL
Al utilizar el cristal para estabilizar la frecuencia, un oscilador incorporado funciona a una frecuencia
determinada, y no es afectada por los cambios de temperatura y de voltaje de alimentacin. Esta
frecuencia se etiqueta normalmente en el encapsulado del cristal. Aparte del cristal, los
condensadores C1 y C2 deben estar conectados como se muestra en el siguiente esquema. Su
capacitancia no es de gran importancia. Por eso, los valores proporcionados en la siguiente tabla se
deben tomar como recomendacin y no como regla estricta.

CABLE UTP
Unshielded Twisted Pair: un tipo de cableado utilizado principalmente para comunicaciones.

Es un cable de pares trenzados y sin recubrimiento metlico externo, de modo que es sensible a las
interferencias; sin embargo, al estar trenzado compensa las inducciones electromagnticas
producidas por las lneas del mismo cable. Es importante guardar la numeracin de los pares, ya que
de lo contrario el efecto del trenzado no ser eficaz, disminuyendo sensiblemente, o incluso
impidiendo, la capacidad de transmisin. Es un cable barato, flexible y sencillo de instalar. La
impedancia

de

un

cable

UTP

es

de

100

ohmios.

Como el nombre lo indica, "unshielded twisted pair" (UTP), es un cable que no tiene revestimiento o
blindaje entre la cubierta exterior y los cables. El UTP se utiliza comnmente para aplicaciones de
REDES Ethernet, el trmino UTP generalmente se refiere a los cables categora 3, 4 y 5 especificados

por el estndar TIA/EIA 568-A standard.


Tipos de cables UTP:
Categora 1: Utilizado para voz solamente
Categora 2: Datos 4 Mbps
Categora 3: UTP con impedancia de 100 ohm y carcter siticas elctricas que soportan frecuencias de
transmisin de hasta 16 MHz. Definida por la especificacin TIA/EIA 568-A specification.
Categora 4: UTP con impedancia de 100 ohm y carcter rsiticas elctricas que soportan frecuencias
de transmisin de hasta 20 MHz. Definida por la especificacin TIA/EIA 568-A.
Categora 5: UTP con 100 ohm de impedancia y carcter siticas elctricas que soportan frecuencias de
transmisin de hasta 100 MHz. Definida por la especificacin TIA/EIA 568-A specification. El cable
debe ser probado para asegurar que cumple con las especificaciones de la categora 5e (CAT 5
enhanced "mejorada"). CAT 5e es un nuevo estndar que soportar velocidades an mayores de 100
Mbps y consiste de un cable par trenzado.

PIC C COMPILER (PCW)


Es un programa utilizado para programar Microcontroladores de la familia PIC, el CCS PCWH
Compiler; es un compilador que nos permite escribir los programas en lenguaje C en vez de
assembler, con lo que se logra un menor tiempo de desarrollo, y mucha facilidad en la programacin.

TIPO
DE
DATO

DESCRIPCIN

TAMAO
(NMERO DE
BITS)

RANGO DE VALORES

char

Texto (caracteres)

de 0 a 255

int

Valores enteros

16

de -32768 a 32767

float

Valores en punto flotante

32

de 1.1754943508210-38 a
6.805647744071038

double

Valores en punto flotante de


doble precisin

32

de 1.1754943508210-38 a
6.805647744071038

TIPO DE
DATO

TIPO DE DATO CON


PREFIJO

TAMAO (NMERO DE
BITS)

RANGO DE VALORES

char

signed char

de -128 a 128

int

unsigned int

16

de 0 a 65535

short int

de 0 a 255

signed short int

de -128 a 127

long int

32

de 0 a 4294967295

signed long int

32

de -2147483648 a 2147483647

MIKROC - PALABR AS CLAVE


absolute

data

if

return

typedef

asm

default

inline

rx

typeid

at

delete

int

sfr

typename

auto

do

io

short

union

bit

double

long

signed

unsigned

bool

else

mutable

sizeof

using

break

enum

namespace

static

virtual

case

explicit

operator

struct

void

catch

extern

org

switch

volatile

char

false

pascal

template

while

class

float

private

this

code

for

protected

throw

const

friend

public

true

continue

goto

register

try

OPERADORES ARITMETICOS
OPER ADOR

OPER ACI N

Adicin

Resta

Multiplicacin

Divisin

Resto de la divisin

OPERADORES DE ASIGNACION
EJEM PLO
OPER ADOR
Expresin

Equivalente

+=

a += 8

a=a+8

-=

a -= 8

a=a-8

*=

a *= 8

a=a*8

/=

a /= 8

a=a/8

%=

a %= 8

a=a%8

OPERADORES DE INCREMENTO Y DECREMENTO


OPER ADOR

EJEM PLO

DESCRI PCI N

++a
++

Variable "a" es incrementada por 1


a++
--b

--

Variable "a" es decrementada por 1

OPERADORES RELACIONALES
OPER ADOR

DESCRI PCI N

EJEM PLO

COND ICI N DE VERACID AD

>

mayor que

b>a

si b es mayor que a

>=

mayor o igual que

a >= 5

si a es mayor o igual que 5

<

menor que

a<b

si a es menor que b

<=

menor o igual que

a <= b

si a es menor o igual que b

==

igual que

a == 6

si a es igual que 6

!=

desigual que

a != b

si a es desigual que b

OPERADORES LOGICOS
OPER ADOR

FUNCI N

&&

||

NO

OPERADORES DE MANEJO DE BITS


OPER ADOR

DESCRI PCI N

EJEM PLO

RESULT AD O

Complemento a uno

a = ~b

b=5

a = -5

<<

Desplazamiento a la izquierda

a = b << 2

b = 11110011

a = 11001100

>>

Desplazamiento a la derecha

a = b >> 2

b = 11110011

a = 00011110

&

Y lgico para manejo de bits

c=a&b

a = 11100011
b = 11001100

c = 11000000

O lgico para manejo de bits

c=a|b

a = 11100011
b = 11001100

c = 11101111

EXOR lgico para manejo de bits

c=a^b

a = 11100011
b = 11001100

c = 00101111

PRI ORID AD

OPER ADOR ES

ASOCI ATI VID AD

Alta

() [] -> .

de izquierda a derecha

! ~ ++ -- +(unitario) -(unitario) *Puntero &Puntero

de derecha a izquierda

*/%

de izquierda a derecha

+-

de izquierda a derecha

<>

de izquierda a derecha

< <= > >=

de izquierda a derecha

== !=

de izquierda a derecha

&

de izquierda a derecha

de izquierda a derecha

de izquierda a derecha

&&

de izquierda a derecha

||

de derecha a izquierda

?:

de derecha a izquierda

= += -= *= /= /= &= ^= |= <= >=

de izquierda a derecha

Baja

PROTEUS
Proteus es

una compilacin de programas de

diseo

simulacin electrnica,

desarrollado

por Labcenter Electronics que consta de los dos programas principales: Ares e Isis, y los mdulos VSM
y Electra.

ISIS
El Programa ISIS, Intelligent Schematic Input System (Sistema de Enrutado de Esquemas Inteligente)
permite disear el plano elctrico del circuito que se desea realizar concomponentes muy variados,
desde

simples resistencias,

hasta

alguno

que

otro microprocesador o microcontrolador,

incluyendo fuentes de alimentacin, generadores de seales y muchos otros componentes con


prestaciones diferentes. Los diseos realizados en Isis pueden ser simulados en tiempo real, mediante
el mdulo VSM, asociado directamente con ISIS.

MATERIAL Y EQUIPO UTILIZADO:

PROTOBOARD

MICROCONTROLADOR PIC16F877A

PROGRAMADOR USB DE PIC MASTER PROG

PROGRAMA PARA PROGRAMAR PIC MASTER PROG

24 LEDS

25 RESISTENCIAS (220)

BOTON PULSADOR

CABLE UTP

PINZAS PELADORAS Y CORTADORAS DE CABLE

CRISTAL 4MHZ

FUENTE DE 5 VOLTS

SIMULADOR PROTEUS 8 PROFESSIONAL

PIC C COMPILER (PCW)

DESARROLLO DE LA PRCTICA:
CONEXION DEL PIC:
Se coloco el PIC16F877A en el Protoboard y se conecto una resistencia en cada pin de cada
una de las salidas en los puertos B (33-40), C (15-18 y 23-26), y D (19-22 y 27-30) para proteger
los LED que posteriormente se conectaron uno a uno en cada resistencia (el nodo se conecto
en la resistencia y el ctodo al negativo [-]).
Se conecto el Botn pulsador con una resistencia a 5V en el Pin 1 para el RESET del
Microcontrolador.
Se conecto el Cristal de 4MHZ en los Pines 13 y 14 para oscilar y generar una frecuencia de
4MHZ.
Se conecto el Pin 11 a 5V y el Pin 12 a negativo (-).

PROGRAMACION Y SIMULACION:
Se realizaron distintos programas haciendo uso de la informacin mencionada con anterioridad para
determinar el funcionamiento necesario indicado en cada uno de los programas, haciendo uso del
programa PCW. Se compilo y se cargo en el PIC16F877A en el circuito armado en ISIS de Proteus para
hacer una simulacin del circuito que se har en fsico, para as poder detectar posibles errores en
conexiones o en el programa y no daar el equipo.

PROGRAMACION DEL PIC:


Ya que se comprob que el programa realiza lo requerido se llevo a cabo la programacin del PIC con
el Programador que se conecto a la computadora por medio del USB y se abri el programa MASTER
PROG. Ya reconocido e instalado el programador, se coloco el PIC y se aseguro. En el MASTER
PROG se ley el PIC, se borro posible contenido y se cargo el archivo .HEX del programa para
posteriormente escribirlo en el PIC.

FUNCIONAMIENTO DEL PROGRAMA:


Ya cargado el archivo en el PIC se retiro del programador y se coloco nuevamente en el Protoboard
para presentar el programa cargado. Se energizo el circuito y comenz a realizar las funciones e
indicaciones realizadas en el programa.

PROGRAMAS REALIZADOS:
3.1.1. Sacar un dato.
3.1.2. Corrimiento unilateral.
3.1.3. Corrimiento bilateral.
3.1.4. Corrimiento centro-extremos.
3.1.5. Corrimiento bilateral 24 leds.

3.1.1 SACAR UN DATO.

Circuito en el que se conectaron 24 leds en los puertos B, C y D (8 en cada Puerto), realiza un


corrimiento asemejando a un reloj. Hace un corrimiento bilateral en el puerto D asemejando los
segundos, al hacer el corrimiento completo avanza un led en el puerto C asemejando los minutos y al
terminar todo el corrimiento bilateral en dicho puerto, avanza un led en el puerto D, y as
sucesivamente hasta terminar el corrimiento bilateral asemejando a las horas.

#include "16F877.h"
#use delay (clock=4000000)
#FUSES XT,PUT,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT

const char codigo[]={1,2,4,8,16,32,64,128,64,32,16,8,4,2,1};


char A,B,C;

main()
{
for(A=0;A<=15;A++)
for(B=0;B<=15;B++)
for(C=0;C<=15;C++)
{
output_b(codigo[A]);
output_c(codigo[B]);
output_d(codigo[C]);
delay_ms(100);
}
return 0;
}

3.1.2. CORRIMIENTO UNILATERAL.

Programa para que por medio de ocho leds conectados a la salida de puerto, se visualice como se
enciende un led, luego se apaga y enciende el siguiente, luego se apaga y enciende el siguiente. Haciendo
un recorrido de un extremo a otro de la barra de leds, y cuando termine inicie de nuevo.

#include "16f877.h"
#USE delay(CLOCK=4000000)
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,NOBROWNOUT
const char codigo[]={1,2,4,8,16,32,64,128};
char cnt;
main()
{

for (cnt=0;cnt<=8;cnt++)
{
output_b (codigo[cnt]);
delay_ms(100);
}
return 0;
}

3.1.3. CORIMIENTO BILATERAL.

En forma similar al programa del ejercicio anterior, en el que se activa una salida, se apaga y se enciende
la prxima; el circuito deber encender una hilera de led's, con la diferencia de que al llegar al extremo,
deber regresar de forma contraria.

#include "16f877.h"
#USE delay(CLOCK=4000000)
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,NOBROWNOUT
const char codigo[]={1,2,4,8,16,32,64,128,64,32,16,8,4,2};
char cnt;
main()
{
for(;;)
for (cnt=0;cnt<=15;cnt++)
{
output_b (codigo[cnt]);
delay_ms(100);
}
return 0;
}

3.1.4. CORRIMIENTO CENTRO-EXTREMOS.

Programa para el circuito en esta prctica, para visualizar el encendido secuencial de led's, con la
particularidad de que enciende primero en el centro hasta llegar a ambos extremos.

#include "16f877.h"
#USE delay(CLOCK=4000000)
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,NOBROWNOUT
const char codigo[]={24,36,66,129};
char cnt;
main()
{
for(;;)
for (cnt=0;cnt<=4;cnt++)
{
output_b (codigo[cnt]);
delay_ms(200);
}
return 0;
}

3.1.5. CORRIMIENTO BILATERAL 24 LEDS.

Circuito en el que se conecto un led a cada salida de 3 de los puertos (B, C y D) de 8 leds, para hacer un
total de 24 leds. El programa realiza un corrimiento en cada uno de los leds y al llegar al extremo realiza
el corrimiento de forma contraria.

#include "16F877.h"
#use delay (clock=4000000)
#FUSES XT,PUT,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT

char A,B=1;
main()
{
for(A=0;A<8;A++){
if(A==0){B=1;}
output_b(B);
delay_ms(100);
B=B*2;
}
output_b(0);
for(A=0;A<8;A++){
if(A==0){B=1;}
output_c(B);
delay_ms(100);
B=B*2;
}
output_c(0);
for(A=0;A<8;A++){
if(A==0){B=1;}
output_d(B);
delay_ms(100);
B=B*2;
}
for(A=0;A<8;A++){
if(A==0){B=128;}
output_d(B);

delay_ms(100);
B=B/2;
}
output_d(0);
for(A=0;A<8;A++){
if(A==0){B=128;}
output_c(B);
delay_ms(100);
B=B/2;
}
output_c(0);
for(A=0;A<8;A++){
if(A==0){B=128;}
output_b(B);
delay_ms(100);
B=B/2;
}
return 0;
}

OBSERVACIONES:
Al principio olvidamos proteger los con las resistencias leds para evitar que se quemaran y dos no
prendieron, tuvimos que cambiarlos y posteriormente colocamos las resistencias para que no
volvieran a daarse otros.
Olvidamos poner el botn del RESET y al momento de energizar el circuito no funciono. Tuvimos que
colocarlo y volvimos energizar para que el circuito realizara lo indicado en el programa.
En el segundo programa hubo un error debido a que no se coloco el puerto en el que tena que salir la
informacin y al momento de compilacin marcaba error, se reviso el programa y se corrigi el error.
Solo se presentaron problemas en el primer programa debido a que apenas comenzbamos a hacer
uso de dicho PIC, se corrigieron los errores y aprendimos de ellos para no cometerlos en los
programas siguientes.
12290391 Negrete Michel Arnan Misael 3fb

CONCLUSIONES:
En conclusin aprendimos a utilizar un microcontrolador y a programar en un pic c para indicar
nuevas funciones que realizara dicho PIC en el circuito. Aprendimos a utilizar nuevos elementos
como el programador, a programar en PIC C, a realizar simulaciones en PROTEUS y a realizar
circuitos con indicaciones dadas por nosotros en el programa.

REFERENCIAS:
http://www.monografias.com/trabajos18/descripcion-pic/descripcion-pic.shtml#ixzz2pkLuYzdn
http://www.monografias.com/trabajos60/diodo-led/diodo-led.shtml#ixzz2pkT1gYbM
http://www.monografias.com/trabajos16/componentes-electronicos/componentes
electronicos.shtml#ixzz2pkVIKF2r
http://www.mikroe.com/chapters/view/82/capitulo-4-ejemplos/
http://cableutpnubiaardila.blogspot.mx/
http://www.mikroe.com/chapters/view/80/capitulo-2-programacion-de-los-microcontroladores/

You might also like