[DemoCode下载] N76E003 Timer2应用

[复制链接]
1513|2
 楼主| 玛尼玛尼哄 发表于 2017-10-27 18:27 | 显示全部楼层 |阅读模式
  1. /*---------------------------------------------------------------------------------------------------------*/
  2. /*                                                                                                         */
  3. /* Copyright(c) 2016 Nuvoton Technology Corp. All rights reserved.                                         */
  4. /*                                                                                                         */
  5. /*---------------------------------------------------------------------------------------------------------*/

  6. //***********************************************************************************************************
  7. //  Nuvoton Technoledge Corp.
  8. //  Website: http://www.nuvoton.com
  9. //  E-Mail : MicroC-8bit@nuvoton.com
  10. //  Date   : Apr/21/2016
  11. //***********************************************************************************************************

  12. //***********************************************************************************************************
  13. //  File Function: N76E003 Timer2 Capture Mode demo code
  14. //***********************************************************************************************************

  15. #include <stdio.h>
  16. #include "N76E003.h"
  17. #include "Common.h"
  18. #include "Delay.h"
  19. #include "SFR_Macro.h"
  20. #include "Function_Define.h"

  21. //*****************  The Following is in define in Fucntion_Define.h  ***************************
  22. //****** Always include Function_define.h call the define you want, detail see main(void) *******
  23. //***********************************************************************************************
  24. #if 0
  25. ///*----------------------------------------------------------------------------------------------------------
  26. //*    Capture Pin Selection Define
  27. //----------------------------------------------------------------------------------------------------------*/
  28. ////--- Falling Edge -----
  29. //#define IC0_P12_CAP0_FallingEdge_Capture                CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xCF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0
  30. //#define        IC1_P11_CAP0_FallingEdge_Capture                CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xCF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x01;
  31. //#define        IC2_P10_CAP0_FallingEdge_Capture                CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xCF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x02;
  32. //#define        IC3_P00_CAP0_FallingEdge_Capture                CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xCF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x03;
  33. //#define        IC3_P04_CAP0_FallingEdge_Capture                CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xCF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x04;
  34. //#define        IC4_P01_CAP0_FallingEdge_Capture                CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xCF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x05;
  35. //#define        IC5_P03_CAP0_FallingEdge_Capture                CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xCF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x06;
  36. //#define        IC6_P05_CAP0_FallingEdge_Capture                CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xCF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x07;
  37. //#define        IC7_P15_CAP0_FallingEdge_Capture                CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xCF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x08;

  38. //#define IC0_P12_CAP1_FallingEdge_Capture                CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xF3;CAPCON2|=SET_BIT5;CAPCON3&=0x0F
  39. //#define        IC1_P11_CAP1_FallingEdge_Capture                CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xF3;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x10;
  40. //#define        IC2_P10_CAP1_FallingEdge_Capture                CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xF3;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x20;
  41. //#define        IC3_P00_CAP1_FallingEdge_Capture                CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xF3;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x30;
  42. //#define        IC3_P04_CAP1_FallingEdge_Capture                CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xF3;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x40;
  43. //#define        IC4_P01_CAP1_FallingEdge_Capture                CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xF3;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x50;
  44. //#define        IC5_P03_CAP1_FallingEdge_Capture                CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xF3;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x60;
  45. //#define        IC6_P05_CAP1_FallingEdge_Capture                CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xF3;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x70;
  46. //#define        IC7_P15_CAP1_FallingEdge_Capture                CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xF3;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x80;

  47. //#define IC0_P12_CAP2_FallingEdge_Capture                CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFC;CAPCON2|=SET_BIT6;CAPCON4&=0xF0
  48. //#define        IC1_P11_CAP2_FallingEdge_Capture                CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFC;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x10;
  49. //#define        IC2_P10_CAP2_FallingEdge_Capture                CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFC;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x20;
  50. //#define        IC3_P00_CAP2_FallingEdge_Capture                CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFC;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x30;
  51. //#define        IC3_P04_CAP2_FallingEdge_Capture                CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFC;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x40;
  52. //#define        IC4_P01_CAP2_FallingEdge_Capture                CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFC;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x50;
  53. //#define        IC5_P03_CAP2_FallingEdge_Capture                CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFC;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x60;
  54. //#define        IC6_P05_CAP2_FallingEdge_Capture                CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFC;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x70;
  55. //#define        IC7_P15_CAP2_FallingEdge_Capture                CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFC;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x80;

  56. ////----- Rising edge ----
  57. //#define IC0_P12_CAP0_RisingEdge_Capture                        CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xDF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0
  58. //#define        IC1_P11_CAP0_RisingEdge_Capture                        CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xDF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x01;
  59. //#define        IC2_P10_CAP0_RisingEdge_Capture                        CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xDF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x02;
  60. //#define        IC3_P00_CAP0_RisingEdge_Capture                        CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xDF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x03;
  61. //#define        IC3_P04_CAP0_RisingEdge_Capture                        CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xDF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x04;
  62. //#define        IC4_P01_CAP0_RisingEdge_Capture                        CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xDF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x05;
  63. //#define        IC5_P03_CAP0_RisingEdge_Capture                        CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xDF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x06;
  64. //#define        IC6_P05_CAP0_RisingEdge_Capture                        CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xDF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x07;
  65. //#define        IC7_P15_CAP0_RisingEdge_Capture                        CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xDF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x08;

  66. //#define IC0_P12_CAP1_RisingEdge_Capture                        CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xF7;CAPCON2|=SET_BIT5;CAPCON3&=0x0F
  67. //#define        IC1_P11_CAP1_RisingEdge_Capture                        CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xF7;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x10;
  68. //#define        IC2_P10_CAP1_RisingEdge_Capture                        CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xF7;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x20;
  69. //#define        IC3_P00_CAP1_RisingEdge_Capture                        CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xF7;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x30;
  70. //#define        IC3_P04_CAP1_RisingEdge_Capture                        CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xF7;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x40;
  71. //#define        IC4_P01_CAP1_RisingEdge_Capture                        CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xF7;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x50;
  72. //#define        IC5_P03_CAP1_RisingEdge_Capture                        CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xF7;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x60;
  73. //#define        IC6_P05_CAP1_RisingEdge_Capture                        CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xF7;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x70;
  74. //#define        IC7_P15_CAP1_RisingEdge_Capture                        CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xF7;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x80;

  75. //#define IC0_P12_CAP3_RisingEdge_Capture                        CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFD;CAPCON2|=SET_BIT6;CAPCON4&=0xF0
  76. //#define        IC1_P11_CAP3_RisingEdge_Capture                        CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFD;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x01;
  77. //#define        IC2_P10_CAP3_RisingEdge_Capture                        CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFD;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x02;
  78. //#define        IC3_P00_CAP3_RisingEdge_Capture                        CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFD;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x03;
  79. //#define        IC3_P04_CAP3_RisingEdge_Capture                        CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFD;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x04;
  80. //#define        IC4_P01_CAP3_RisingEdge_Capture                        CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFD;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x05;
  81. //#define        IC5_P03_CAP3_RisingEdge_Capture                        CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFD;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x06;
  82. //#define        IC6_P05_CAP3_RisingEdge_Capture                        CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFD;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x07;
  83. //#define        IC7_P15_CAP3_RisingEdge_Capture                        CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFD;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x08;

  84. ////-----BOTH  edge ----
  85. //#define IC0_P12_CAP0_BothEdge_Capture                                CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xBF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0
  86. //#define        IC1_P11_CAP0_BothEdge_Capture                                CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xBF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x01;
  87. //#define        IC2_P10_CAP0_BothEdge_Capture                                CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xBF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x02;
  88. //#define        IC3_P00_CAP0_BothEdge_Capture                                CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xBF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x03;
  89. //#define        IC3_P04_CAP0_BothEdge_Capture                                CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xBF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x04;
  90. //#define        IC4_P01_CAP0_BothEdge_Capture                                CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xBF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x05;
  91. //#define        IC5_P03_CAP0_BothEdge_Capture                                CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xBF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x06;
  92. //#define        IC6_P05_CAP0_BothEdge_Capture                                CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xBF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x07;
  93. //#define        IC7_P15_CAP0_BothEdge_Capture                                CAPCON0|=SET_BIT4;CAPCON1|=0x30;CAPCON1&=0xBF;CAPCON2|=SET_BIT4;CAPCON3&=0xF0;CAPCON3|=0x08;

  94. //#define IC0_P12_CAP1_BothEdge_Capture                                CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xEF;CAPCON2|=SET_BIT5;CAPCON3&=0x0F
  95. //#define        IC1_P11_CAP1_BothEdge_Capture                                CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xEF;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x10;
  96. //#define        IC2_P10_CAP1_BothEdge_Capture                                CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xEF;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x20;
  97. //#define        IC3_P00_CAP1_BothEdge_Capture                                CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xEF;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x30;
  98. //#define        IC3_P04_CAP1_BothEdge_Capture                                CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xEF;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x40;
  99. //#define        IC4_P01_CAP1_BothEdge_Capture                                CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xEF;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x50;
  100. //#define        IC5_P03_CAP1_BothEdge_Capture                                CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xEF;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x60;
  101. //#define        IC6_P05_CAP1_BothEdge_Capture                                CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xEF;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x70;
  102. //#define        IC7_P15_CAP1_BothEdge_Capture                                CAPCON0|=SET_BIT5;CAPCON1|=0x0C;CAPCON1&=0xEF;CAPCON2|=SET_BIT5;CAPCON3&=0x0F;CAPCON3|=0x80;

  103. //#define IC0_P12_CAP3_BothEdge_Capture                                CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFB;CAPCON2|=SET_BIT6;CAPCON4&=0xF0
  104. //#define        IC1_P11_CAP3_BothEdge_Capture                                CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFB;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x01;
  105. //#define        IC2_P10_CAP3_BothEdge_Capture                                CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFB;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x02;
  106. //#define        IC3_P00_CAP3_BothEdge_Capture                                CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFB;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x03;
  107. //#define        IC3_P04_CAP3_BothEdge_Capture                                CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFB;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x04;
  108. //#define        IC4_P01_CAP3_BothEdge_Capture                                CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFB;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x05;
  109. //#define        IC5_P03_CAP3_BothEdge_Capture                                CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFB;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x06;
  110. //#define        IC6_P05_CAP3_BothEdge_Capture                                CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFB;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x07;
  111. //#define        IC7_P15_CAP3_BothEdge_Capture                                CAPCON0|=SET_BIT6;CAPCON1|=0x03;CAPCON1&=0xFB;CAPCON2|=SET_BIT6;CAPCON4&=0xF0;CAPCON4|=0x08;

  112. //#define TIMER2_IC2_DISABLE                                                                        CAPCON0&=~SET_BIT6                         
  113. //#define TIMER2_IC1_DISABLE                                                                        CAPCON0&=~SET_BIT5                       
  114. //#define TIMER2_IC0_DISABLE                                                                        CAPCON0&=~SET_BIT4       
  115. ///*----------------------------------------------------------------------------------------------------------
  116. //*    Timer2 mode define
  117. //------------------------------------------------------------------------------------------------------------*/
  118. //#define TIMER2_Auto_Reload_Delay_Mode                                T2CON&=~SET_BIT0;T2MOD|=SET_BIT7;T2MOD|=SET_BIT3
  119. //#define TIMER2_Auto_Reload_Capture_Mode                        T2CON&=~SET_BIT0;T2MOD|=SET_BIT7
  120. //#define        TIMER2_Compare_Capture_Mode                                        T2CON|=SET_BIT0;T2MOD&=~SET_BIT7;T2MOD|=SET_BIT2
  121. ///*----------------------------------------------------------------------------------------------------------
  122. //*   Timer devider define
  123. //----------------------------------------------------------------------------------------------------------*/
  124. //#define TIMER2_DIV_4                        T2MOD|=0x10;T2MOD&=0x9F
  125. //#define TIMER2_DIV_16                        T2MOD|=0x20;T2MOD&=0xAF
  126. //#define TIMER2_DIV_32                        T2MOD|=0x30;T2MOD&=0xBF
  127. //#define TIMER2_DIV_64                        T2MOD|=0x40;T2MOD&=0xCF
  128. //#define TIMER2_DIV_128                T2MOD|=0x50;T2MOD&=0xDF
  129. //#define TIMER2_DIV_256                T2MOD|=0x60;T2MOD&=0xEF
  130. //#define TIMER2_DIV_512                T2MOD|=0x70
  131. #endif


  132. /************************************************************************************************************
  133. *    Timer2 Capture interrupt subroutine
  134. ************************************************************************************************************/
  135. void Capture_ISR (void) interrupt 12
  136. {
  137.         clr_CAPF0;                          // clear capture0 interrupt flag
  138.         P1 = C0L;                                                                                                                // For capture mode CxL/CxH with data capture from I/O pin
  139.         P2 = C0H;                                                                                                               
  140.         P12 = ~P12;                                                                                                        //toggle GPIO1 to show int
  141. }
  142. /************************************************************************************************************
  143. *    Main function
  144. ************************************************************************************************************/
  145. void main (void)
  146. {
  147.     Set_All_GPIO_Quasi_Mode;
  148.                 TIMER2_Compare_Capture_Mode;
  149.                 IC3_P00_CAP0_BothEdge_Capture;
  150.                
  151.     set_ET2;                                    //Enable Timer2 interrupt
  152.     set_ECAP;                                   //Enable Capture interrupt
  153.     set_TR2;                                    //Triger Timer2
  154.     set_EA;
  155.    
  156.     while(1);
  157. }


 楼主| 玛尼玛尼哄 发表于 2017-10-27 18:58 | 显示全部楼层
大家一般都熟悉TImer1,不熟悉2,这里找到官方的例子。给大家啊。
天灵灵地灵灵 发表于 2017-10-27 21:23 | 显示全部楼层
可以双边单边触发。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

198

主题

3432

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部
0