C Programmierer?

    Hallo Scootertuner! Werde Teil einer der größten Scootertuning-Communities im Netz.
    Sei kostenlos dabei!

    • Weil mir noch keiner helfen konnte, hier mal mein "Problem":

      okay, also

      der sourcecode:

      Spoiler anzeigen

      Brainfuck-Quellcode

      1. #include <REG935.H> // register definition
      2. sbit LED_1 = P2^0; //Led 0 am Port 2
      3. sbit LED_2 = P2^7; //Led 7 am Port 2
      4. unsigned int ZZ = 0; // PWM Zähler
      5. unsigned char Fade = 0; //
      6. unsigned char TonOff = 10; // Zeit für 100%
      7. unsigned char T100 = 0; // Einschaltzeit 1 bis 99 %
      8. void Init(void);
      9. void main()
      10. {
      11. Init();
      12. while(1);
      13. }
      14. //----------------------------------------------------------------------
      15. //-----------------------------------------------------------------------
      16. void Init(void)
      17. {
      18. // EX1=1; IT1=1; EA=1;
      19. // ################################################################
      20. P2M1 = 00; // Betriebsart PxM1.y PxM2.y
      21. P2M2 = 00; // Quasi-bidirektional 0 0
      22. // Push-Pull 0 1
      23. // Input only(High Imped. 1 0
      24. // Open Drain 1 1
      25. P1M1 = 00; // Betriebsart PxM1.y PxM2.y
      26. P1M2 = 00; // Quasi-bidirektional 0 0
      27. //-----------------------------------------------------------------------
      28. // Timer 0 wird als Zeitgeber verwenden Timer 0 in Betriebsart 1
      29. TMOD = 0x11; // Timer 0 und Timer 1 auf Betriebsart 1 setzen
      30. TL0 = 0x10; // Laden des Zaehlers mit dem Reloadwert
      31. TH0 = 0xFF;
      32. TF0 = 0; // Ueberlaufflag von Timer 0 loeschen
      33. TL1 = 0x10; // Laden des Zaehlers mit dem Reloadwert
      34. TH1 = 0x80;
      35. TF1 = 0; // Ueberlaufflag von Timer 1 loeschen
      36. TR0 = 1; // Timer 0 starten
      37. TR1 = 1; // Timer 1 starten
      38. ET0 = 1; // Timer 0 Interrupt freigeben
      39. ET1 = 1; // Timer 1 Interrupt freigeben
      40. EA = 1; // Allgemeine Interruptsperre aufheben
      41. }
      42. //---------------------------------------------------------------------
      43. void v_Timer0Int(void) interrupt 1 using 1
      44. {
      45. // Laden des Zaehlers mit dem Reloadwert
      46. TL0 = 0x10;
      47. TH0 = 0xff;
      48. ZZ ++;
      49. if (ZZ == 100)
      50. {
      51. ZZ = 0;
      52. LED_1 = 0; //LED einschalten
      53. }
      54. if (ZZ >= TonOff)
      55. {
      56. LED_1 = 1; //LED aus
      57. }
      58. }
      59. //---------------------------------------------------------------------
      60. void v_Timer1Int(void) interrupt 3
      61. {
      62. // Laden des Zaehlers mit dem Reloadwert
      63. TL1 = 0x10;
      64. TH1 = 0xff;
      65. Fade ++;
      66. if (Fade == 200)
      67. {
      68. Fade =0;
      69. TonOff ++;
      70. if (TonOff == 99)
      71. {
      72. TonOff = 10;
      73. }
      74. }
      75. }
      76. //-----------------------------------------------------------------------
      77. /* TypeDef // void wartex(unsigned int wielange);
      78. void wartex(unsigned int wielange)
      79. {
      80. while (--wielange);
      81. }
      82. */
      Alles anzeigen


      Was es genau macht:



      Teils versteh ichs zwar noch, wär aber nett falls es mir jemand nochmal komplett erklären könnte :)
      Bearbeite Bilder und Videos (mache auch Intros etc.) für geringe Gegenleistungen -> PM

    x
  • Weitere Antworten auf Deine Frage:


  • Schließen

    Open Modal