Rev 182 Rev 218
Line 1... Line 1...
1 #include "abcda.h" 1 #include "abcda.h"
2   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 }
3   18  
4 void main() 19 void main()
5 { 20 {
6   21  
7 int i,j,n,cas; 22 int slovo,pismeno,sloupec,j;
-   23  
8   24  
9 const int8 pis[2*5]={0b00000001,0b11110110,0b11110110,0b11110110,0b00000001, 25 const int8 pis[2*5]={0b00000001,0b11110110,0b11110110,0b11110110,0b00000001,
10 0b00000001,0b11110110,0b11110110,0b11110110,0b00000001}; 26 0b00000001,0b11110110,0b11110110,0b11110110,0b00000001};
11 int8 napis[2*8]; -  
12 27
13 setup_adc_ports(NO_ANALOGS); 28 setup_adc_ports(NO_ANALOGS);
14 setup_adc(ADC_OFF); 29 setup_adc(ADC_OFF);
15 setup_psp(PSP_DISABLED); 30 setup_psp(PSP_DISABLED);
16 setup_spi(SPI_SS_DISABLED); 31 setup_spi(SPI_SS_DISABLED);
17 setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); 32 setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
-   33 setup_wdt(WDT_2304MS);
18 setup_timer_1(T1_DISABLED); 34 setup_timer_1(T1_DISABLED);
19 setup_timer_2(T2_DISABLED,0,1); 35 setup_timer_2(T2_DISABLED,0,1);
20 setup_comparator(NC_NC_NC_NC); 36 setup_comparator(NC_NC_NC_NC);
21 setup_vref(FALSE); 37 setup_vref(FALSE);
22   38  
-   39 enable_interrupts(INT_RDA);
-   40 enable_interrupts(GLOBAL);
-   41  
-   42 set_adc_channel(0);
-   43  
23 while(TRUE) 44 while(TRUE)
24 { 45 {
25 for(i=0;i<=2;i++) 46 for(slovo=0;slovo<2;slovo++)
26 for(j=0;j<=100;j++) 47 for(j=0;j<=100;j++) // Jedno slovo se zobrazi stokrat
27 { 48 {
-   49 while(read_adc()<10); // Cekani na magnet
-   50
28 for(n=0;n<=8;n++) 51 for(pismeno=0;pismeno<MAX_SLOVO;pismeno++)
29 { 52 {
30 for(cas=0;cas<5;cas++) 53 for(sloupec=0;sloupec<5;sloupec++)
31 { 54 {
32 output_B(pis[napis[i-0x40]+cas]); 55 output_B(pis[(napis[slovo*MAX_SLOVO+pismeno]-0x40)*5+sloupec]);
33 delay_ms(1); 56 delay_ms(1);
34 } 57 }
35 delay_ms(2); 58 delay_ms(2);
36 } 59 }
37 delay_ms(142); -  
38 } 60 }
39 } 61 }
40 } 62 }