Académique Documents
Professionnel Documents
Culture Documents
Ing. Mecatrnica
Amzquita Seplveda Ramiro Helaman 11440008
//Encender todos los segmentos necesarios para que aparezca un nmero requiere
que se enve un valor hexadecimal de dos nmeros que representa los 4 bits menos
significativos uno y los 4 bits ms significativos el otro, esto dependiendo de que
puerto se est utilizando. Esto de los valores hexadecimales es para hacer ms
prctico el manejo y envo de datos por el puerto, as que se tiene que hacer un
reconocimiento del display para obtener los valores hexadecimales para cada
nmero. Se debe tener cuidado para ello si el display es de ctodo comn o nodo
comn, pues si es de ctodo comn se tendr que enviar un uno para activar un
segmento del display y un cero en caso de que fuera de nodo comn. Para formar
la tabla de los valores hexadecimales de los nmeros del 0-9 se puede hacer
mediante la simulacin del proteus.
#include <18f4550.h>
//con esto se reconoce que se trabajar con el pic18f4550 y sus posibles librerias
#use delay(clock=4000000)
//se usar el reloj a una velocidad de 4 MHz
#fuses XT, NOWDT, NOPUT, NOPROTECT, NOBROWNOUT, NOLVP, NOCPD, NOWRT,
NODEBUG
el del uso del cristal
//arriba se pusieron varios fuses pero el importante para este circuito es el XT ya que es
void main()
//inicio del programa principal
{
byte CONST DISPLAY[10]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};
cada nmero del display
byte ud=0;
byte dec=0;
while(1)
de ejecutar comandos
{
int x=0;
Do
{
output_high(pin_c0);
output_low(pin_c1);
encendido despus del ciclo
output_d(DISPLAY[ud]);
valor que toma el vector
//arriba se declara un vector de tipo byte con los valores hexadecimales que tomar
//una variable de tipo byte para las unidades
//una variable de tipo byte para las decenas
//inicio del ciclo infinito, esto para que no se salga del programa cuando termine
//esta variable de tipo entero la usar para que se pueda hacer un intercambio del
//varias veces en un ciclo y en el display pueda aparecer el nmero de manera ms
//inicio del ciclo para repeticin del mismo nmero
//comando para enviar voltaje al lado izquierdo del display doble segmento
//apaga el pin del lado derecho del display doble segmento en caso de que est
//se manda prender por el puerto D los valores de segmentos que corresponden al
delay_us(1000);
output_high(pin_c1);
output_low(pin_c0);
output_d(DISPLAY[dec]);
numero que tiene el vector en
tomar esa posicin del
delay_us(1000);
x++;
display
}while(x<255);
vea mas claro
ud++;
if(ud>9)
{ud=0;
dec++;
if(dec>9)
dec=0;
}
}
}
//display para ese valor de UD, el cual ir cambiando a medida que se incremente
//un retardo de 1 milisegundo
//ahora mandamos voltaje al lado derecho del display
//apagamos el lado izquierdo del display
//mandamos voltaje al diplay pero ahora en el otro lado para que aparezca el
//la posicin que tenga el vector, tomando el valor que tiene la variable byte DEC para
//vector
//retardo de 1 milisegundo
//incrementamos la variable que hace que se repita el mismo nmero en el
//hasta que llegue a 255 se sale de este ciclo el mismo nmero, esto para que se
//se incrementa el valor de la variable UD por lo que la siguiente vez tomara otro valor
//si la variable UD pasa el 9 se ejecutarn las instrucciones de abajo
//la variable UD toma el valor de cero nuevamente
//la variable DEC se incrementa, ya aparecera nuevo valor cuando se muestre la
//si DEC la variable DEC es mayor a 9 se ejecuta el cdigo de abajo
//la variable DEC se iguala a cero nuevamente, para que al llegar a 99 se reinicie
Conclusin
Se debe hacer un estudio de como funciona cada componente que vas a usar en un
circuito o una simulacin, se debe buscar el datasheet, ver su funcionamiento tanto en
simulacin como en fsico. Para la implementacin del circuito de reset se usa una
resistencia de 10k salida de la pata del masterclear a voltaje, tambin del mismo nodo
sacamos una resistencia de 100ohms seguido de un switch button que va a tierra, a los
cuales se une un capacitor de 10uF que ir en paralelo al switch y la resistencia de
100ohms, este capacitor tambin va hacia tierra.