Вы находитесь на странице: 1из 4

#include <PIC16F628A.

h>
#include <string.h>
//Libreria para uso de palabras
#fuses XT, NOWDT, NOPROTECT, BROWNOUT, PUT, NOLVP
//Fuses del PIC
#use delay(clock=4000000)
//Especifica la velocidad de reloj
//#use RS232(baud=9600,xmit=pin_B2,rcv=pin_B1,parity=N,bits=8)
#use standard_IO(B)
#use standard_IO(A)

#Define Bit0 pin_A1


#Define Bit1 pin_A2
#Define Bit2 pin_A3
#Define Bit3 pin_B3
#Define Bit4 pin_B4
#Define Bit5 pin_B5
#Define Bit6 pin_B6
#Define Bit7 pin_B7

char Palabra[25];

int16 espaciado = 300;


//Espacio entre cada letra (ms)
int16 retardo = 400;
//Tiempo de cada columna(ms)

static const int8 int8 ASCII[96][5]=


{
{0b0000000, 0b0000000, 0b0000000, 0b0000000, 0b0000000} // 32
{0b0000000, 0b0000000, 0b1111001, 0b0000000, 0b0000000}, //! 33
{0b0000000, 0b1110000, 0b0000000, 0b1110000, 0b0000000}, //" 34
{0b0010100, 0b1111111, 0b0010100, 0b1111111, 0b0010100}, //# 35
{0b0010010, 0b0101010, 0b1111111, 0b0101010, 0b0100100}, //$ 36
{0b1100010, 0b1100100, 0b0001000, 0b0010011, 0b0100011}, //% 37
{0b0110110, 0b1001001, 0b1010101, 0b0100010, 0b0000101}, //& 38
{0b0000000, 0b1010000, 0b1100000, 0b0000000, 0b0000000}, //' 39
{0b0000000, 0b0011100, 0b0100010, 0b1000001, 0b0000000}, //( 40
{0b0000000, 0b1000001, 0b0100010, 0b0011100, 0b0000000}, //) 41
{0b0010100, 0b0001000, 0b0111110, 0b0001000, 0b0010100}, //* 42
{0b0001000, 0b0001000, 0b0111110, 0b0001000, 0b0001000}, //+ 43
{0b0000000, 0b0000101, 0b0000110, 0b0000000, 0b0000000}, //, 44
{0b0001000, 0b0001000, 0b0001000, 0b0001000, 0b0001000}, //- 45
{0b0000000, 0b0000011, 0b0000011, 0b0000000, 0b0000000}, //. 46
{0b0000010, 0b0000100, 0b0001000, 0b0010000, 0b0100000}, /// 47
{0b0111110, 0b1000101, 0b1001001, 0b1010001, 0b0111110}, //0 48
{0b0000000, 0b0010000, 0b0100000, 0b1111111, 0b0000000}, //1 49
{0b0100001, 0b1000011, 0b1000101, 0b1001001, 0b0110001}, //2 50
{0b0100010, 0b1000001, 0b1001001, 0b1001001, 0b0110110}, //3 51
{0b0001100, 0b0010100, 0b0100100, 0b1111111, 0b0000100}, //4 52
{0b1110010, 0b1010001, 0b1010001, 0b1010001, 0b1001110}, //5 53
{0b0111110, 0b1001001, 0b1001001, 0b1001001, 0b0100110}, //6 54
{0b1000000, 0b1000000, 0b1000111, 0b1001000, 0b1110000}, //7 55
{0b0110110, 0b1001001, 0b1001001, 0b1001001, 0b0110110}, //8 56
{0b0110010, 0b1001001, 0b1001001, 0b1001001, 0b0111110}, //9 57
{0b0000000, 0b0110110, 0b0110110, 0b0000000, 0b0000000}, //: 58
{0b0000000, 0b0110101, 0b0110110, 0b0000000, 0b0000000}, //; 59
{0b0001000, 0b0010100, 0b0100010, 0b1000001, 0b0000000}, //< 60
{0b0010100, 0b0010100, 0b0010100, 0b0010100, 0b0010100}, //= 61
{0b0000000, 0b1000001, 0b0100010, 0b0010100, 0b0001000}, //> 62
{0b0100000, 0b1000000, 0b1000101, 0b1001000, 0b0110000}, //? 63
{0b0100110, 0b1001001, 0b1001111, 0b1000001, 0b0111110}, //@ 64
{0b0111111, 0b1001000, 0b1001000, 0b1001000, 0b0111111}, //A 65
{0b1111111, 0b1001001, 0b1001001, 0b1001001, 0b0110110}, //B 66
{0b0111110, 0b1000001, 0b1000001, 0b1000001, 0b1000001}, //C 67
{0b1111111, 0b1000001, 0b1000001, 0b1000001, 0b0111110}, //D 68
{0b1111111, 0b1001001, 0b1001001, 0b1001001, 0b1001001}, //E 69
{0b1111111, 0b1001000, 0b1001000, 0b1001000, 0b1001000}, //F 70
{0b1111111, 0b1000001, 0b1001001, 0b1001001, 0b1001111}, //G 71
{0b1111111, 0b0001000, 0b0001000, 0b0001000, 0b1111111}, //H 72
{0b1000001, 0b1000001, 0b1111111, 0b1000001, 0b1000001}, //I 73
{0b0000110, 0b0000001, 0b0000001, 0b0000001, 0b1111110}, //J 74
{0b1111111, 0b0001000, 0b0010100, 0b0100010, 0b1000001}, //K 75
{0b1111111, 0b0000001, 0b0000001, 0b0000001, 0b0000001}, //L 76
{0b1111111, 0b0100000, 0b0011000, 0b0100000, 0b1111111}, //M 77
{0b1111111, 0b0100000, 0b0010000, 0b0001000, 0b1111111}, //N 78
{0b0111110, 0b1000001, 0b1000001, 0b1000001, 0b0111110}, //O 79
{0b1111111, 0b1001000, 0b1001000, 0b1001000, 0b0110000}, //P 80
{0b0111100, 0b1000010, 0b1000010, 0b1000010, 0b0111101}, //Q 81
{0b1111111, 0b1001000, 0b1001000, 0b1001000, 0b0110111}, //R 82
{0b0110000, 0b1001001, 0b1001001, 0b1001001, 0b0000110}, //S 83
{0b1000000, 0b1000000, 0b1111111, 0b1000000, 0b1000000}, //T 84
{0b1111110, 0b0000001, 0b0000001, 0b0000001, 0b1111110}, //U 85
{0b1111100, 0b0000010, 0b0000001, 0b0000010, 0b1111100}, //V 86
{0b1111111, 0b0000010, 0b0000100, 0b0000010, 0b1111111}, //W 87
{0b1000001, 0b0100010, 0b0011100, 0b0100010, 0b1000001}, //X 88
{0b1110000, 0b0001000, 0b0000111, 0b0001000, 0b1110000}, //Y 89
{0b1000011, 0b1000101, 0b1001001, 0b1010001, 0b1100001}, //Z 90
{0b0000000, 0b1111111, 0b1000001, 0b1000001, 0b0000000}, //[ 91
{0b0100000, 0b0010000, 0b0001000, 0b0000100, 0b0000010}, //\ 92
{0b0000000, 0b1000001, 0b1000001, 0b1111111, 0b0000000}, //] 93
{0b0010000, 0b0100000, 0b1000000, 0b0100000, 0b0010000}, //^ 94
{0b0000001, 0b0000001, 0b0000001, 0b0000001, 0b0000001}, //_ 95
{0b0000000, 0b1000000, 0b0100000, 0b0010000, 0b0000000}, //` 96
{0b0000010, 0b0010101, 0b0010101, 0b0010101, 0b0001111}, //a 97
{0b1111111, 0b0001001, 0b0010001, 0b0010001, 0b0001110}, //b 98
{0b0001110, 0b0010001, 0b0010001, 0b0010001, 0b0000010}, //c 99
{0b0001110, 0b0010001, 0b0010001, 0b0001001, 0b1111111}, //d 100
{0b0001110, 0b0010101, 0b0010101, 0b0010101, 0b0001100}, //e 101
{0b0001000, 0b0111111, 0b1001000, 0b1000000, 0b0100000}, //f 102
{0b0011000, 0b0100101, 0b0100101, 0b0100101, 0b0111110}, //g 103
{0b1111111, 0b0001000, 0b0010000, 0b0010000, 0b0001111}, //h 104
{0b0000000, 0b0010001, 0b1011111, 0b0000001, 0b0000000}, //i 105
{0b0000010, 0b0000001, 0b0000001, 0b1011110, 0b0000000}, //j 106
{0b1111111, 0b0000100, 0b0001010, 0b0010001, 0b0000000}, //k 107
{0b0000000, 0b1000001, 0b1111111, 0b0000001, 0b0000000}, //l 108
{0b0011111, 0b0010000, 0b0001000, 0b0010000, 0b0001111}, //m 109
{0b0011111, 0b0001000, 0b0010000, 0b0010000, 0b0001111}, //n 110
{0b0001110, 0b0010001, 0b0010001, 0b0010001, 0b0001110}, //o 111
{0b0011111, 0b0010100, 0b0010100, 0b0010100, 0b0001000}, //p 112
{0b0001000, 0b0010100, 0b0010100, 0b0001100, 0b0011111}, //q 113
{0b0011111, 0b0001000, 0b0010000, 0b0010000, 0b0001000}, //r 114
{0b0001001, 0b0010101, 0b0010101, 0b0010101, 0b0000010}, //s 115
{0b0010000, 0b0111110, 0b0010001, 0b0000001, 0b0000010}, //t 116
{0b0011110, 0b0000001, 0b0000001, 0b0000010, 0b0011111}, //u 117
{0b0011100, 0b0000010, 0b0000001, 0b0000010, 0b0011100}, //v 118
{0b0011110, 0b0000001, 0b0000010, 0b0000001, 0b0011110}, //w 119
{0b0010001, 0b0001010, 0b0000100, 0b0001010, 0b0010001}, //x 120
{0b0011000, 0b0000101, 0b0000101, 0b0000101, 0b0011110}, //y 121
{0b0010001, 0b0010011, 0b0010101, 0b0011001, 0b0010001}, //z 122
{0b0000000, 0b0001000, 0b0110110, 0b1000001, 0b0000000}, //{ 123
{0b0000000, 0b0000000, 0b1111111, 0b0000000, 0b0000000}, //| 124
{0b0000000, 0b1000001, 0b0110110, 0b0001000, 0b0000000}, //} 125
{0b0001000, 0b0010000, 0b0011100, 0b0000100, 0b0001000} //~ 126
};
Void Apagar()
{
output_bit(Bit0, 0);
output_bit(Bit1, 0);
output_bit(Bit2, 0);
output_bit(Bit3, 0);
output_bit(Bit4, 0);
output_bit(Bit5, 0);
output_bit(Bit6, 0);
output_bit(Bit7, 0);
}

