Facebook
From Arkadiusz Izdebski, 6 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 239
  1. #define F_CPU 8000000UL //zegar 8Mhz
  2. #define K1 PC6
  3. #define K2 PC7
  4. #define K3 PD7
  5. #define K4 PC0
  6. #define K5 PC1
  7. #define K6 PC2
  8. #define K7 PC3
  9. #define K8 PC4
  10. #define K9 PC5
  11. #define K10 PA7
  12. #define K11 PA6
  13. #define K12 PA5
  14. #define K13 PA4
  15. #define K14 PA3
  16. #define K15 PA2
  17. #define K16 PA1
  18. #define K17 PA0
  19. #define K18 PB7
  20. #define K19 PB6
  21. #define K20 PB5
  22. #define K21 PB4
  23. #define K22 PB3
  24. #define K23 PB2
  25. #define K24 PB1
  26. #define K25 PB0
  27.  
  28. #include <avr/io.h>
  29. #include <util/delay.h>
  30.  
  31. char napis[100];
  32. int8_t tablica[1000];
  33. int a=25;
  34. int b=0;
  35. int c=0;
  36.  
  37. void przesun()
  38. {
  39.         for (int a=0; a<b;a++)
  40.         {
  41.                 tablica[a]=tablica[a+1];
  42.         }
  43. }
  44.  
  45.  
  46. int main(void){
  47.  
  48.         // Konfiguracja odpowiednich pinów jako wyjścia
  49.         DDRA = 0xff;
  50.         DDRB = 0xff;
  51.         DDRC = 0xff;
  52.         DDRD = 0xff;
  53.        
  54.        
  55.        
  56.        
  57.         while(1)
  58.        
  59.         {
  60.                 for (int x=0; x<25;x++)
  61.                 {
  62.                         tablica[x]=0x7f;
  63.                 }
  64.                 //Wpisanie do tablicy
  65.                
  66.                 char napis[] = {'W','W','W','.','S','P','R','Y','C','I','A','R','Z','E','.','P','L','\0'};
  67.                
  68.                 while(napis[c])
  69.                 {
  70.                         #pragma region Litery
  71.                         if(napis[c]=='A')
  72.                         {
  73.                                 tablica[a]=0x07;
  74.                                 a++;
  75.                                 tablica[a]=0x6B;
  76.                                 a++;
  77.                                 tablica[a]=0x6B;
  78.                                 a++;
  79.                                 tablica[a]=0x07;
  80.                                 a++;
  81.                                 tablica[a]=0x7F;
  82.                                 a++;
  83.                         }
  84.                         else if(napis[c]=='B')
  85.                         {
  86.                                 tablica[a]=0x03;
  87.                                 a++;
  88.                                 tablica[a]=0x2B;
  89.                                 a++;
  90.                                 tablica[a]=0x2B;
  91.                                 a++;
  92.                                 tablica[a]=0x57;
  93.                                 a++;
  94.                                 tablica[a]=0x7F;
  95.                                 a++;
  96.  
  97.                         }
  98.                        
  99.                         else if(napis[c]=='C')
  100.                         {
  101.                                 tablica[a]=0x47;
  102.                                 a++;
  103.                                 tablica[a]=0x3B;
  104.                                 a++;
  105.                                 tablica[a]=0x3B;
  106.                                 a++;
  107.                                 tablica[a]=0x3B;
  108.                                 a++;
  109.                                 tablica[a]=0x7F;
  110.                                 a++;
  111.  
  112.  
  113.                         }
  114.                        
  115.                         else if(napis[c]=='D')
  116.                         {
  117.                                 tablica[a]=0x03;
  118.                                 a++;
  119.                                 tablica[a]=0x3B;
  120.                                 a++;
  121.                                 tablica[a]=0x3B;
  122.                                 a++;
  123.                                 tablica[a]=0x47;
  124.                                 a++;
  125.                                 tablica[a]=0x7F;
  126.                                 a++;
  127.  
  128.  
  129.                         }
  130.                        
  131.                         else if(napis[c]=='E')
  132.                         {
  133.                                 tablica[a]=0x47;
  134.                                 a++;
  135.                                 tablica[a]=0x2B;
  136.                                 a++;
  137.                                 tablica[a]=0x2B;
  138.                                 a++;
  139.                                 tablica[a]=0x3B;
  140.                                 a++;
  141.                                 tablica[a]=0x7F;
  142.                                 a++;
  143.  
  144.  
  145.                         }
  146.                        
  147.                         else if(napis[c]=='F')
  148.                         {
  149.                                 tablica[a]=0x03;
  150.                                 a++;
  151.                                 tablica[a]=0x6B;
  152.                                 a++;
  153.                                 tablica[a]=0x6B;
  154.                                 a++;
  155.                                 tablica[a]=0x7B;
  156.                                 a++;
  157.                                 tablica[a]=0x7F;
  158.                                 a++;
  159.  
  160.  
  161.                         }
  162.                        
  163.                         else if(napis[c]=='G')
  164.                         {
  165.                                 tablica[a]=0x47;
  166.                                 a++;
  167.                                 tablica[a]=0x3B;
  168.                                 a++;
  169.                                 tablica[a]=0x2B;
  170.                                 a++;
  171.                                 tablica[a]=0x0B;
  172.                                 a++;
  173.                                 tablica[a]=0x7F;
  174.                                 a++;
  175.                         }
  176.                        
  177.                         else if(napis[c]=='H')
  178.                         {
  179.                                 tablica[a]=0x03;
  180.                                 a++;
  181.                                 tablica[a]=0x6F;
  182.                                 a++;
  183.                                 tablica[a]=0x6F;
  184.                                 a++;
  185.                                 tablica[a]=0x03;
  186.                                 a++;
  187.                                 tablica[a]=0x7F;
  188.                                 a++;
  189.  
  190.  
  191.                         }
  192.                         else if(napis[c]=='I')
  193.                         {
  194.                                 tablica[a]=0x03;
  195.                                 a++;
  196.                                 tablica[a]=0x7F;
  197.                                 a++;
  198.  
  199.                         }
  200.                         else if(napis[c]=='J')
  201.                         {
  202.                                 tablica[a]=0x5B;
  203.                                 a++;
  204.                                 tablica[a]=0x3B;
  205.                                 a++;
  206.                                 tablica[a]=0x3B;
  207.                                 a++;
  208.                                 tablica[a]=0x43;
  209.                                 a++;
  210.                                 tablica[a]=0x7F;
  211.                                 a++;
  212.  
  213.                         }
  214.                         else if(napis[c]=='K')
  215.                         {
  216.                                 tablica[a]=0x03;
  217.                                 a++;
  218.                                 tablica[a]=0x6F;
  219.                                 a++;
  220.                                 tablica[a]=0x57;
  221.                                 a++;
  222.                                 tablica[a]=0x3B;
  223.                                 a++;
  224.                                 tablica[a]=0x7F;
  225.                                 a++;
  226.  
  227.                         }
  228.                         else if(napis[c]=='L')
  229.                         {
  230.                                 tablica[a]=0x03;
  231.                                 a++;
  232.                                 tablica[a]=0x3F;
  233.                                 a++;
  234.                                 tablica[a]=0x3F;
  235.                                 a++;
  236.                                 tablica[a]=0x1F;
  237.                                 a++;
  238.                                 tablica[a]=0x7F;
  239.                                 a++;
  240.  
  241.                         }
  242.                         else if(napis[c]=='M')
  243.                         {
  244.                                 tablica[a]=0x07;
  245.                                 a++;
  246.                                 tablica[a]=0x7B;
  247.                                 a++;
  248.                                 tablica[a]=0x67;
  249.                                 a++;
  250.                                 tablica[a]=0x7B;
  251.                                 a++;
  252.                                 tablica[a]=0x07;
  253.                                 a++;
  254.                                 tablica[a]=0x7F;
  255.                                 a++;
  256.  
  257.                         }
  258.                         else if(napis[c]=='N')
  259.                         {
  260.                                 tablica[a]=0x03;
  261.                                 a++;
  262.                                 tablica[a]=0x77;
  263.                                 a++;
  264.                                 tablica[a]=0x6F;
  265.                                 a++;
  266.                                 tablica[a]=0x03;
  267.                                 a++;
  268.                                 tablica[a]=0x7F;
  269.                                 a++;
  270.  
  271.                         }
  272.                         else if(napis[c]=='O')
  273.                         {
  274.                                 tablica[a]=0x47;
  275.                                 a++;
  276.                                 tablica[a]=0x3B;
  277.                                 a++;
  278.                                 tablica[a]=0x3B;
  279.                                 a++;
  280.                                 tablica[a]=0x47;
  281.                                 a++;
  282.                                 tablica[a]=0x7F;
  283.                                 a++;
  284.  
  285.                         }
  286.                         else if(napis[c]=='P')
  287.                         {
  288.                                 tablica[a]=0x03;
  289.                                 a++;
  290.                                 tablica[a]=0x6B;
  291.                                 a++;
  292.                                 tablica[a]=0x6B;
  293.                                 a++;
  294.                                 tablica[a]=0x77;
  295.                                 a++;
  296.                                 tablica[a]=0x7F;
  297.                                 a++;
  298.  
  299.                         }
  300.                         else if(napis[c]=='R')
  301.                         {
  302.                                 tablica[a]=0x03;
  303.                                 a++;
  304.                                 tablica[a]=0x6B;
  305.                                 a++;
  306.                                 tablica[a]=0x4B;
  307.                                 a++;
  308.                                 tablica[a]=0x37;
  309.                                 a++;
  310.                                 tablica[a]=0x7F;
  311.                                 a++;
  312.  
  313.                         }
  314.                         else if(napis[c]=='S')
  315.                         {
  316.                                 tablica[a]=0x37;
  317.                                 a++;
  318.                                 tablica[a]=0x2B;
  319.                                 a++;
  320.                                 tablica[a]=0x2B;
  321.                                 a++;
  322.                                 tablica[a]=0x5B;
  323.                                 a++;
  324.                                 tablica[a]=0x7F;
  325.                                 a++;
  326.  
  327.                         }
  328.                         else if(napis[c]=='T')
  329.                         {
  330.                                 tablica[a]=0x7B;
  331.                                 a++;
  332.                                 tablica[a]=0x7B;
  333.                                 a++;
  334.                                 tablica[a]=0x03;
  335.                                 a++;
  336.                                 tablica[a]=0x7B;
  337.                                 a++;
  338.                                 tablica[a]=0x7B;
  339.                                 a++;
  340.                                 tablica[a]=0x7F;
  341.                                 a++;
  342.  
  343.                         }
  344.                         else if(napis[c]=='U')
  345.                         {
  346.                                 tablica[a]=0x43;
  347.                                 a++;
  348.                                 tablica[a]=0x3F;
  349.                                 a++;
  350.                                 tablica[a]=0x3F;
  351.                                 a++;
  352.                                 tablica[a]=0x43;
  353.                                 a++;
  354.                                 tablica[a]=0x7F;
  355.                                 a++;
  356.  
  357.                         }
  358.                         else if(napis[c]=='W')
  359.                         {
  360.                                 tablica[a]=0x43;
  361.                                 a++;
  362.                                 tablica[a]=0x3F;
  363.                                 a++;
  364.                                 tablica[a]=0x4F;
  365.                                 a++;
  366.                                 tablica[a]=0x3F;
  367.                                 a++;
  368.                                 tablica[a]=0x43;
  369.                                 a++;
  370.                                 tablica[a]=0x7F;
  371.                                 a++;
  372.  
  373.                         }
  374.                         else if(napis[c]=='X')
  375.                         {
  376.                                 tablica[a]=0x13;
  377.                                 a++;
  378.                                 tablica[a]=0x6F;
  379.                                 a++;
  380.                                 tablica[a]=0x6F;
  381.                                 a++;
  382.                                 tablica[a]=0x13;
  383.                                 a++;
  384.                                 tablica[a]=0x7F;
  385.                                 a++;
  386.  
  387.                         }
  388.                         else if(napis[c]=='Y')
  389.                         {
  390.                                 tablica[a]=0x7B;
  391.                                 a++;
  392.                                 tablica[a]=0x77;
  393.                                 a++;
  394.                                 tablica[a]=0x0F;
  395.                                 a++;
  396.                                 tablica[a]=0x77;
  397.                                 a++;
  398.                                 tablica[a]=0x7B;
  399.                                 a++;
  400.                                 tablica[a]=0x7F;
  401.                                 a++;
  402.  
  403.                         }
  404.                         else if(napis[c]=='Z')
  405.                         {
  406.                                 tablica[a]=0x3B;
  407.                                 a++;
  408.                                 tablica[a]=0x1B;
  409.                                 a++;
  410.                                 tablica[a]=0x2B;
  411.                                 a++;
  412.                                 tablica[a]=0x33;
  413.                                 a++;
  414.                                 tablica[a]=0x7F;
  415.                                 a++;
  416.  
  417.                         }
  418.                         else if(napis[c]=='V')
  419.                         {
  420.                                 tablica[a]=0x63;
  421.                                 a++;
  422.                                 tablica[a]=0x5F;
  423.                                 a++;
  424.                                 tablica[a]=0x3F;
  425.                                 a++;
  426.                                 tablica[a]=0x5F;
  427.                                 a++;
  428.                                 tablica[a]=0x63;
  429.                                 a++;
  430.                                 tablica[a]=0x7F;
  431.                                 a++;
  432.  
  433.                         }
  434.                         else if(napis[c]=='.')
  435.                         {
  436.                                 tablica[a]=0x3F;
  437.                                 a++;
  438.                                 tablica[a]=0x7F;
  439.                                 a++;
  440.                         }
  441.                        
  442.                         else if(napis[c]=='-')
  443.                         {
  444.                                 tablica[a]=0x6F;
  445.                                 a++;
  446.                                 tablica[a]=0x6F;
  447.                                 a++;
  448.                                 tablica[a]=0x6F;
  449.                                 a++;
  450.                                 tablica[a]=0x7F;
  451.                                 a++;
  452.  
  453.                         }
  454.                        
  455.                         else if(napis[c]==' ')
  456.                         {
  457.                                 tablica[a]=0x7F;
  458.                                 a++;
  459.                                 tablica[a]=0x7F;
  460.                                 a++;
  461.  
  462.                         }
  463.                        
  464.                         #pragma endregion Litery
  465.                         c++;
  466.                         b=a;
  467.                         b=b*8;
  468.                 }
  469.                
  470.                 for (int x=0; x<25;x++)
  471.                 {
  472.                         tablica[a+x]=0x7f;
  473.                 }
  474.                
  475.                 while(b>0)
  476.                 {
  477.                        
  478.                         PORTD = tablica[0];
  479.                         PORTC |= (1<<K1);
  480.                         _delay_us(500);
  481.                         PORTD = tablica[1];
  482.                         PORTC &= ~ (1<<K1);
  483.                         PORTC |= (1<<K2);
  484.                         _delay_us(500);
  485.                         PORTD = tablica[2];
  486.                         PORTC &= ~ (1<<K2);
  487.                         PORTD |= (1<<K3);
  488.                         _delay_us(500);
  489.                         PORTD = tablica[3];
  490.                         PORTD &= ~ (1<<K3);
  491.                         PORTC |= (1<<K4);
  492.                         _delay_us(500);
  493.                         PORTD = tablica[4];
  494.                         PORTC &= ~ (1<<K4);
  495.                         PORTC |= (1<<K5);
  496.                         _delay_us(500);
  497.                         PORTD = tablica[5];
  498.                         PORTC &= ~ (1<<K5);
  499.                         PORTC |= (1<<K6);
  500.                         _delay_us(500);
  501.                         PORTD = tablica[6];
  502.                         PORTC &= ~ (1<<K6);
  503.                         PORTC |= (1<<K7);
  504.                         _delay_us(500);
  505.                         PORTD = tablica[7];
  506.                         PORTC &= ~ (1<<K7);
  507.                         PORTC |= (1<<K8);
  508.                         _delay_us(500);
  509.                         PORTD = tablica[8];
  510.                         PORTC &= ~ (1<<K8);
  511.                         PORTC |= (1<<K9);
  512.                         _delay_us(500);
  513.                         PORTD = tablica[9];
  514.                         PORTC &= ~ (1<<K9);
  515.                         PORTA |= (1<<K10);
  516.                         _delay_us(500);
  517.                         PORTD = tablica[10];
  518.                         PORTA &= ~ (1<<K10);
  519.                         PORTA |= (1<<K11);
  520.                         _delay_us(500);
  521.                         PORTD = tablica[11];
  522.                         PORTA &= ~ (1<<K11);
  523.                         PORTA |= (1<<K12);
  524.                         _delay_us(500);
  525.                         PORTD = tablica[12];
  526.                         PORTA &= ~ (1<<K12);
  527.                         PORTA |= (1<<K13);
  528.                         _delay_us(500);
  529.                         PORTD = tablica[13];
  530.                         PORTA &= ~ (1<<K13);
  531.                         PORTA |= (1<<K14);
  532.                         _delay_us(500);
  533.                         PORTD = tablica[14];
  534.                         PORTA &= ~ (1<<K14);
  535.                         PORTA |= (1<<K15);
  536.                         _delay_us(500);
  537.                         PORTD = tablica[15];
  538.                         PORTA &= ~ (1<<K15);
  539.                         PORTA |= (1<<K16);
  540.                         _delay_us(500);
  541.                         PORTD = tablica[16];
  542.                         PORTA &= ~ (1<<K16);
  543.                         PORTA |= (1<<K17);
  544.                         _delay_us(500);
  545.                         PORTD = tablica[17];
  546.                         PORTA &= ~ (1<<K17);
  547.                         PORTB |= (1<<K18);
  548.                         _delay_us(500);
  549.                         PORTD = tablica[18];
  550.                         PORTB &= ~ (1<<K18);
  551.                         PORTB |= (1<<K19);
  552.                         _delay_us(500);
  553.                         PORTD = tablica[19];
  554.                         PORTB &= ~ (1<<K19);
  555.                         PORTB |= (1<<K20);
  556.                         _delay_us(500);
  557.                         PORTD = tablica[20];
  558.                         PORTB &= ~ (1<<K20);
  559.                         PORTB |= (1<<K21);
  560.                         _delay_us(500);
  561.                         PORTD = tablica[21];
  562.                         PORTB &= ~ (1<<K21);
  563.                         PORTB |= (1<<K22);
  564.                         _delay_us(500);
  565.                         PORTD = tablica[22];
  566.                         PORTB &= ~ (1<<K22);
  567.                         PORTB |= (1<<K23);
  568.                         _delay_us(500);
  569.                         PORTD = tablica[23];
  570.                         PORTB &= ~ (1<<K23);
  571.                         PORTB |= (1<<K24);
  572.                         _delay_us(500);
  573.                         PORTD = tablica[24];
  574.                         PORTB &= ~ (1<<K24);
  575.                         PORTB |= (1<<K25);
  576.                         _delay_us(500);
  577.                         PORTD = 0xff;
  578.                         PORTB &= ~ (1<<K25);
  579.                         _delay_us(500);
  580.                        
  581.                         b--;
  582.                        
  583.                         if(b%8==0)
  584.                         {
  585.                                 przesun();
  586.                         }
  587.                 }
  588.                 a=25;
  589.                 b=0;
  590.                 c=0;
  591.                
  592.                
  593.         }
  594. }