017372d7daec08a4ee3e3398fc235f31c8abbbce.svn-base 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. C51 COMPILER V9.53.0.0 COMMON 09/30/2018 11:45:28 PAGE 1
  2. C51 COMPILER V9.53.0.0, COMPILATION OF MODULE COMMON
  3. OBJECT MODULE PLACED IN .\Output\Common.obj
  4. COMPILER INVOKED BY: D:\Keil_v5\C51\BIN\C51.EXE ..\..\Code\keil_common\Common\Common.c LARGE OPTIMIZE(0,SPEED) BROWSE IN
  5. -CDIR(../../Code/Include;../../Code/User;../../Code/User/Common;../../Code/User/Driver) DEFINE(FOSC_160000=1) DEBUG OBJEC
  6. -TEXTEND PRINT(.\Output\LST\Common.lst) TABS(2) OBJECT(.\Output\Common.obj)
  7. line level source
  8. 1 /*--------------------------------------------------------------------------------------------------------
  9. --*/
  10. 2 /*
  11. - */
  12. 3 /* Copyright(c) 2016 Nuvoton Technology Corp. All rights reserved.
  13. - */
  14. 4 /*
  15. - */
  16. 5 /*--------------------------------------------------------------------------------------------------------
  17. --*/
  18. 6
  19. 7 //********************************************************************************************************
  20. -***
  21. 8 // Nuvoton Technoledge Corp.
  22. 9 // Website: http://www.nuvoton.com
  23. 10 // E-Mail : [email protected]
  24. 11 // Date : Apr/21/2016
  25. 12 //********************************************************************************************************
  26. -***
  27. 13
  28. 14 #include "N76E003.h"
  29. 15 #include "Common.h"
  30. 16 #include "Delay.h"
  31. 17 #include "SFR_Macro.h"
  32. 18 #include "Function_define.h"
  33. 19
  34. 20 //----------------------------------------------------------------------------------
  35. 21 // UART0 baud rate initial setting
  36. 22 //----------------------------------------------------------------------------------
  37. 23 void InitialUART0_Timer1(UINT32 u32Baudrate) //T1M = 1, SMOD = 1
  38. 24 {
  39. 25 1 P06_Quasi_Mode; //Setting UART pin as Quasi mode for transmit
  40. 26 1 P07_Quasi_Mode; //Setting UART pin as Quasi mode for transmit
  41. 27 1
  42. 28 1 SCON = 0x50; //UART0 Mode1,REN=1,TI=1
  43. 29 1 TMOD |= 0x20; //Timer1 Mode1
  44. 30 1
  45. 31 1 set_SMOD; //UART0 Double Rate Enable
  46. 32 1 set_T1M;
  47. 33 1 clr_BRCK; //Serial port 0 baud rate clock source = Timer1
  48. 34 1
  49. 35 1 #ifdef FOSC_160000
  50. 36 1 TH1 = 256 - (1000000/u32Baudrate+1); /*16 MHz */
  51. 37 1 #endif
  52. 38 1 #ifdef FOSC_166000
  53. TH1 = 256 - (1037500/u32Baudrate); /*16.6 MHz */
  54. #endif
  55. 41 1 set_TR1;
  56. 42 1 set_TI; //For printf function must setting TI = 1
  57. 43 1 }
  58. 44 //---------------------------------------------------------------
  59. 45 void InitialUART0_Timer3(UINT32 u32Baudrate) //use timer3 as Baudrate generator
  60. 46 {
  61. C51 COMPILER V9.53.0.0 COMMON 09/30/2018 11:45:28 PAGE 2
  62. 47 1 P06_Quasi_Mode; //Setting UART pin as Quasi mode for transmit
  63. 48 1 P07_Quasi_Mode; //Setting UART pin as Quasi mode for transmit
  64. 49 1
  65. 50 1 SCON = 0x50; //UART0 Mode1,REN=1,TI=1
  66. 51 1 set_SMOD; //UART0 Double Rate Enable
  67. 52 1 T3CON &= 0xF8; //T3PS2=0,T3PS1=0,T3PS0=0(Prescale=1)
  68. 53 1 set_BRCK; //UART0 baud rate clock source = Timer3
  69. 54 1
  70. 55 1 #ifdef FOSC_160000
  71. 56 1 RH3 = HIBYTE(65536 - (1000000/u32Baudrate)-1); /*16 MHz */
  72. 57 1 RL3 = LOBYTE(65536 - (1000000/u32Baudrate)-1); /*16 MHz */
  73. 58 1 #endif
  74. 59 1 #ifdef FOSC_166000
  75. RH3 = HIBYTE(65536 - (1037500/u32Baudrate)); /*16.6 MHz */
  76. RL3 = LOBYTE(65536 - (1037500/u32Baudrate)); /*16.6 MHz */
  77. #endif
  78. 63 1 set_TR3; //Trigger Timer3
  79. 64 1 set_TI; //For printf function must setting TI = 1
  80. 65 1 }
  81. 66
  82. 67 UINT8 Receive_Data_From_UART0(void)
  83. 68 {
  84. 69 1 UINT8 c;
  85. 70 1 while (!RI);
  86. 71 1 c = SBUF;
  87. 72 1 RI = 0;
  88. 73 1 return (c);
  89. 74 1 }
  90. 75
  91. 76 void Send_Data_To_UART0 (UINT8 c)
  92. 77 {
  93. 78 1 TI = 0;
  94. 79 1 SBUF = c;
  95. 80 1 while(TI==0);
  96. 81 1 }
  97. 82
  98. 83
  99. 84 //----------------------------------------------------------------------------------
  100. 85 // UART1 baud rate initial setting
  101. 86 //----------------------------------------------------------------------------------
  102. 87 void InitialUART1_Timer3(UINT32 u32Baudrate) //use timer3 as Baudrate generator
  103. 88 {
  104. 89 1 P02_Quasi_Mode; //Setting UART pin as Quasi mode for transmit
  105. 90 1 P16_Quasi_Mode; //Setting UART pin as Quasi mode for transmit
  106. 91 1
  107. 92 1 SCON_1 = 0x50; //UART1 Mode1,REN_1=1,TI_1=1
  108. 93 1 T3CON = 0x08; //T3PS2=0,T3PS1=0,T3PS0=0(Prescale=1), UART1 in MODE 1
  109. 94 1 clr_BRCK;
  110. 95 1
  111. 96 1 #ifdef FOSC_160000
  112. 97 1 RH3 = HIBYTE(65536 - (1000000/u32Baudrate)-1); /*16 MHz */
  113. 98 1 RL3 = LOBYTE(65536 - (1000000/u32Baudrate)-1); /*16 MHz */
  114. 99 1 #endif
  115. 100 1 #ifdef FOSC_166000
  116. RH3 = HIBYTE(65536 - (1037500/u32Baudrate)); /*16.6 MHz */
  117. RL3 = LOBYTE(65536 - (1037500/u32Baudrate)); /*16.6 MHz */
  118. #endif
  119. 104 1 set_TR3; //Trigger Timer3
  120. 105 1 }
  121. 106
  122. 107 UINT8 Receive_Data_From_UART1(void)
  123. 108 {
  124. C51 COMPILER V9.53.0.0 COMMON 09/30/2018 11:45:28 PAGE 3
  125. 109 1 UINT8 c;
  126. 110 1
  127. 111 1 while (!RI_1);
  128. 112 1 c = SBUF_1;
  129. 113 1 RI_1 = 0;
  130. 114 1 return (c);
  131. 115 1 }
  132. 116
  133. 117 void Send_Data_To_UART1 (UINT8 c)
  134. 118 {
  135. 119 1 TI_1 = 0;
  136. 120 1 SBUF_1 = c;
  137. 121 1 while(TI_1==0);
  138. 122 1 }
  139. 123
  140. 124
  141. 125 /*==========================================================================*/
  142. 126 #ifdef SW_Reset
  143. void SW_Reset(void)
  144. {
  145. TA = 0xAA;
  146. TA = 0x55;
  147. set_SWRST;
  148. }
  149. #endif
  150. 134 /*==========================================================================*/
  151. MODULE INFORMATION: STATIC OVERLAYABLE
  152. CODE SIZE = 450 ----
  153. CONSTANT SIZE = ---- ----
  154. XDATA SIZE = 16 ----
  155. PDATA SIZE = ---- ----
  156. DATA SIZE = ---- ----
  157. IDATA SIZE = ---- ----
  158. BIT SIZE = ---- ----
  159. END OF MODULE INFORMATION.
  160. C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)