Vous êtes sur la page 1sur 7

UNIVERSIDAD NACIONAL DE INGENIERIA

FACULTAD DE ELECTROTECNIA Y COMPUTACIN


Electrnica Digital II
Dept. Sist. Digitales y Telecom!icacio!es
Laboratorio 2: Puertos de Entrada y Salida.
2.1 Objetivo.
Familiarizarse con los Puertos de Entrada y Salida mediante la implementacin prctica del ejemplo
LED y Botones y el ejemplo Pantalla LCD.
2.2 Introduccin.
En casi todos los proyectos es necesario leer alguna entrada de tipo digital conectada a pulsadores,
interruptores, sensores digitales o similares tam!i"n es necesario escri!ir datos por medio de una
salida de tipo digital conectada a LED, pantallas LCD, display de siete segmentos o similares. Este
la!oratorio trata de e#plicar cmo realizar la con$iguracin de los puertos del P%C para utilizarlos
como entradas o salidas digitales.
2.3 Puertos de Entradas/Salidas.
Los &icrocontroladores P%C tienen terminales de entrada'salida (%'), %nput')utput* di+ididos en
puertos, ,ue se encuentras nom!rados al$a!"ticamente -, B, C, D, etc. Cada puerto puede tener
.asta / terminales ,ue se pueden comportar como una %') digital.
El P%C01F/22- tiene .asta 34 %') digitales de propsito general, y en dependencia de la
con$iguracin de sus peri$"ricos pueden estar disponi!les como %') de propsito general. Por lo
tanto, si un peri$"rico es .a!ilitado, el pin asociado no ser utilizado como %') de propsito
general.
2.3.1 Lectura del puerto.
La siguiente $uncin con$igura el puerto como entrada y realiza su lectura5
input6#( *

2.3.2 Lectura del pin de Entrada
La siguiente $uncin con$igura el P%7 como entrada y realiza su lectura5
input( *

UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE ELECTROTECNIA Y COMPUTACIN
Electrnica Digital II
Dept. Sist. Digitales y Telecom!icacio!es
2.3.3 Escritura del puerto.
La siguiente $uncin con$igura el puerto como salida y realiza su escritura5
8.3.9 Escritura de un pin.
Las siguientes $unciones con$iguran el pin como salida y realizan su escritura5
outputlo!" #$ output%i&%" # y outputbit" #
Sinta#is output6lo:(pin * Pone a ; el pin
output6.ig.(pin* Pone a 0 el pin
output6!it(pin,+alue* Le da el +alor de +alue al pin.

8.3.4 Con$iguracin rpida de los pines %').
<na con$iguracin rpida genera cdigo ms e$iciente, ya ,ue el compilador asume ,ue los pines de
%') sern cam!iados solo si es especi$icado por el usuario. - continuacin se muestra la $uncin
para decidir si los pines de un puerto son de entrada o salida5
set6tris6#( *
-l utilizar la $uncin anterior siempre es necesario utilizar la siguiente directi+a5
'(SE )*S+IO
UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE ELECTROTECNIA Y COMPUTACIN
Electrnica Digital II
Dept. Sist. Digitales y Telecom!icacio!es
2., Procedi-iento.
8.9.0 LED y Botones.
0. Crear un Proyecto en CCS y guardar con el nom!re de LED6Botones.
8. Copiar el Cdigo LED6Botones.
3. Compilar el proyecto.
9. Crear el circuito en Proteus. Para ello ser necesario !uscar mediante la caja de !=s,ueda en la
+entana P%C> DE?%CE el P%C01F/22-, el L)@%CSA-AE y el L)@%CPB)BE.
4. Cargar el -rc.i+o $uente Led6Botones..e# y Bealizar la simulacin.
8.9.8 Pantalla LCD.
0. Crear un Proyecto en CCS y guardar con el nom!re de LED6Botones.
8. Copiar el Cdigo LCD6Cola&undo.
3. Compilar el proyecto.
UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE ELECTROTECNIA Y COMPUTACIN
Electrnica Digital II
Dept. Sist. Digitales y Telecom!icacio!es
1. Crear el circuito en Proteus. Para ello ser necesario !uscar mediante la caja de !=s,ueda en la
+entana P%C> DE?%CE el P%C01F/22 y el L&;01L.

