Delay.c~RF10428aa.TMP 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. /*---------------------------------------------------------------------------------------------------------*/
  2. /* */
  3. /* Copyright(c) 2017 Nuvoton Technology Corp. All rights reserved. */
  4. /* */
  5. /*---------------------------------------------------------------------------------------------------------*/
  6. //***********************************************************************************************************
  7. // Website: http://www.nuvoton.com
  8. // E-Mail : [email protected]
  9. // Date : Jan/21/2017
  10. //***********************************************************************************************************
  11. #include "N76E003_iar.h"
  12. #include "Common.h"
  13. #include "Delay.h"
  14. bit BIT_TMP;
  15. //-------------------------------------------------------------------------
  16. void Timer0_Delay100us(UINT32 u32CNT)
  17. {
  18. clr_T0M; //T0M=0, Timer0 Clock = Fsys/12
  19. TMOD |= 0x01; //Timer0 is 16-bit mode
  20. set_TR0; //Start Timer0
  21. while (u32CNT != 0)
  22. {
  23. TL0 = LOBYTE(TIMER_DIV12_VALUE_100us); //Find define in "Function_define.h" "TIMER VALUE"
  24. TH0 = HIBYTE(TIMER_DIV12_VALUE_100us);
  25. while (TF0 != 1); //Check Timer0 Time-Out Flag
  26. clr_TF0;
  27. u32CNT --;
  28. }
  29. clr_TR0; //Stop Timer0
  30. }
  31. //------------------------------------------------------------------------------
  32. void Timer0_Delay1ms(UINT32 u32CNT)
  33. {
  34. clr_T0M; //T0M=0, Timer0 Clock = Fsys/12
  35. TMOD |= 0x01; //Timer0 is 16-bit mode
  36. set_TR0; //Start Timer0
  37. while (u32CNT != 0)
  38. {
  39. TL0 = LOBYTE(TIMER_DIV12_VALUE_1ms); //Find define in "Function_define.h" "TIMER VALUE"
  40. TH0 = HIBYTE(TIMER_DIV12_VALUE_1ms);
  41. while (TF0 != 1); //Check Timer0 Time-Out Flag
  42. clr_TF0;
  43. u32CNT --;
  44. }
  45. clr_TR0; //Stop Timer0
  46. }
  47. //------------------------------------------------------------------------------
  48. void Timer1_Delay10ms(UINT32 u32CNT)
  49. {
  50. clr_T1M; //T1M=0, Timer1 Clock = Fsys/12
  51. TMOD |= 0x10; //Timer1 is 16-bit mode
  52. set_TR1; //Start Timer1
  53. while (u32CNT != 0)
  54. {
  55. TL1 = LOBYTE(TIMER_DIV12_VALUE_10ms); //Find define in "Function_define.h" "TIMER VALUE"
  56. TH1 = HIBYTE(TIMER_DIV12_VALUE_10ms);
  57. while (TF1 != 1); //Check Timer1 Time-Out Flag
  58. clr_TF1;
  59. u32CNT --;
  60. }
  61. clr_TR1; //Stop Timer1
  62. }
  63. //------------------------------------------------------------------------------
  64. void Timer2_Delay500us(UINT32 u32CNT)
  65. {
  66. clr_T2DIV2; //Timer2 Clock = Fsys/4
  67. clr_T2DIV1;
  68. set_T2DIV0;
  69. set_TR2; //Start Timer2
  70. while (u32CNT != 0)
  71. {
  72. TL2 = LOBYTE(TIMER_DIV4_VALUE_500us); //Find define in "Function_define.h" "TIMER VALUE"
  73. TH2 = HIBYTE(TIMER_DIV4_VALUE_500us);
  74. while (TF2 != 1); //Check Timer2 Time-Out Flag
  75. clr_TF2;
  76. u32CNT --;
  77. }
  78. clr_TR2; //Stop Timer2
  79. }
  80. //------------------------------------------------------------------------------
  81. void Timer3_Delay100ms(UINT32 u32CNT)
  82. {
  83. T3CON = 0x07; //Timer3 Clock = Fsys/128
  84. set_TR3; //Trigger Timer3
  85. while (u32CNT != 0)
  86. {
  87. RL3 = LOBYTE(TIMER_DIV128_VALUE_100ms); //Find define in "Function_define.h" "TIMER VALUE"
  88. RH3 = HIBYTE(TIMER_DIV128_VALUE_100ms);
  89. while ((T3CON&SET_BIT4) != SET_BIT4); //Check Timer3 Time-Out Flag
  90. clr_TF3;
  91. u32CNT --;
  92. }
  93. clr_TR3; //Stop Timer3
  94. }
  95. //------------------------------------------------------------------------------
  96. void Timer3_Delay10us(UINT32 u32CNT)
  97. {
  98. T3CON = 0x07; //Timer3 Clock = Fsys/128
  99. set_TR3; //Trigger Timer3
  100. while (u32CNT != 0)
  101. {
  102. RL3 = LOBYTE(TIMER_DIV4_VALUE_10us); //Find define in "Function_define.h" "TIMER VALUE"
  103. RH3 = HIBYTE(TIMER_DIV4_VALUE_10us);
  104. while ((T3CON&SET_BIT4) != SET_BIT4); //Check Timer3 Time-Out Flag
  105. clr_TF3;
  106. u32CNT --;
  107. }
  108. clr_TR3; //Stop Timer3
  109. }