home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / SIMTEL / HITECH-C / Z8051H83.EXE / 80C517.H < prev    next >
Text File  |  1993-05-21  |  6KB  |  193 lines

  1. /*
  2.  *    80C517/537 Port definitions
  3.  *
  4.  *    Written by: Clyde P. Smith-Stubbs
  5.  *            February 1993
  6.  *
  7.  *    Copyright (C) 1993 HI-TECH Software
  8.  */
  9.  
  10. /*    SFR definitions for the 80C517/537 */
  11.  
  12.  
  13. static unsigned char    ADCON0    @ 0xD8;
  14. static unsigned char    ADCON1    @ 0xDC;
  15. static unsigned char    ADDAT    @ 0xD9;
  16. static unsigned char    DAPR    @ 0xDA;
  17. static unsigned char    CCEN    @ 0xC1;
  18. static unsigned char    CC4EN    @ 0xC9;
  19. static unsigned char    CCHl    @ 0xC3;
  20. static unsigned char    CCH2    @ 0xC5;
  21. static unsigned char    CCH3    @ 0xC7;
  22. static unsigned char    CCH4    @ 0xCF;
  23. static unsigned char    CCLl    @ 0xC2;
  24. static unsigned char    CCL2    @ 0xC4;
  25. static unsigned char    CCL3    @ 0xC6;
  26. static unsigned char    CCL4    @ 0xCE;
  27. static unsigned char    CMEN    @ 0xF6;
  28. static unsigned char    CMH0    @ 0xD3;
  29. static unsigned char    CMHl    @ 0xD5;
  30. static unsigned char    CMH2    @ 0xD7;
  31. static unsigned char    CMH3    @ 0xE3;
  32. static unsigned char    CMH4    @ 0xE5;
  33. static unsigned char    CMH5    @ 0xE7;
  34. static unsigned char    CMH6    @ 0xF3;
  35. static unsigned char    CMH7    @ 0xF5;
  36. static unsigned char    CML0    @ 0xD2;
  37. static unsigned char    CMLl    @ 0xD4;
  38. static unsigned char    CML2    @ 0xD6;
  39. static unsigned char    CML3    @ 0xE2;
  40. static unsigned char    CML4    @ 0xE4;
  41. static unsigned char    CML5    @ 0xE6;
  42. static unsigned char    CML6    @ 0xF2;
  43. static unsigned char    CML7    @ 0xF4;
  44. static unsigned char    CMSEL    @ 0xF7;
  45. static unsigned char    CRCH    @ 0xCB;
  46. static unsigned char    CRCL    @ 0xCA;
  47. static unsigned char    CTRELH    @ 0xDF;
  48. static unsigned char    CTRELL    @ 0xDE;
  49. static unsigned char    TH2    @ 0xCD;
  50. static unsigned char    TL2    @ 0xCC;
  51. static unsigned char    T2CON    @ 0xC8;
  52. static unsigned char    IEN0    @ 0xA8;
  53. static unsigned char    CTCON    @ 0xE1;
  54. static unsigned char    IEN1    @ 0xBB;
  55. static unsigned char    IEN2    @ 0x9A;
  56. static unsigned char    IP0    @ 0xA9;
  57. static unsigned char    IP1    @ 0xB9;
  58. static unsigned char    IRCON    @ 0xC0;
  59. static unsigned char    TCON    @ 0x88;
  60. static unsigned char    ARCON    @ 0xEF;
  61. static unsigned char    MD0    @ 0xE9;
  62. static unsigned char    MD1    @ 0xEA;
  63. static unsigned char    MD2    @ 0xEB;
  64. static unsigned char    MD3    @ 0xEC;
  65. static unsigned char    MD4    @ 0xED;
  66. static unsigned char    MD5    @ 0xEE;
  67. static unsigned char    P0    @ 0x80;
  68. static unsigned char    Pl    @ 0x90;
  69. static unsigned char    P2    @ 0xA0;
  70. static unsigned char    P3    @ 0xB0;
  71. static unsigned char    P4    @ 0xE8;
  72. static unsigned char    P5    @ 0xF8;
  73. static unsigned char    P6    @ 0xFA;
  74. static unsigned char    P7    @ 0xDB;
  75. static unsigned char    P8    @ 0xDD;
  76. static unsigned char    PCON    @ 0x87;
  77. static unsigned char    S0BUF    @ 0x99;
  78. static unsigned char    S0CON    @ 0x98;
  79. static unsigned char    S1BUF    @ 0x9C;
  80. static unsigned char    S1CON    @ 0x9B;
  81. static unsigned char    S1REL    @ 0x9D;
  82. static unsigned char    TH0    @ 0x8C;
  83. static unsigned char    THl    @ 0x8D;
  84. static unsigned char    TL0    @ 0x8A;
  85. static unsigned char    TLl    @ 0x8B;
  86. static unsigned char    TMOD    @ 0x89;
  87. static unsigned char    IENI    @ 0xBB;
  88. static unsigned char    WDTREL    @ 0x86;
  89.  
  90. /* the bit addressable locations */
  91.  
  92. typedef struct {
  93.     unsigned B7:1;    /* this is the most significant bit */
  94.     unsigned B6:1;
  95.     unsigned B5:1;
  96.     unsigned B4:1;
  97.     unsigned B3:1;
  98.     unsigned B2:1;
  99.     unsigned B1:1;
  100.     unsigned B0:1;
  101. }    SFR_BITS;
  102.  
  103. static SFR_BITS    ADCON0_BITS    @ 0xD8;
  104. static SFR_BITS    T2CON_BITS    @ 0xC8;
  105. static SFR_BITS    IRCON_BITS    @ 0xC0;
  106. static SFR_BITS    P0_BITS        @ 0x80;
  107. static SFR_BITS    Pl_BITS        @ 0x90;
  108. static SFR_BITS    P2_BITS        @ 0xA0;
  109. static SFR_BITS    P3_BITS        @ 0xB0;
  110. static SFR_BITS    P4_BITS        @ 0xE8;
  111. static SFR_BITS    P5_BITS        @ 0xF8;
  112. static SFR_BITS    S0CON_BITS    @ 0x98;
  113. static SFR_BITS    TCON_BITS    @ 0x88;
  114. static SFR_BITS    IEN0_BITS    @ 0xA8;
  115.  
  116. /*    Standard bit names */
  117.  
  118. static bit unsigned char    BD    @ 0xDF;
  119. static bit unsigned char    CLK    @ 0xDE;
  120. static bit unsigned char    ADEX    @ 0xDD;
  121. static bit unsigned char    BSY    @ 0xDC;
  122. static bit unsigned char    ADM    @ 0xDB;
  123. static bit unsigned char    MX2    @ 0xDA;
  124. static bit unsigned char    MX1    @ 0xD9;
  125. static bit unsigned char    MX0    @ 0xD8;
  126. static bit unsigned char    T2PS    @ 0xCF;
  127. static bit unsigned char    T2R1    @ 0xCC;
  128. static bit unsigned char    T2R0    @ 0xCB;
  129. static bit unsigned char    T2CM    @ 0xCA;
  130. static bit unsigned char    T2L1    @ 0xC9;
  131. static bit unsigned char    T2L0    @ 0xC8;
  132. static bit unsigned char    EXF2    @ 0xC7;
  133. static bit unsigned char    TF2    @ 0xC6;
  134. static bit unsigned char    IEX6    @ 0xC5;
  135. static bit unsigned char    IEX5    @ 0xC4;
  136. static bit unsigned char    IEX4    @ 0xC3;
  137. static bit unsigned char    IEX3    @ 0xC2;
  138. static bit unsigned char    IEX2    @ 0xC1;
  139. static bit unsigned char    IADC    @ 0xC0;
  140. static bit unsigned char    TF1    @ 0x8F;
  141. static bit unsigned char    TR1    @ 0x8E;
  142. static bit unsigned char    TF0    @ 0x8D;
  143. static bit unsigned char    TR0    @ 0x8C;
  144. static bit unsigned char    IE1    @ 0x8B;
  145. static bit unsigned char    IT1    @ 0x8A;
  146. static bit unsigned char    IE0    @ 0x89;
  147. static bit unsigned char    IT0    @ 0x88;
  148. static bit unsigned char    EAL    @ 0xAF;
  149. static bit unsigned char    WOT    @ 0xAE;
  150. static bit unsigned char    ET2    @ 0xAD;
  151. static bit unsigned char    ES0    @ 0xAC;
  152. static bit unsigned char    ET1    @ 0xAB;
  153. static bit unsigned char    EX1    @ 0xAA;
  154. static bit unsigned char    ET0    @ 0xA9;
  155. static bit unsigned char    EX0    @ 0xA8;
  156. static bit unsigned char    EXEN2    @ 0xBF;
  157. static bit unsigned char    SWDT    @ 0xBE;
  158. static bit unsigned char    EX6    @ 0xBD;
  159. static bit unsigned char    EX5    @ 0xBC;
  160. static bit unsigned char    EX4    @ 0xBB;
  161. static bit unsigned char    EX3    @ 0xBA;
  162. static bit unsigned char    EX2    @ 0xB9;
  163. static bit unsigned char    EADC    @ 0xB8;
  164. static bit unsigned char    SM0    @ 0x9F;
  165. static bit unsigned char    SM1    @ 0x9E;
  166. static bit unsigned char    SM20    @ 0x9D;
  167. static bit unsigned char    REN0    @ 0x9C;
  168. static bit unsigned char    TB80    @ 0x9B;
  169. static bit unsigned char    RB80    @ 0x9A;
  170. static bit unsigned char    TI0    @ 0x99;
  171. static bit unsigned char    RI0    @ 0x98;
  172.  
  173.  
  174.  
  175.  
  176. /*    Interrupt vectors */
  177.  
  178. #define    RESET    0x00
  179. #define    EXTI0    0x03
  180. #define    TIMER0    0x0B
  181. #define    EXTI1    0x13
  182. #define    TIMER1    0x1B
  183. #define    SINT0    0x23
  184. #define    TIMER2    0x2B
  185. #define    ADCINT    0x43
  186. #define    EXTI2    0x4B
  187. #define    EXTI3    0x53
  188. #define    EXTI4    0x5B
  189. #define    EXTI5    0x63
  190. #define    EXTI6    0x6B
  191. #define    SINT1    0x83
  192. #define    CTIMER    0x8B
  193.