2. Cargar el -rc.i+o $uente LCD6Cola&undo.co$ y Bealizar la simulacin.
2.. /di&os.
8.4.0 Cdigo LED6Botones.
- continuacin se muestra un cdigo ,ue .ace ,ue el LED conectado al pin BB; se encienda
cuando se presiones el !otn conectado a BB0.
#include <16f877a.h> //PIC utilizado
#fue !"#$%&D'#$%P(%'EC'#P)' //Con*gura+o lo fue
#ue dela, -cloc./801 //%cilador a 80hz
#ue fat2io-31 //%4ti+iza+o E/" del P%('5
//666666Progra+a 4rinci4al66666
7oid +ain-7oid1
8
et2tri23-9:;E1< //"alida (59 co+o alida# el reto co+o entrada.
do8
if-in4ut-PI$251118 //"i el4ulador eta en alto...
out4ut2high-PI$2591< = //enciendo el >ED.
ele 8 //Cao contrario...
out4ut2lo?-PI$2591< = //lo a4ago.
=?hile-'()E1< //(e4ito el 3ucle
=
Dinclude E01F/22-..F ''' li!reria para el manejo del pic01$/22a
Duse delay(clocGH/;;;;;;* ''' declara la $recuencia del cristal
D$uses CS,7)IDA,7)P<A,7)L?P,7)BB)I7)<A,7)IBA,7)PB)AECA
Dinclude Elcd.cF '' Li!rerJa para el manejo del lcd para +er las cone#iones
'' a!ran el arc.i+o C5K-rc.i+os de programaKP%CCKDri+ersKlcd.c
'' y a.i les muestra.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'' D; ena!le
'' D0 rs
'' D8 r:
'' D9 D9
'' D4 D4
'' D1 D1
'' D2 D2
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+oid main(+oid*
L
lcd6init(* '' -ntes de usar el lcd,.ay ,ue inicializarlo
lcd6putc(MC)L- &<7D)M* '' Escri!es en la lcd
N '' $in de programa
UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE ELECTROTECNIA Y COMPUTACIN
Electrnica Digital II
Dept. Sist. Digitales y Telecom!icacio!es
8.1 &odi$icaciones de los cdigos.
8.1.0 Para poder cam!iar los pines de salida utilizados para la cone#in del lcd, es necesario agregar
las siguientes lJneas de cdigo para de$inir cual puerto y ,ue pines son necesarios para dic.a
cone#in.
Dde$ine LCD6E7-BLE6P%7 P%76B4
Dde$ine LCD6BS6P%7 P%76B9
Dde$ine LCD6BI6P%7 P%76B1
Dde$ine LCD6D-A-9 P%76B;
Dde$ine LCD6D-A-4 P%76B0
Dde$ine LCD6D-A-1 P%76B8
Dde$ine LCD6D-A-2 P%76B3
8.1.8 Conociendo los cam!ios a realizar en el codigo $uente, a.ora utilice el puerto B como salida
para el LCD.
8.1.3 Creacin de un pe,ueOo menu
Dinclude E01F/22-..F
D$uses noprotect,no:dt,no:rt,nol+p,CS
Duse delay(clocGH/&*
Dde$ine
Dde$ine LCD6E7-BLE6P%7 P%76C4
Dde$ine LCD6BS6P%7 P%76C1
Dde$ine LCD6BI6P%7 P%76C2
Dde$ine LCD6D-A-96P%7 P%76D9
Dde$ine LCD6D-A-46P%7 P%76D4
Dde$ine LCD6D-A-16P%7 P%76D1
Dde$ine LCD6D-A-26P%7 P%76D2
Dinclude Elcd.cF
''Dinclude EPuertos.cF
Duse $ast6io(-*
int item
+oid main(+oid*
L
lcd6init(*
:.ile(true*
L
i$(input(P%76-;*HH;*
L
itemPP
delay6ms(3;;*
N

UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE ELECTROTECNIA Y COMPUTACIN
Electrnica Digital II
Dept. Sist. Digitales y Telecom!icacio!es

2.0 +rabajo a Entre&ar "1eporte#
2.0.1 1eali2ar el si&uiente ejercicio de pro&ra-acion:
Despues de conocer la creacion de un menu con las intrucciones case. -.ora genere un menu el cual
presente los enca!ezados.
Electronica
Electrica
Computacion
Estos enca!ezados seran cam!iados cada +ez ,ue se presione un pulsador, es decir ,ue solo +a
e#istir un unico pulsador ,ue cada +ez ,ue se pulse cam!iara la +isualizacion en el LCD.
Estando en una opcion del menu se utilizara otro pulsador para encender un LED correspondiente a
cada carrera, es decir si en el LCD estoy +isualizando la carrera de Computacion con otro pulsador
encendere un LED correspondiente a esa carrera.
2.0.2 Enviar todas las si-ulaciones "Proteus# planteadas en el laboratorio en conjunto con los
arc%ivos &enerados por el pro&ra-a //S. /ada arc%ivo y si-ulacion ponerlos en carpetas
separadas y -andarlas de -anera co-pri-ida a -i correo.
s:itc.(item*
L
case ;5
lcd6goto#y(9,0*
lcd6putc(M)pcion 0M*
!reaG

case 05
lcd6goto#y(9,0*
lcd6putc(M)pcion 8M*
!reaG

case 85
lcd6goto#y(9,0*
lcd6putc(M)pcion 3M*
!reaG
N
N
N

UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE ELECTROTECNIA Y COMPUTACIN
Electrnica Digital II
Dept. Sist. Digitales y Telecom!icacio!es

Vous aimerez peut-être aussi