void Imprimir()
{
for (INT8 NumCar = 0; NumCAr < strlen(Palabra); NumCar++)
//Tama�o de la palabra (tama�o del arreglo char, no de cuantos caracteres tiene) *
Problema aun en proceso
{
INT8 Caracter = Palabra[NumCar]-32;
// printf ("%d\r", Caracter);
for (int Col = 0; Col < 5; Col++)
//Imprimir columnas
{
output_bit(Bit0, bit_test(ASCII[Caracter][Col],0));
output_bit(Bit1, bit_test(ASCII[Caracter][Col],1));
output_bit(Bit2, bit_test(ASCII[Caracter][Col],2));
output_bit(Bit3, bit_test(ASCII[Caracter][Col],3));
output_bit(Bit4, bit_test(ASCII[Caracter][Col],4));
output_bit(Bit5, bit_test(ASCII[Caracter][Col],5));
output_bit(Bit6, bit_test(ASCII[Caracter][Col],6));
output_bit(Bit7, bit_test(ASCII[Caracter][Col],7));
// for (int Ren = 0; Ren < 7; Ren+
+) //Imprimir renglones
// {
// output_bit(Bit[Ren], bit_test(ASCII[Caracter][Col],Ren));
// printf("%d", bit_test(ASCII[Caracter][Col], Ren));
// }
// printf ("\r");
delay_ms (retardo);
}
Apagar();
delay_ms (espaciado);
}
}

#int_EXT
void ext_isr()
//Funci�n de interrupci�n externa (RB0)
{
Imprimir();
}
void main()
{
enable_interrupts(GLOBAL);
//Habilita interrupciones
enable_interrupts(int_EXT);
//Habilita interrupci�n externa (RB0)
EXT_INT_EDGE(L_TO_H);
while(TRUE)
{
Palabra="HOLA";
}
}

Вам также может понравиться