Advertisement
othutas

avr

Apr 11th, 2014
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 8.48 KB | None | 0 0
  1. #include "lcd.h"        // "Einbinden der Funktionalit�t" f�r die Nutzung des HAPSIM-LCD
  2. #include "keypad.h"     // "Einbinden der Funktionalit�t" f�r die Nutzung des HAPSIM-Keypad
  3. #include "my_string.h"  // "Einbinden der Funktionalit�t" f�r die Nutzung der eigenen Stringoperation
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11. ///////////////////////////////////////////////////////////////////////////////////////
  12. /// Bedingte Compilierung zur Bestimmung welches "Beis�iel" compiliert werden soll  ///
  13. //
  14. // Es darf immer nur ein "define" aktive, d.h. nicht auskommentiert sein.
  15. //
  16. //#define beispiel_1
  17. //#define beispiel_2
  18. //#define beispiel_3
  19. //#define beispiel_4
  20. //#define beispiel_5
  21. //#define beispiel_6
  22. //#define beispiel_7
  23. //#define beispiel_8
  24. //#define beispiel_9
  25. //#define beispiel_10
  26. //#define beispiel_11
  27. //#define beispiel_12
  28. //#define beispiel_13
  29. //#define asciitoint
  30. #define lauflicht
  31. //
  32. ///////////////////////////////////////////////////////////////////////////////////////
  33.  
  34.  
  35.  
  36. #ifdef beispiel_1
  37. int main ()
  38. {
  39.     /* Deklarationsteil Anfang*/
  40.     long int        zahl1=2;
  41.     long int        zahl2=4;
  42.     const long int  drei=3;
  43.     long int        ergebnis;
  44.        
  45.     /* Deklarationsteil Ende */
  46.  
  47.  
  48.     /* Ausf�hrungsteil Anfang */
  49.     zahl2 = zahl1 + zahl2; 
  50.     ergebnis = zahl2 * drei;
  51.     // Ausf�hrungsteil Ende
  52. }
  53. #endif // beispiel_1
  54.  
  55.  
  56. #ifdef beispiel_2
  57.  
  58. int main() {
  59.     long int zahl1;
  60.     long int zahl2;
  61.     long int ergebnis;
  62.     char string_1[100];
  63.     char string_2[100];
  64.  
  65.  
  66.     putstring("Bitte 1. Zahl eingeben:\n");
  67.     getstring(string_1);
  68.     zahl1=stringtoi(string_1);
  69.  
  70.  
  71.     putstring("Bitte 2. Zahl eingeben:\n");
  72.     getstring(string_1);
  73.     zahl2=stringtoi(string_1);
  74.  
  75.     ergebnis= zahl1 * zahl2;
  76.  
  77.     itostring(ergebnis, string_1);
  78.  
  79.     copystring("Produkt beider Zahlen ist:\n",string_2);
  80.     appendstring(string_1, string_2);
  81.     putstring (string_2);
  82.  
  83.     getchar();
  84. }
  85. #endif // beispiel_2
  86.  
  87.  
  88. #ifdef beispiel_3
  89. int main()
  90. {
  91.     long int    i=4;
  92.     char        string[100];
  93.  
  94.  
  95.     while (i>=0)
  96.     {
  97.         itostring(i, string);
  98.         putstring(string);
  99.         getchar();
  100.  
  101.         i=i-1;
  102.     }
  103. }
  104. #endif // beispiel_3
  105.  
  106.  
  107. #ifdef beispiel_4
  108. int main()
  109. {
  110.     long int i=-1;
  111.     char        string[100];
  112.  
  113.     do
  114.     {
  115.         itostring(i, string);
  116.         putstring(string);
  117.         getchar();
  118.  
  119.         i=i-1;
  120.  
  121.     } while (i >=0);
  122.  
  123. }
  124. #endif // beispiel_4
  125.  
  126.  
  127. #ifdef beispiel_5
  128. int main()
  129. {
  130.     long int    i;
  131.     char        string[100];
  132.  
  133.     for (i=4; i>=0; i=i-1)
  134.     {
  135.         itostring(i, string);
  136.         putstring(string);
  137.         getchar();
  138.     }
  139. }
  140. #endif // beispiel_5
  141.  
  142.  
  143. #ifdef beispiel_6
  144. int main()
  145. {
  146.     long int i;
  147.     char        string[100];
  148.  
  149.     putstring("Wert fuer i eingeben:");
  150.     getstring(string);
  151.     i=stringtoi(string);
  152.  
  153.     if (i >=0)
  154.     {
  155.         putstring("i ist positiv");
  156.     }
  157.     else
  158.     {
  159.         putstring("i ist negativ\n");
  160.     }
  161.     getchar(); 
  162. }
  163. #endif // beispiel_6
  164.  
  165.  
  166. #ifdef beispiel_7
  167. int main()
  168. {
  169.     long int i;
  170.     char string [100];
  171.  
  172.     for (i=4; i>=0; i=i-1)
  173.     {
  174.     if (i!=2) {
  175.         itostring(i, string);
  176.         putstring(string);
  177.         getchar();
  178.     }
  179.         else
  180.             break;
  181.     }
  182. }
  183. #endif // beispiel_7
  184.  
  185.  
  186. #ifdef beispiel_8
  187. int main()
  188. {
  189.     long int i;
  190.     char string [100];
  191.  
  192.     for (i=4; i>=0; i=i-1)
  193.     {
  194.     if (i!=2) {
  195.         itostring(i, string);
  196.         putstring(string);
  197.         getchar();
  198.     }
  199.         else
  200.             continue;
  201.     }
  202. }
  203. #endif // beispiel_8
  204.  
  205.  
  206. #ifdef beispiel_9
  207. int main()
  208. {
  209.     long int i=4;
  210.     char string[100];
  211.  
  212.     putstring("Wert fuer i eingeben:");
  213.     getstring(string);
  214.     i=stringtoi(string);
  215.                        
  216.  
  217.     switch( i )
  218.         {
  219.             case 1: putstring( "Eins"); getchar(); break;
  220.             case 2: putstring( "Zwei"); getchar(); break;
  221.             case 3: putstring( "Drei"); getchar(); break;
  222.             case 4: putstring( "Vier"); getchar(); break;
  223.             case 5: putstring( "Fuenf"); getchar(); break;
  224.             default: putstring( "Kleiner Eins oder groesser Fuenf");
  225.         }
  226. }
  227. #endif // beispiel_9
  228.  
  229.  
  230. #ifdef beispiel_10
  231. int main()
  232. {
  233.     long int i=4;
  234.     char string[100];
  235.    
  236.     putstring("Wert fuer i eingeben:");
  237.     getstring(string);
  238.     i=stringtoi(string);
  239.                            
  240.  
  241.     switch( i )
  242.     {
  243.         case 1: putstring( "Eins"); getchar();
  244.         case 2: putstring( "Zwei"); getchar();
  245.         case 3: putstring( "Drei"); getchar();
  246.         case 4: putstring( "Vier"); getchar();
  247.         case 5: putstring( "Fuenf"); getchar();
  248.         default: putstring( "Kleiner Eins oder groesser Fuenf");
  249.     }
  250. }
  251. #endif // beispiel_10
  252.  
  253.  
  254. #ifdef beispiel_11
  255. int main()
  256. {
  257.     char string_1[100];
  258.     char string_2[100];
  259.     long int messwerte [10];        // Meldet ein Feld von
  260.                                         // 10 Integerwerten an.
  261.  
  262.     long int tabelle[3] = {1, 2, 3};    // Meldet ein Feld von
  263.                                     // 3 Integerwerten an und weist dem
  264.                                         // 1. Feldelement den Wert 1, dem
  265.                                         // 2. Feldelement den Wert 2 und dem
  266.                                         // 3. Feldelement den Wert 3 zu.
  267.  
  268.     messwerte [0] = tabelle[2];         // Weist dem 1. Feldelement von messwerte
  269.                                         // den Wert des 3. Feldelementes von tabelle zu.
  270.  
  271.     messwerte [1] = messwerte [0];  // Liest den Wert des 1.
  272.                                         // Feldelementes und weist diesen Wert
  273.                                         // dem 2. Feldelement zu.
  274.  
  275.  
  276.     copystring("messwerte[0]:",string_2);
  277.     itostring(messwerte[0], string_1);
  278.     appendstring(string_1, string_2);
  279.     putstring(string_2);
  280.     getchar();
  281.  
  282.     copystring("messwerte[1]:",string_2);
  283.     itostring(messwerte[1], string_1);
  284.     appendstring(string_1, string_2);
  285.     putstring(string_2);
  286.     getchar();
  287.  
  288.   }
  289. #endif // beispiel_11
  290.  
  291.  
  292.  
  293.  
  294. #ifdef beispiel_12
  295.  
  296. #define AUSGABE
  297. #define MAXANZAHL 30
  298.  
  299. int main()
  300. {
  301.     int feld[MAXANZAHL];
  302.     char string_1[100];
  303.     char string_2[100];
  304.     int i;
  305.  
  306.     for (i=0; i<MAXANZAHL; i++)
  307.     {
  308.         putstring("Bitte eine Zahl eingeben:\n");
  309.         getstring(string_1);
  310.         feld[i]=stringtoi(string_1);
  311.  
  312. #ifdef AUSGABE
  313.         itostring(feld[i], string_1);
  314.         copystring("Eingegeben wurde die Zahl ",string_2);
  315.         appendstring(string_1, string_2);
  316.         putstring (string_2);
  317.         getchar();
  318. #endif
  319.     }
  320. }
  321.  
  322. #endif // beispiel_12
  323.  
  324.  
  325. #ifdef beispiel_13
  326.  
  327. int main()
  328. {
  329.     typedef enum {MO, DI, MI, DO, FR, SA, SO} wochentag;
  330.     wochentag heute=MO;
  331.  
  332.     // ...
  333.     // Hier wird irgendwie der aktuelle Wochentag ermittelt
  334.     // und der entsprechende Enumerations-Wert der Variablen
  335.     // heute zugewiesen.
  336.     // ...
  337.    
  338.     switch( heute )
  339.         {
  340.             case MO: putstring( "Gehe zur FH!"); getchar(); break;
  341.             case DI: putstring( "Gehe zur FH!"); getchar(); break;
  342.             case MI: putstring( "Gehe zur FH!"); getchar(); break;
  343.             case DO: putstring( "Gehe zur FH!"); getchar(); break;
  344.             case FR: putstring( "Zuhause ernen"); getchar(); break;
  345.             case SA: putstring( "Erholen"); getchar(); break;
  346.             case SO: putstring( "Erholen"); getchar(); break;
  347.             default: putstring( "Den Wochtag gib es nicht!");
  348.         }
  349. }
  350.  
  351. #endif // beispiel_13
  352.  
  353. #ifdef asciitoint
  354.     int main(){
  355.        
  356.         char string_1[5];                               // Variabendeklaration
  357.         char string_2[5];
  358.         long int zahl_1;
  359.         long int zahl_2;
  360.         long int erg;
  361.         long int i;
  362.         char out[10];
  363.  
  364.         putstring("Bitte Dezimalzahl eingeben");        //Strings einlesen
  365.         getstring(string_1);
  366.    
  367.         putstring("Bitte noch eine Dezimalzahl eingeben");     
  368.         getstring(string_2);
  369.        
  370.         for( i= 0; i !='\0'; i++){                      //Pr�ft ob die Eingabe im erlaubten Bereich liegt
  371.             if(string_1[i]<0 || string_1[i]> 9){
  372.                 putstring("Fehlerhafte Eingabe");
  373.            
  374.             }
  375.             if(string_2[i]<0 || string_2[i]> 9){
  376.                 putstring("Fehlerhafte Eingabe");
  377.            
  378.             }
  379.         }
  380.                 zahl_1 = stringtoi(string_1);           //Umwandlung der Strings in Integerwerte
  381.                 zahl_2 = stringtoi(string_2);
  382.                 erg = zahl_1+zahl_2;                    //Addition der Werte
  383.                 itostring(erg,out);                     //Umwandlung des Ergebnisses in einen String
  384.                 putstring(out);                
  385.     }  
  386.  
  387. #endif //asciitoint
  388.  
  389. #ifdef lauflicht
  390.     int main(){
  391.        
  392.             unsigned char T3, T2;           //Variableninitialisierung
  393.             unsigned char temp;
  394.             unsigned int i;
  395.             unsigned int stat;
  396.  
  397.             DDRB =  0x00;                   //SFR-Registerbits initialisieren
  398.             PORTB = 0xC0;
  399.  
  400.             DDRD =  0xF0;                   //nur die ersten 4 Bits auf schreiben
  401.         while(1){                  
  402.             temp = PINB>>7;
  403.             T3=temp &0x01;
  404.  
  405.             temp = PINB>>6;
  406.             //temp = temp>>6;
  407.             T2=temp & 0x01;
  408.  
  409.             if(T3 == 0 && T2 == 1){         //Statusabfrage T3
  410.                 for(i=7;i>=4;i--){
  411.                     temp = 1<<i;
  412.                     PORTD = temp;
  413.                     stat = temp;
  414.                     //_ms_delay(1000)
  415.                 }
  416.  
  417.             }else{
  418.  
  419.                 if(T2 == 0 && T3==1){       //Statusabfrage T2
  420.                     for(i=4;i<=7;i++){
  421.                         temp = 1<<i;
  422.                         PORTD = temp;
  423.                         stat = temp;
  424.                         //_ms_delay(1000)
  425.                     }
  426.                 }else{
  427.  
  428.                     if((T3 ==0 && T2 ==0)|(T3 ==1 && T2 ==1)){  //wenn beide Tasten gedr�ckt sind oder keiner
  429.                         PORTD = stat;
  430.                         //_ms_delay(1000)
  431.                     }
  432.  
  433.                 }
  434.             }
  435.         }
  436.     }
  437. #endif //lauflicht
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement