| Line 3... |
Line 3... |
| 3 |
#define MAX_SLOVO 10 // Maximalni pocet znaku ve slovu |
3 |
#define MAX_SLOVO 10 // Maximalni pocet znaku ve slovu |
| 4 |
|
4 |
|
| 5 |
int8 napis[MAX_SLOVO+1]; |
5 |
int8 napis[MAX_SLOVO+1]; |
| 6 |
int8 otacky; |
6 |
int8 otacky; |
| 7 |
|
7 |
|
| 8 |
const int8 logo[MAX_SLOVO]={'[','^','_','_',']',96,'^','_','_','a'}; // [blesk] E4A [blesk] , 2004-2008 |
8 |
const int8 logo[MAX_SLOVO+1]={'[','^','_','_',']',96,'^','_','_','a',0}; // [blesk] E4A [blesk] |
| 9 |
const int8 rok[MAX_SLOVO]={'[','[',92,'[','E',']','A','[',92,'['} |
9 |
const int8 rok[MAX_SLOVO+1]={'[','[',92,'[','E',']','A','[',92,'[',0}; // 2004-2008 |
| - |
|
10 |
|
| 10 |
#int_RDA |
11 |
#int_RDA |
| 11 |
void RDA_isr(void) |
12 |
void RDA_isr(void) |
| 12 |
{ |
13 |
{ |
| 13 |
int n; |
14 |
int n; |
| 14 |
output_B(0x55); |
15 |
output_B(0x55); |
| Line 18... |
Line 19... |
| 18 |
} |
19 |
} |
| 19 |
} |
20 |
} |
| 20 |
|
21 |
|
| 21 |
void LED_print() |
22 |
void LED_print() |
| 22 |
{ |
23 |
{ |
| 23 |
while(read_adc()<9); // Cekani na magnet |
- |
|
| 24 |
delay_ms(10); |
- |
|
| 25 |
|
- |
|
| 26 |
for(pismeno=0;pismeno<MAX_SLOVO;pismeno++) |
- |
|
| 27 |
{ |
- |
|
| 28 |
for(sloupec=0;sloupec<5;sloupec++) |
- |
|
| 29 |
{ |
- |
|
| 30 |
output_B(pis[(napis[pismeno]-0x41)*5+sloupec]); |
- |
|
| 31 |
delay_us(500); |
- |
|
| 32 |
} |
- |
|
| 33 |
output_B(0xFF); |
- |
|
| 34 |
delay_us(500); |
- |
|
| 35 |
} |
- |
|
| 36 |
} |
- |
|
| 37 |
|
- |
|
| 38 |
void main() |
- |
|
| 39 |
{ |
- |
|
| 40 |
|
- |
|
| 41 |
int slovo,pismeno,sloupec,j; |
24 |
unsigned int slovo,pismeno,sloupec,j; |
| 42 |
|
- |
|
| 43 |
|
25 |
|
| 44 |
const int8 pis[33*5]={0b00000001,0b11110110,0b11110110,0b11110110,0b00000001, //A |
26 |
const int8 pis[33*5]={0b00000001,0b11110110,0b11110110,0b11110110,0b00000001, //A |
| 45 |
0b00000000,0b01110110,0b01110110,0b01110110,0b10001001, //B |
27 |
0b00000000,0b01110110,0b01110110,0b01110110,0b10001001, //B |
| 46 |
0b10000001,0b01111110,0b01111110,0b01111110,0b10111101, //C |
28 |
0b10000001,0b01111110,0b01111110,0b01111110,0b10111101, //C |
| 47 |
0b00000000,0b01111110,0b01111110,0b01111110,0b10000001, //D |
29 |
0b00000000,0b01111110,0b01111110,0b01111110,0b10000001, //D |
| Line 73... |
Line 55... |
| 73 |
0b00111101,0b01011110,0b01101110,0b01110110,0b01111001, //2 |
55 |
0b00111101,0b01011110,0b01101110,0b01110110,0b01111001, //2 |
| 74 |
0b00000000,0b01111110,0b01111110,0b01111110,0b00000000, //0 |
56 |
0b00000000,0b01111110,0b01111110,0b01111110,0b00000000, //0 |
| 75 |
0b11110111,0b11110111,0b11110111,0b11110111,0b11110111, //pomlka |
57 |
0b11110111,0b11110111,0b11110111,0b11110111,0b11110111, //pomlka |
| 76 |
0b10001001,0b01110110,0b01110110,0b01110110,0b10001001, //8 |
58 |
0b10001001,0b01110110,0b01110110,0b01110110,0b10001001, //8 |
| 77 |
}; |
59 |
}; |
| - |
|
60 |
while(read_adc()<9); // Cekani na magnet |
| - |
|
61 |
delay_ms(10); |
| - |
|
62 |
|
| - |
|
63 |
for(pismeno=0;pismeno<MAX_SLOVO;pismeno++) |
| - |
|
64 |
{ |
| - |
|
65 |
for(sloupec=0;sloupec<5;sloupec++) |
| - |
|
66 |
{ |
| - |
|
67 |
output_B(pis[(napis[pismeno]-0x41)*5+sloupec]); |
| - |
|
68 |
delay_us(500); |
| - |
|
69 |
} |
| - |
|
70 |
output_B(0xFF); |
| - |
|
71 |
delay_us(500); |
| - |
|
72 |
} |
| - |
|
73 |
} |
| - |
|
74 |
|
| - |
|
75 |
void main() |
| - |
|
76 |
{ |
| - |
|
77 |
|
| 78 |
|
78 |
|
| 79 |
setup_adc_ports(AN0); |
79 |
setup_adc_ports(AN0); |
| 80 |
setup_adc(ADC_CLOCK_INTERNAL); |
80 |
setup_adc(ADC_CLOCK_INTERNAL); |
| 81 |
setup_psp(PSP_DISABLED); |
81 |
setup_psp(PSP_DISABLED); |
| 82 |
setup_spi(SPI_SS_DISABLED); |
82 |
setup_spi(SPI_SS_DISABLED); |
| Line 96... |
Line 96... |
| 96 |
otacky=0; |
96 |
otacky=0; |
| 97 |
napis[0]=0; |
97 |
napis[0]=0; |
| 98 |
|
98 |
|
| 99 |
while(TRUE) |
99 |
while(TRUE) |
| 100 |
{ |
100 |
{ |
| 101 |
while(napis[0]!=0) |
101 |
if (napis[0]!=0) |
| 102 |
{ |
102 |
{ |
| - |
|
103 |
LED_print(); |
| 103 |
} |
104 |
} |
| 104 |
|
- |
|
| 105 |
for(slovo=0;slovo<2;slovo++) |
105 |
else |
| 106 |
for(j=0;j<=20;j++) // Jedno slovo se zobrazi stokrat |
- |
|
| 107 |
{ |
106 |
{ |
| 108 |
while(read_adc()<9); // Cekani na magnet |
- |
|
| 109 |
delay_ms(10); |
- |
|
| 110 |
|
- |
|
| 111 |
for(pismeno=0;pismeno<MAX_SLOVO;pismeno++) |
- |
|
| 112 |
{ |
- |
|
| 113 |
for(sloupec=0;sloupec<5;sloupec++) |
- |
|
| 114 |
{ |
- |
|
| 115 |
output_B(pis[(logo[slovo*MAX_SLOVO+pismeno]-0x41)*5+sloupec]); |
- |
|
| 116 |
delay_us(500); |
- |
|
| 117 |
} |
- |
|
| 118 |
output_B(0xFF); |
- |
|
| 119 |
delay_us(500); |
107 |
strcpy(napis,logo); |
| 120 |
} |
- |
|
| 121 |
if (otacky++>120) reset_cpu(); |
- |
|
| 122 |
} |
108 |
} |
| 123 |
} |
109 |
} |
| 124 |
} |
110 |
} |