home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s220 / 2.ddi / IO51.H < prev    next >
Encoding:
C/C++ Source or Header  |  1988-02-10  |  3.5 KB  |  161 lines

  1. /*                IO51.H
  2.  
  3.    Special header for 8051 and 8052 family I/O.
  4.    This file is supposed to be used with the in-line functions
  5.    that are enabled with compiler command line option: -e
  6.  
  7.    For more information about the in-line functions, study
  8.    file BIO51.C
  9. */
  10.  
  11.  
  12. /* Pre-defined SFR byte addresses: */
  13.  
  14. #define   P0      0x80
  15. #define   P1      0x90
  16. #define   P2      0xA0
  17. #define   P3      0xB0
  18. #define   PSW      0xD0
  19. #define   ACC      0xE0
  20. #define   B      0xF0
  21. #define   SP      0x81
  22. #define   DPL      0x82
  23. #define   DPH      0x83
  24. #define   PCON      0x87
  25. #define   TCON      0x88
  26. #define   TMOD      0x89
  27. #define   TL0      0x8A
  28. #define   TL1      0x8B
  29. #define   TH0      0x8C
  30. #define   TH1      0x8D
  31. #define   IE      0xA8
  32. #define   IP      0xB8
  33. #define   SCON      0x98
  34. #define   SBUF      0x99
  35.  
  36. #define   T2CON      0xC8
  37. #define   RCAP2L  0xCA
  38. #define   RCAP2H  0xCB
  39. #define   TL2      0xCC
  40. #define   TH2      0xCD
  41.  
  42. /* Pre-defined SFR bit addresses.
  43.    The reason for the "bit" name-extension is just to
  44.    clearly separate bit addresses from other names. */
  45.  
  46.   
  47. /*========PSW========*/
  48.  
  49. #define   CY_bit      0xD7
  50. #define   AC_bit      0xD6
  51. #define   F0_bit      0xD5
  52. #define   RS1_bit      0xD4
  53. #define   RS0_bit      0xD3
  54. #define   OV_bit      0xD2
  55. #define   P_bit          0xD0
  56.  
  57. /*========TCON=======*/
  58.  
  59. #define   TF1_bit      0x8F
  60. #define   TR1_bit      0x8E
  61. #define   TF0_bit      0x8D
  62. #define   TR0_bit      0x8C
  63. #define   IE1_bit      0x8B
  64. #define   IT1_bit      0x8A
  65. #define   IE0_bit      0x89
  66. #define   IT0_bit      0x88
  67.  
  68. /*========IE=========*/
  69.  
  70. #define   EA_bit      0xAF
  71. #define   ET2_bit      0xAD
  72. #define   ES_bit      0xAC
  73. #define   ET1_bit      0xAB
  74. #define   EX1_bit      0xAA
  75. #define   ET0_bit      0xA9
  76. #define   EX0_bit      0xA8
  77.  
  78. /*========IP=========*/
  79.  
  80. #define   PT2_bit      0xBD
  81. #define   PS_bit      0xBC
  82. #define   PT1_bit      0xBB
  83. #define   PX1_bit      0xBA
  84. #define   PT0_bit      0xB9
  85. #define   PX0_bit      0xB8
  86.  
  87. /*========P0=========*/
  88.  
  89. #define   P0_7_bit      0x87
  90. #define   P0_6_bit      0x86
  91. #define   P0_5_bit      0x85
  92. #define   P0_4_bit      0x84
  93. #define   P0_3_bit      0x83
  94. #define   P0_2_bit      0x82
  95. #define   P0_1_bit      0x81
  96. #define   P0_0_bit      0x80
  97.  
  98. /*========P1=========*/
  99.  
  100. #define   P1_7_bit      0x97
  101. #define   P1_6_bit      0x96
  102. #define   P1_5_bit      0x95
  103. #define   P1_4_bit      0x94
  104. #define   P1_3_bit      0x93
  105. #define   P1_2_bit      0x92
  106. #define   P1_1_bit      0x91
  107. #define   P1_0_bit      0x90
  108.  
  109. /*========P2=========*/
  110.  
  111. #define   P2_7_bit      0xA7
  112. #define   P2_6_bit      0xA6
  113. #define   P2_5_bit      0xA5
  114. #define   P2_4_bit      0xA4
  115. #define   P2_3_bit      0xA3
  116. #define   P2_2_bit      0xA2
  117. #define   P2_1_bit      0xA1
  118. #define   P2_0_bit      0xA0
  119.  
  120. /*========P3=========*/
  121.  
  122. #define   RD_bit      0xB7
  123. #define   WR_bit      0xB6
  124. #define   T1_bit      0xB5
  125. #define   T0_bit      0xB4
  126. #define   INT1_bit      0xB3
  127. #define   INT0_bit      0xB2
  128. #define   TXD_bit      0xB1
  129. #define   RXD_bit      0xB0
  130.  
  131. #define   P3_7_bit      0xB7
  132. #define   P3_6_bit      0xB6
  133. #define   P3_5_bit      0xB5
  134. #define   P3_4_bit      0xB4
  135. #define   P3_3_bit      0xB3
  136. #define   P3_2_bit      0xB2
  137. #define   P3_1_bit      0xB1
  138. #define   P3_0_bit      0xB0
  139.  
  140. /*========SCON========*/
  141.  
  142. #define   SM0_bit      0x9F
  143. #define   SM1_bit      0x9E
  144. #define   SM2_bit      0x9D
  145. #define   REN_bit      0x9C
  146. #define   TB8_bit      0x9B
  147. #define   RB8_bit      0x9A
  148. #define   TI_bit      0x99
  149. #define   RI_bit      0x98
  150.  
  151. /*========T2CON=======*/
  152.  
  153. #define   TF2_bit      0xCF
  154. #define   EXF2_bit      0xCE
  155. #define   RCLK_bit      0xCD
  156. #define   TCLK_bit      0xCC
  157. #define   EXEN2_bit      0xCB
  158. #define   TR2_bit      0xCA
  159. #define   C_T2_bit      0xC9
  160. #define   CP_RL2_bit      0xC8
  161.