Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TEMA:
“Display de 7 segmentos”
AUTORES:
CARLOS NOLIVOS
KEVIN GÓMEZ
2019
Objetivos
Objetivo General
Identificar las características del display de 7 segmentos para su conexión con el PIC
16f877a y mostrar dígitos del 0 al 9.
Objetivo Especifico
****Marco Teórico
PIC 16F877A
Los micro-controladores 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 micro-controlador. [1]
Los micro-controladores poseen principalmente una ALU (Unidad Lógico Aritmética), 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 micro-controlador con el medio externo;
la función de los pines puede ser de transmisión de datos, alimentación de corriente para l
funcionamiento de este o pines de control especifico. [1]
En este proyecto se utilizó el PIC 16F877. Este micro-controlador es fabricado por MicroChip
familia a la cual se le denomina PIC. El modelo 16F877 posee varias características que hacen a
este micro-controlador un dispositivo muy versátil, eficiente y práctico para ser empleado en la
aplicación que posteriormente será detallada. [1]
•Memoria reprogramable: La memoria en este PIC es la que se denomina FLASH; este tipo de
memoria se puede borrar electrónicamente (esto corresponde a la "F" en el modelo).
•Set de instrucciones reducidas (tipo RISC), pero con las instrucciones necesarias para facilitar
su manejo.
Micro Controlador
El Micro-controlador dispositivo electrónico que incorpora en su estructura interna los
componentes de una mini-computadora. Existe una gran diferencia entre un microprocesador y
un micro-controlador. El procesador es una parte integrante del micro-controlador. [2]
PIC C compiler
El compilador CCS contiene más de 307 funciones integradas que simplifiquen el acceso al
hardware, mientras que la producción eficiente y altamente optimizado código. Se incluyen
funciones de hardware del dispositivo de características tales como:
•Convertidores A / D
•LCD controladores
Proteus
El LCD (Liquid Crystal Dysplay) o pantalla de cristal líquido es un dispositivo empleado para la
visualización de contenidos o información de una forma gráfica, mediante caracteres, símbolos
o pequeños dibujos dependiendo del modelo. Está gobernado por un microcontrolador el cual
dirige todo su funcionamiento. [5]
En este caso vamos a emplear un LCD de 16x2, esto quiere decir que dispone de 2 filas de 16
caracteres cada una. Los píxeles de cada símbolo o carácter, varían en función de cada modelo.
Pines de alimentación:
Vss: Gnd
Vdd: +5 voltios
Pines de control:
RS: Corresponde al pin de selección de registro de control de datos (0) o registro de datos (1).
Es decir, el pin RS funciona paralelamente a los pines del bus de datos. Cuando RS es 0 el dato
presente en el bus pertenece a un registro de control/instrucción. y cuando RS es 1 el dato
presente en el bus de datos pertenece a un registro de datos o un carácter.
RW: Corresponde al pin de Escritura (0) o de Lectura (1). Nos permite escribir un dato en la
pantalla o leer un dato desde la pantalla.
E: Corresponde al pin Enable o de habilitación. Si E (0) esto quiere decir que el LCD no está
activado para recibir datos, pero si E (1) se encuentra activo y podemos escribir o leer desde el
LCD.
El Bus de datos bidireccional comprende desde los pines D0 a D7. Para realizar la comunicación
con el LCD podemos hacerlo utilizando los 8 bits del bus de datos (D0 a D7) o empleando los 4
bits más significativos del bus de datos (D4 a D7). En este caso vamos a explicar la comunicación
con el bus de 4 bits.
Teclado Matricial
Cuando se ha oprimido ninguna tecla, (todas las teclas abiertas) no hay conexión entre renglones
y columnas. Cuando se oprime una tecla se hace una conexión entre la columna y la región de
la tecla. [7]
Ilustración 2 Teclado Matricial
Materiales:
Procedimiento
Debido que el display dispone de 7 segmentos, donde cada segmento corresponde a una
entrada del display, es necesario definir un puerto del PIC como salida y realizar la equivalencia
de decimal a binario para mostrar correctamente los valores de los dígitos numéricos. La
siguiente tabla muestra la equivalencia entre binario y decimal para el display de 7 segmentos.
Una vez que se tienen las equivalencias para la activación del display del numero deseado, se
implementa la programación del PIC, en la cual se define un vector de 10 elementos que
contienen en cada posición el valor correspondiente que se debe activar en el PIC para mostrar
el número que se quiere.
Código:
int i;
void main(){
set_tris_b(0);
output_b(64);
while(1){
for (i=0;i<=9;i++){
output_b(x[i]);
delay_ms(500);
Para el conteo ascendente nos da la señal un botón colocado a una entrada del PIC, mientras
que para el descendente se colocara otro botón.
Código:
#include <16F877A.h>
#fuses XT,NOWDT
#use delay(clock=4M)
int i,j,k,l;
set_tris_d(0);
set_tris_a(1);
output_d(3);
output_b(64);
while(1){
if(input(Pin_a0)==0){
for(i=1;i<=10;i++){
output_d(1);
output_b(x[i]);
delay_ms(50);
for(j=1;j<=10;j++){
output_d(1);
output_b(x[i]);
delay_ms(50);
output_d(2);
output_b(x[j]);
delay_ms(50);
output_d(0);
else if(input(Pin_a1)==0){
for(i=10;i>=1;i--){
output_d(1);
output_b(x[i]);
delay_ms(50);
for(j=10;j>=1;j--){
output_d(1);
output_b(x[i]);
delay_ms(50);
output_d(2);
output_b(x[j]);
delay_ms(50);
output_d(0);
Conclusiones
Se identificó que los display de 7 segmentos empleados para la práctica eran de ánodo
común, por lo tanto, se alimentaban con tensión positiva. Cada segmento corresponde
a una entrada del display con letras de la ‘a’ hasta ‘g’ y dependiendo de los segmentos
activados nos mostrara un numero realizando la tabla de verdad para identificar su
equivalencia.
Se cargó en el PIC el programa de conteo de dígitos empleando el modulo entrenador
disponible en el laboratorio y el archivo hexadecimal generado por el compilador PIC C
en clases el cual contenía el algoritmo para convertir el número de binario a decimal y
activar los segmentos necesario para que se muestre dicho valor.
Se realizó la multiplexación de dos display para realizar un contador del 0 al 99
ascendente y descendente con dos pulsadores de entrada que me daban la señal para
cada uno de los dos tipos de conteo mencionados.
***********Recomendaciones
Conocer los puertos de conexión del PIC escogido, para no obtener valores extraños o no lograr
con éxito la práctica.
Entender el principio del teclado matricial, y como este funciona al apretar las diferentes teclas
para la programación.
Bibliografía
[5]J. Salas, J. Salas and V. perfil, "Lcd 16x2", Todoelectrodo.blogspot.com, 2018. [Online].
Available: http://todoelectrodo.blogspot.com/2013/02/lcd-16x2.html. [Ultimo acceso: 14- Jun-
2018].
Anexos