Professional Documents
Culture Documents
LABORATORIO DE MICROCONTROLADORES
TEMA:
1.- MANEJO DE PUERTOS
APELLIDOS Y NOMBRES:
GRUPO HORARIO:CODIGO: .
A) OBJETIVOS:
a. Reconocer las caractersticas de los Puertos de Entrada y salida del PIC 16F877A.
b. Realizar la programacin usando Software para la programacin del Pic 16F877A.
c. Implementar los circuitos usando los componentes necesarios para su funcionamiento.
Desarrollar un programa que configure las lneas del puerto A como entrada y las lneas del puerto B como
salida. Y que muestre en forma permanente la entrada del puerto A en el puerto B.
1
Ing. FERNANDO MENDOZA APAZA
INSTITUTO DE EDUCACIN SUPERIOR TECNOLGICO PBLICO
2
Ing. FERNANDO MENDOZA APAZA
INSTITUTO DE EDUCACIN SUPERIOR TECNOLGICO PBLICO
BUCLE
movf PORTA,W ; W=PORTA
movwf PORTB ; PORTB=W
addlw b'00010000' ; Suma al W = W + 16
movwf PORTC ; PORTC=W=PORTA+16
addlw b'00010000' ; Suma al W = W + 16
movwf PORTD ; PORTD=W= PORTA+32
goto BUCLE ; Ir bucle
3
Ing. FERNANDO MENDOZA APAZA
INSTITUTO DE EDUCACIN SUPERIOR TECNOLGICO PBLICO
4
Ing. FERNANDO MENDOZA APAZA
INSTITUTO DE EDUCACIN SUPERIOR TECNOLGICO PBLICO
A3 B7 B3
A[0..5] A[0..5] B[0..7] B[0..7]
A2 B6 B2
A5 A1 B5 B1
A4 A0 B4 B0
5
6
7
8
5
6
7
8
5
6
7
8
5
6
7
8
DSW1 DSW2 DSW3 DSW4
OFF
OFF
OFF
OFF
DIPSW_4 DIPSW_4 DIPSW_4 DIPSW_4
ON
ON
ON
ON
4
3
2
1
4
3
2
1
4
3
2
1
4
3
2
1
X1
22p CRYSTAL
C1
U1
C2 13 33 B0
OSC1/CLKIN RB0/INT
14 34 B1
OSC2/CLKOUT RB1
35 B2
RB2
22p A0 2 36 B3
RA0/AN0 RB3/PGM
A1 3 37 B4
RA1/AN1 RB4
A2 4 38 B5
RA2/AN2/VREF-/CVREF RB5
A3 5 39 B6
RA3/AN3/VREF+ RB6/PGC
A4 6 40 B7
RA4/T0CKI/C1OUT RB7/PGD
A5 7
A[0..5] RA5/AN4/SS/C2OUT B[0..7]
15 C0
RC0/T1OSO/T1CKI
E0 8 16 C1
RE0/AN5/RD RC1/T1OSI/CCP2
E1 9 17 C2
RE1/AN6/WR RC2/CCP1
E2 10 18 C3
RE2/AN7/CS RC3/SCK/SCL
23 C4
E[0..2] RC4/SDI/SDA
1 24 C5
MCLR/Vpp/THV RC5/SDO
25 C6
RC6/TX/CK
26 C7
RC7/RX/DT
D1 C[0..7]
19 D0
RD0/PSP0
20 D1
RD1/PSP1
21 D2
DIODE RD2/PSP2
22 D3
R0 RD3/PSP3
27 D4
10k RD4/PSP4
28 D5
RD5/PSP5
29 D6
RD6/PSP6
30 D7
RD7/PSP7
D[0..7]
PIC16F877A
8 C7
7 C6
6 C5
5 C4
4 C3
3 C2
2 C1
1 C0
8 B7
7 B6
6 B5
5 B4
4 B3
3 B2
2 B1
1 B0
10
10
10
9
U4 U3 U2
11
12
13
14
15
16
17
18
19
20
11
12
13
14
15
16
17
18
19
20
11
12
13
14
15
16
17
18
19
20
8
7
6
5
4
3
2
1
8
7
6
5
4
3
2
1
8
7
6
5
4
3
2
1
9
10
11
12
13
14
15
16
9
10
11
12
13
14
15
16
5
Ing. FERNANDO MENDOZA APAZA
INSTITUTO DE EDUCACIN SUPERIOR TECNOLGICO PBLICO
b. Disee simule e implemente un programa que realice lo siguiente: Tres lmparas que debe
ser prendida o apagada desde cinco puntos. Disee un programa que la encienda si y solo si
hay dos y cuatro interruptores activados.
c. Suponga que tenemos los cinco interruptores dispuestos en el PORTB ( RB2) ,PORTD(RD5),
PORTC(RC),PORTA(RA4),PORTE(RE1) y definimos la lnea RD3,RB4,RA3.
NOTA :
El modo de reloj externo (EC - external clock) utiliza un oscilador externo como una fuente de seal de reloj. La mxima
Las ventajas del funcionamiento del oscilador externo en modo EC son las siguientes:
La fuente de reloj externa independiente est conectada al pin de entrada OSC1. El pin OSC2 est disponible
como pin de E/S de propsito general;
Es posible sincronizar el funcionamiento del microcontrolador con los dems componentes incorporados en el
dispositivo;
En este modo el microcontrolador se pone a funcionar inmediatamente despus de encenderlo. No se requiere
esperar para estabilizar la frecuencia.
Al deshabilitar temporalmente la fuente de reloj externa, se detiene el funcionamiento del dispositivo, dejando
todos los datos intactos. Despus de reiniciar el reloj externo, el dispositivo sigue funcionando como si no
hubiera pasado nada.
6
Ing. FERNANDO MENDOZA APAZA
INSTITUTO DE EDUCACIN SUPERIOR TECNOLGICO PBLICO
Los modos LP, XT y HS utilizan un oscilador externo como una fuente de reloj cuya frecuencia est determinada por un
cristal de cuarzo o por resonadores cermicos conectados a los pines OSC1 y OSC2. Dependiendo de las caractersticas
Modo LP - (Baja potencia) se utiliza slo para cristal de cuarzo de baja frecuencia. Este modo est destinado
para trabajar con cristales de 32.768 KHz normalmente embebidos en los relojes de cristal. Es fcil de
reconocerlos por sus dimensiones pequeas y una forma cilndrica. Al utilizar este modo el consumo de corriente
ser menor que en los dems modos.
Modo XT se utiliza para cristales de cuarzo de frecuencias intermedias hasta 8 MHz. El consumo de corriente es
media en comparacin con los dems modos.
Modo HS - (Alta velocidad) se utiliza para cristales de reloj de frecuencia ms alta de 8 MHz. Al utilizar este
modo el consumo de corriente ser mayor que en los dems modos.
Los resonadores cermicos son similares a los cristales de cuarzo segn sus caractersticas, por lo que se conectan de la
misma manera. A diferencia de los cristales de cuarzo, son ms baratos y los osciladores que hacen uso de ellos son de
calidad ms baja. Se utilizan para las frecuencias de reloj entre 100 kHz y 20 MHz.
7
Ing. FERNANDO MENDOZA APAZA
INSTITUTO DE EDUCACIN SUPERIOR TECNOLGICO PBLICO
El uso de los elementos para estabilizar la frecuencia sin duda alguna tiene muchas ventajas, pero a veces realmente no
es necesario. En la mayora de casos el oscilador puede funcionar a frecuencias que no son precisamente definidas, as
que sera una prdida de dinero embeber tales elementos. La solucin ms simple y ms barata es estas situaciones es
utilizar una resistencia y un capacitor para el funcionamiento del oscilador. Hay dos modos:
Modo RC. Cuando el oscilador externo se configura a funcionar en modo RC, el pin OSC1 debe estar conectado al
circuito RC como se muestra en la figura a la derecha. La seal de frecuencia del oscilador RC dividida por 4 est
disponible en el pin OSC2. Esta seal se puede utilizar para la calibracin, sincronizacin o para otros propsitos.
Modo RCIO. De manera similar, el circuito RC est conectado al pin OSC1. Esta vez, el pin OSC2 est disponible para
La frecuencia de este oscilador se calcula por medio de la frmula f = 1/T segn la que:
f = frecuencia [Hz];
T = R * C = constante de tiempo [s];
R = resistencia elctrica []; y
C = capacitancia del condensador [F].
Luego de hacer un programa es lgico que queramos grabarlo en nuestro PIC para poder probar su
funcionamiento, para esto existen infinidad de grabadores y softwares que nos permiten hacer esta tarea.
Una vez grabado el programa muchas veces nos damos con la sorpresa que no funciona nuestra aplicacin
8
Ing. FERNANDO MENDOZA APAZA
INSTITUTO DE EDUCACIN SUPERIOR TECNOLGICO PBLICO
y en muchos casos se debe a que no configuramos antes el software para grabar el PIC, y nos dicen que
se trata de los FUSES, que debemos configurarlos, a que se refieren?
Bueno, los PIC's incluyen en una posicin reservada de memoria (2007H) la famosa Palabra de
Configuracin y a la cual solo se accede durante la grabacin. El como configuremos este registro
determinar las caractersticas de funcionamiento del PIC.
Palabra de Configuracin:
/ CP1 / CP0 / DEBUG / --- / WRT / CPD / LVP / BODEN / CP1 / CP0 / PWRTE# / WDTE / FOSC1 / FOSC0 /
- 13 -- 12 -- 11 -- 10 --- 9 --- 8 --- 7 --- 6 --- 5 --- 4 -- 3 --- 2 --- 1 --- 0 -- bits
CP1-CP0: Cdigo de proteccin de memoria de programa. Si no estn activos cualquiera puede leer
nuestro programa que grabamos en la memoria. Se suele activar solo cuando tienes una aplicacin final
que deseas vender y no quieres que lean tu cdigo.
DEBBUG: Modo Depurador en Circuito. Se usa cuando se tiene herramientas de Emulacin como el ICD2
que combinado con el MPLAB permiten Emular una aplicacin directamente en Hardware.
WRT: Permiso para escritura en Modo FLASH. Se usa cuando en nuestro programa accedemos a la
memoria de datos EEPROM.
CPD: Cdigo de Proteccon de la memoria EEPROM de Datos. Es como nuestro password en caso de
querer proteger esa parte de la memoria.
LVP: Bit de Permiso para Programacin en Bajo Voltaje. Se usa con algunos modelos de PIC's sobretodo
con los LF que trabajan con voltajes de 3V hasta 6V.
PWRTE#: Bit de Permiso para el Timer de conexin de alimentacin. Se usa para resetear el PIC cada vez
que se conecta la fuente de alimentacin de nuestra aplicacin.
WDTE: Bit de Permiso del Timer del Perro Guardin. Se activa cuando se usa el Perro Guardin o WDT en
nuestras aplicaciones, se ver ms adelante.
En caso de querer configurar directamente desde nuestro cdigo de programa, deberemos agregar una
lnea de cdigo como esta:
LIST P=16F877A
INCLUDE <P16F877A.INC>
__CONFIG _BODEN_OFF&_CP_OFF&_WRT_ENABLE_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC&_DEBUG_OFF&_CPD_OFF&_LVP_OFF
;resto del programa...
de esta manera nos aseguramos de tener configurados los FUSES usemos el software que usemos .
9
Ing. FERNANDO MENDOZA APAZA