Professional Documents
Culture Documents
RESPONSABLE /EQUIPO:
Ivn Pesantez
Vernica Vicua
ACCESORIOS:
Pickit 3
Protoboard.
PIC18F4550.
DOCENTE:
Ing. Luis Serpa.
PROCEDIMIENTO
2. VISUALIZACIN EN DISPLAY
CTEDRA O MATERIA
RELACIONADA
SISTEMAS
MICROPROCESADOS II
REVISIN N: 1
EDICIN: 1
NMERO DE
ESTUDIANTES POR
EQUIPO O PRCTICA:
10 puestos de trabajo
2 estudiantes por
puesto
Fecha:
20-OCTUBRE-2015
Objetivo General:
Mostrar en un display de siete segmentos una secuencia ascendente y
descendente con tres pulsantes, uno para cada serie y otro de paro
respectivamente.
Objetivos Especficos:
Simular en software Proteus para comprobar el funcionamiento.
Realizar una gua de los procedimientos utilizados
Sustento terico
1 Pic18F4550
Este es un micro controlador que cuenta con diversos perifricos y un procesador
de 8 bits, esto quiere decir que es capaz de manejar datos compuestos por ocho bits que
equivalen a un byte. Este microcontrolador o uC tiene una hoja de datos (datasheet) en
donde se encuentran cada uno de los nombres de sus registros, ubicaciones de los
mismos, funcionalidades y usos de todos los registros que son capaces de controlar a
este uC. Antes de adentrarnos a hablar de sus registros y lo que hace cada uno, es
necesario conocer que es un registro [1], [2]. A continuacin se ilustra en la figura (1) el
diagrama de pines del microcontrolador.
2 Registros
Un registro es simplemente un espacio de la memoria interna del uC dispuestos en
bancos o bloques, que obviamente ya tiene un destino pre-definido. Existen registros de
propsito general y Registros de configuracin. Los de propsito general son aquellos en
los
que
el
programador
puede
acceder
y
modificar a su gusto, es precisamente una memoria que almacena informacin a manera
de una repisa con diferentes niveles, cada nivel, es un registro, y cada uno est
conformado por 8 cajones, los cajones que no se usan, simplemente son sustituidos por
un cero. Estos registros pueden ser expresados, llamados o llenados de forma: decimal,
hexadecimal o binaria.
Los registros de configuracin son precisamente eso, espacios de memoria que el
programador no puede simplemente borrar sin obtener una repercusin en la
configuracin o el funcionamiento del uC (no de su programa). Estos funcionan de la
misma
manera,
son
niveles
de
repisa
que
poseen
8
cajones cada uno, pero cada cajn tiene un significado, y dos estados, 1 o 0 que
pueden tambin, si son cajones en los que se puede receptar valores externos al uC,
valores de voltaje lgico (5 voltios para un 1 lgico o 0 voltios para un 0 lgico) [3].
display
es
un
visualizador
que
permite
realizar
diferentes
figuras
Procedimiento:
A partir del diagrama de bloque bsico realizado en el programa de simulacin
Proteus se puede ver que la conexin realizada es bsica. Vase la figura (3).
Pickit 3.
Conclusiones
Bibliografa:
[1]
Fernando
E.
Valds
Prez,
Ramn
Palls
Areny.
Microcontroladores:
Fundamentos
y
Aplicaciones
con
PIC.
Espaa.
ISBN:
84267-14XX.
Disponible
en:
https://books.google.com.ec/books?id=
Vm3LzebPliIC&printsec=frontcover&dq=microcontroladores&hl=es&
sa=X&ei=GN0qVZDdEu3gsAS134DYBA&redir_esc=y#v=onepage&q=
microcontroladores&f=false
[2]
Ordua
Huertas,
Juan
Manuel.
Arnau
Llombart,
Vivente.
Arquitectura
y
Programacin
de
Microcontroladores.
Espaa.
ISBN:
84-3702347-5.
Disponible
en:
https://books.google.com.ec/books?id=
Vm3LzebPliIC&printsec=frontcover&dq=microcontroladores&hl=es&
sa=X&ei=GN0qVZDdEu3gsAS134DYBA&redir_esc=y#v=onepage&q=
microcontroladores&f=false
[3] MpLab XC8 C compiler, user guide.
Anexos:
#include
#include
#include
#include
<xc.h>
//Libreria del compulador XC8
<stdio.h>
//Archivos de cabecera
<stdlib.h>
<plib/delays.h>
PWRT = OFF
BOR = OFF
BORV = 3
// Brown-out Reset Voltage bits (Minimum setting)
VREGEN = OFF
// USB Voltage Regulator Enable bit (USB voltage regulator disabled)
// CONFIG2H
#pragma config WDT = OFF
// Watchdog Timer Enable bit (WDT disabled (control is placed on the
SWDTEN bit))
#pragma config WDTPS = 32768 // Watchdog Timer Postscale Select bits (1:32768)
// CONFIG3H
#pragma config CCP2MX = ON
// CCP2 MUX bit (CCP2 input/output is multiplexed with RC1)
#pragma config PBADEN = ON
// PORTB A/D Enable bit (PORTB<4:0> pins are configured as analog input
channels on Reset)
#pragma config LPT1OSC = OFF // Low-Power Timer 1 Oscillator Enable bit (Timer1 configured for higher
power operation)
#pragma config MCLRE = ON
// MCLR Pin Enable bit (MCLR pin enabled; RE3 input pin disabled)
// CONFIG4L
#pragma config STVREN = ON
// Stack Full/Underflow Reset Enable bit (Stack full/underflow will cause
Reset)
#pragma config LVP = ON
// Single-Supply ICSP Enable bit (Single-Supply ICSP enabled)
#pragma config ICPRT = OFF
// Dedicated In-Circuit Debug/Programming Port (ICPORT) Enable bit (ICPORT
disabled)
#pragma config XINST = OFF
// Extended Instruction Set Enable bit (Instruction set extension and Indexed
Addressing mode disabled (Legacy mode))
// CONFIG5L
#pragma config
#pragma config
#pragma config
#pragma config
CP0
CP1
CP2
CP3
=
=
=
=
OFF
OFF
OFF
OFF
// CONFIG5H
#pragma config CPB = OFF
protected)
#pragma config CPD = OFF
// CONFIG6L
#pragma config
#pragma config
#pragma config
#pragma config
// CONFIG6H
WRT0
WRT1
WRT2
WRT3
=
=
=
=
OFF
OFF
OFF
OFF
//
//
//
//
Code
Code
Code
Code
Protection
Protection
Protection
Protection
bit
bit
bit
bit
(Block
(Block
(Block
(Block
0
1
2
3
(000800-001FFFh)
(002000-003FFFh)
(004000-005FFFh)
(006000-007FFFh)
is
is
is
is
not
not
not
not
code-protected)
code-protected)
code-protected)
code-protected)
// Boot Block Code Protection bit (Boot block (000000-0007FFh) is not code// Data EEPROM Code Protection bit (Data EEPROM is not code-protected)
//
//
//
//
Write
Write
Write
Write
Protection
Protection
Protection
Protection
bit
bit
bit
bit
(Block
(Block
(Block
(Block
0
1
2
3
(000800-001FFFh)
(002000-003FFFh)
(004000-005FFFh)
(006000-007FFFh)
is
is
is
is
not
not
not
not
write-protected)
write-protected)
write-protected)
write-protected)
// CONFIG7H
#pragma config EBTRB = OFF
// Boot Block Table Read Protection bit (Boot block (000000-0007FFh) is not
protected from table reads executed in other blocks)
#define _XTAL_FREQ 20000000
}
}
}
if(PORTAbits.RA1 == 0 || b == 1){
Delay10KTCYx(10);
while(PORTAbits.RA1 == 0)Delay10KTCYx(2);
Delay10KTCYx(10);
//Se define el procedimiento para el botn de descendente
while (PORTAbits.RA2 == 1){
PORTBbits.RB3 = 0;
PORTBbits.RB4 = 1;
// PORTBbits.RB5 = 1;
//Delay10TCYx(1000);
//PORTBbits.RB5 = 0;
LATD = datos[contador];
Delay10KTCYx(1000);
if(contador == 0)contador = 10;
contador --;
if(PORTAbits.RA0 == 0){
a = 1;
b = 0;
break;
}
if(PORTAbits.RA2 == 0){
a = 0;
b = 0;
break;
}
}
}
}
void main(void) {
configuracion();
while(1){
contadora();
}
}