Rev Author Line No. Line
221 svejda 1 #include "C:\RS\Prog\infra\infra.h"
2  
3 #define MAX_SLOVO 10 // Maximalni pocet znaku ve slovu
4  
5 int8 napis[2*MAX_SLOVO] ={'A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A'};
6  
7 #int_RDA
8 void RDA_isr(void)
9 {
10 int n;
11 output_B(0x55);
12 for(n=0;n<(MAX_SLOVO*2);n++)
13 {
14 napis[n]=getc();
15 restart_WDT();
16 }
17 }
18  
19 void main()
20 {
21  
22 int slovo,pismeno,sloupec,j;
23  
24  
25 const int8 pis[26*5]={0b00000001,0b11110110,0b11110110,0b11110110,0b00000001,
26 0b00000001,0b11110110,0b11110110,0b11110110,0b00000001,
27 0b10000001,0b01111110,0b01111110,0b01111110,0b10111101,
28 0b00000000,0b01111110,0b01111110,0b01111110,0b10000001,
29 0b00000000,0b01110110,0b01110110,0b01111110,0b01111110,
30 0b00000000,0b11110110,0b11110110,0b11111110,0b11111110,
31 0b10000001,0b01111110,0b01110110,0b01110110,0b10000101,
32 0b00000000,0b11110111,0b11110111,0b11110111,0b00000000,
33 0b01111110,0b01111110,0b00000000,0b01111110,0b01111110,
34 0b10111110,0b01111110,0b01111110,0b01111110,0b10000000,
35 0b00000000,0b11110111,0b11110111,0b11101011,0b00011100,
36 0b00000000,0b01111111,0b01111111,0b01111111,0b01111111,
37 0b00000000,0b11111110,0b11110000,0b11111110,0b00000000,
38 0b00000000,0b11101111,0b11011111,0b10111111,0b00000000,
39 0b10000001,0b01111110,0b01111110,0b01111110,0b10000001,
40 0b00000000,0b11110110,0b11110110,0b11110110,0b11111001,
41 0b10000001,0b01111110,0b01111110,0b01111110,0b00000001,
42 0b00000000,0b11110110,0b11110110,0b11110110,0b00001001,
43 0b10111001,0b01110110,0b01110110,0b01110110,0b10001101,
44 0b11111110,0b11111110,0b00000000,0b11111110,0b11111110,
45 0b10000000,0b01111111,0b01111111,0b01111111,0b10000000,
46 0b11000000,0b10111111,0b01111111,0b10111111,0b11000000,
47 0b10000000,0b01111111,0b10000000,0b01111111,0b10000000,
48 0b00011100,0b11101011,0b11110111,0b11101011,0b00011100,
49 0b11111000,0b11110111,0b00000111,0b11110111,0b11111000,
50 0b00011110,0b01101110,0b01110110,0b01111010,0b01111100};
51  
52 setup_adc_ports(NO_ANALOGS);
53 setup_adc(ADC_OFF);
54 setup_psp(PSP_DISABLED);
55 setup_spi(SPI_SS_DISABLED);
56 setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
57 setup_wdt(WDT_2304MS);
58 setup_timer_1(T1_DISABLED);
59 setup_timer_2(T2_DISABLED,0,1);
60 setup_comparator(NC_NC_NC_NC);
61 setup_vref(FALSE);
62  
63 enable_interrupts(INT_RDA);
64 enable_interrupts(GLOBAL);
65  
66 set_adc_channel(0);
67  
68 while(TRUE)
69 {
70 for(slovo=0;slovo<2;slovo++)
71 for(j=0;j<=100;j++) // Jedno slovo se zobrazi stokrat
72 {
73 while(read_adc()<10); // Cekani na magnet
74  
75 for(pismeno=0;pismeno<MAX_SLOVO;pismeno++)
76 {
77 for(sloupec=0;sloupec<5;sloupec++)
78 {
79 // output_B(pis[(napis[slovo*MAX_SLOVO+pismeno]-0x40)*5+sloupec]);
80 output_B(pis[1*5+sloupec]);
81 delay_ms(1);
82 }
83 delay_ms(2);
84 }
85 }
86 }
87 }