4f587ea158d6170d54b8efda6f0701e88ba0cb5c.svn-base 4.7 KB

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