找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9206|回复: 1
打印 上一主题 下一主题
收起左侧

msp430.h头文件下载

[复制链接]
跳转到指定楼层
楼主
ID:76127 发表于 2015-4-18 01:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
msp430.h单片机头文件代码最后的复制代码保存到电脑的方式实现下载:
  1. /******************************************************************************/

  2. /* Legacy Header File                                                         */

  3. /* Not recommended for use in new projects.                                   */

  4. /* Please use the msp430.h file or the device specific header file            */

  5. /******************************************************************************/



  6. /********************************************************************

  7. *

  8. * Standard register and bit definitions for the Texas Instruments

  9. * MSP430 microcontroller.

  10. *

  11. * This file supports assembler and C development for

  12. * MSP430x22x4 devices.

  13. *

  14. * Texas Instruments, Version 1.5

  15. *

  16. * Rev. 1.0, Setup

  17. * Rev. 1.1, Updated names for USCI

  18. * Rev. 1.2, Added missing definitions in OA and ADC10

  19. * Rev. 1.3  Removed bit definitions for ADC10AEx as this are in conflict with ADC10AEx Register

  20. *           Removed not existing SWCTL register definition

  21. * Rev. 1.4, added definitions for Interrupt Vectors xxIV

  22. * Rev. 1.5, Fixed typo in ADC10: SREF3 -> SREF2

  23. *

  24. ********************************************************************/



  25. #ifndef __msp430x22x4

  26. #define __msp430x22x4



  27. #define __MSP430_HEADER_VERSION__ 1065      /* Beta-Build-Tag: #0023 */



  28. #ifdef  __IAR_SYSTEMS_ICC__

  29. #ifndef _SYSTEM_BUILD

  30. #pragma system_include

  31. #endif

  32. #endif



  33. #if (((__TID__ >> 8) & 0x7F) != 0x2b)     /* 0x2b = 43 dec */

  34. #error msp430x22x4.h file for use with ICC430/A430 only

  35. #endif





  36. #ifdef __IAR_SYSTEMS_ICC__

  37. #include "in430.h"

  38. #pragma language=extended



  39. #define DEFC(name, address) __no_init volatile unsigned char name @ address;

  40. #define DEFW(name, address) __no_init volatile unsigned short name @ address;

  41. #define DEFXC  volatile unsigned char

  42. #define DEFXW  volatile unsigned short



  43. #endif  /* __IAR_SYSTEMS_ICC__  */





  44. #ifdef __IAR_SYSTEMS_ASM__

  45. #define DEFC(name, address) sfrb name = address;

  46. #define DEFW(name, address) sfrw name = address;



  47. #endif /* __IAR_SYSTEMS_ASM__*/



  48. #ifdef __cplusplus

  49. #define READ_ONLY

  50. #else

  51. #define READ_ONLY const

  52. #endif



  53. /************************************************************

  54. * STANDARD BITS

  55. ************************************************************/



  56. #define BIT0                (0x0001u)

  57. #define BIT1                (0x0002u)

  58. #define BIT2                (0x0004u)

  59. #define BIT3                (0x0008u)

  60. #define BIT4                (0x0010u)

  61. #define BIT5                (0x0020u)

  62. #define BIT6                (0x0040u)

  63. #define BIT7                (0x0080u)

  64. #define BIT8                (0x0100u)

  65. #define BIT9                (0x0200u)

  66. #define BITA                (0x0400u)

  67. #define BITB                (0x0800u)

  68. #define BITC                (0x1000u)

  69. #define BITD                (0x2000u)

  70. #define BITE                (0x4000u)

  71. #define BITF                (0x8000u)



  72. /************************************************************

  73. * STATUS REGISTER BITS

  74. ************************************************************/



  75. #define C                   (0x0001u)

  76. #define Z                   (0x0002u)

  77. #define N                   (0x0004u)

  78. #define V                   (0x0100u)

  79. #define GIE                 (0x0008u)

  80. #define CPUOFF              (0x0010u)

  81. #define OSCOFF              (0x0020u)

  82. #define SCG0                (0x0040u)

  83. #define SCG1                (0x0080u)



  84. /* Low Power Modes coded with Bits 4-7 in SR */



  85. #ifndef __IAR_SYSTEMS_ICC__ /* Begin #defines for assembler */

  86. #define LPM0                (CPUOFF)

  87. #define LPM1                (SCG0+CPUOFF)

  88. #define LPM2                (SCG1+CPUOFF)

  89. #define LPM3                (SCG1+SCG0+CPUOFF)

  90. #define LPM4                (SCG1+SCG0+OSCOFF+CPUOFF)

  91. /* End #defines for assembler */



  92. #else /* Begin #defines for C */

  93. #define LPM0_bits           (CPUOFF)

  94. #define LPM1_bits           (SCG0+CPUOFF)

  95. #define LPM2_bits           (SCG1+CPUOFF)

  96. #define LPM3_bits           (SCG1+SCG0+CPUOFF)

  97. #define LPM4_bits           (SCG1+SCG0+OSCOFF+CPUOFF)



  98. #include "in430.h"



  99. #define LPM0      _BIS_SR(LPM0_bits)     /* Enter Low Power Mode 0 */

  100. #define LPM0_EXIT _BIC_SR_IRQ(LPM0_bits) /* Exit Low Power Mode 0 */

  101. #define LPM1      _BIS_SR(LPM1_bits)     /* Enter Low Power Mode 1 */

  102. #define LPM1_EXIT _BIC_SR_IRQ(LPM1_bits) /* Exit Low Power Mode 1 */

  103. #define LPM2      _BIS_SR(LPM2_bits)     /* Enter Low Power Mode 2 */

  104. #define LPM2_EXIT _BIC_SR_IRQ(LPM2_bits) /* Exit Low Power Mode 2 */

  105. #define LPM3      _BIS_SR(LPM3_bits)     /* Enter Low Power Mode 3 */

  106. #define LPM3_EXIT _BIC_SR_IRQ(LPM3_bits) /* Exit Low Power Mode 3 */

  107. #define LPM4      _BIS_SR(LPM4_bits)     /* Enter Low Power Mode 4 */

  108. #define LPM4_EXIT _BIC_SR_IRQ(LPM4_bits) /* Exit Low Power Mode 4 */

  109. #endif /* End #defines for C */



  110. /************************************************************

  111. * PERIPHERAL FILE MAP

  112. ************************************************************/



  113. /************************************************************

  114. * SPECIAL FUNCTION REGISTER ADDRESSES + CONTROL BITS

  115. ************************************************************/



  116. #define IE1_                (0x0000u)  /* Interrupt Enable 1 */

  117. DEFC(   IE1               , IE1_)

  118. #define WDTIE               (0x01)    /* Watchdog Interrupt Enable */

  119. #define OFIE                (0x02)    /* Osc. Fault  Interrupt Enable */

  120. #define NMIIE               (0x10)    /* NMI Interrupt Enable */

  121. #define ACCVIE              (0x20)    /* Flash Access Violation Interrupt Enable */



  122. #define IFG1_               (0x0002u)  /* Interrupt Flag 1 */

  123. DEFC(   IFG1              , IFG1_)

  124. #define WDTIFG              (0x01)    /* Watchdog Interrupt Flag */

  125. #define OFIFG               (0x02)    /* Osc. Fault Interrupt Flag */

  126. #define PORIFG              (0x04)    /* Power On Interrupt Flag */

  127. #define RSTIFG              (0x08)    /* Reset Interrupt Flag */

  128. #define NMIIFG              (0x10)    /* NMI Interrupt Flag */



  129. #define IE2_                (0x0001u)  /* Interrupt Enable 2 */

  130. DEFC(   IE2               , IE2_)

  131. #define UC0IE               IE2

  132. #define UCA0RXIE            (0x01)

  133. #define UCA0TXIE            (0x02)

  134. #define UCB0RXIE            (0x04)

  135. #define UCB0TXIE            (0x08)



  136. #define IFG2_               (0x0003u)  /* Interrupt Flag 2 */

  137. DEFC(   IFG2              , IFG2_)

  138. #define UC0IFG              IFG2

  139. #define UCA0RXIFG           (0x01)

  140. #define UCA0TXIFG           (0x02)

  141. #define UCB0RXIFG           (0x04)

  142. #define UCB0TXIFG           (0x08)



  143. /************************************************************

  144. * ADC10

  145. ************************************************************/

  146. #define __MSP430_HAS_ADC10__            /* Definition to show that Module is available */



  147. #define ADC10DTC0_          (0x0048u)    /* ADC10 Data Transfer Control 0 */

  148. DEFC(   ADC10DTC0         , ADC10DTC0_)

  149. #define ADC10DTC1_          (0x0049u)    /* ADC10 Data Transfer Control 1 */

  150. DEFC(   ADC10DTC1         , ADC10DTC1_)

  151. #define ADC10AE0_           (0x004Au)    /* ADC10 Analog Enable 0 */

  152. DEFC(   ADC10AE0          , ADC10AE0_)

  153. #define ADC10AE1_           (0x004Bu)    /* ADC10 Analog Enable 1 */

  154. DEFC(   ADC10AE1          , ADC10AE1_)



  155. #define ADC10CTL0_          (0x01B0u)    /* ADC10 Control 0 */

  156. DEFW(   ADC10CTL0         , ADC10CTL0_)

  157. #define ADC10CTL1_          (0x01B2u)    /* ADC10 Control 1 */

  158. DEFW(   ADC10CTL1         , ADC10CTL1_)

  159. #define ADC10MEM_           (0x01B4u)    /* ADC10 Memory */

  160. DEFW(   ADC10MEM          , ADC10MEM_)

  161. #define ADC10SA_            (0x01BCu)    /* ADC10 Data Transfer Start Address */

  162. DEFW(   ADC10SA           , ADC10SA_)



  163. /* ADC10CTL0 */

  164. #define ADC10SC             (0x001)     /* ADC10 Start Conversion */

  165. #define ENC                 (0x002)     /* ADC10 Enable Conversion */

  166. #define ADC10IFG            (0x004)     /* ADC10 Interrupt Flag */

  167. #define ADC10IE             (0x008)     /* ADC10 Interrupt Enalbe */

  168. #define ADC10ON             (0x010)     /* ADC10 On/Enable */

  169. #define REFON               (0x020)     /* ADC10 Reference on */

  170. #define REF2_5V             (0x040)     /* ADC10 Ref 0:1.5V / 1:2.5V */

  171. #define MSC                 (0x080)     /* ADC10 Multiple SampleConversion */

  172. #define REFBURST            (0x100)     /* ADC10 Reference Burst Mode */

  173. #define REFOUT              (0x200)     /* ADC10 Enalbe output of Ref. */

  174. #define ADC10SR             (0x400)     /* ADC10 Sampling Rate 0:200ksps / 1:50ksps */

  175. #define ADC10SHT0           (0x800)     /* ADC10 Sample Hold Select Bit: 0 */

  176. #define ADC10SHT1           (0x1000u)    /* ADC10 Sample Hold Select Bit: 1 */

  177. #define SREF0               (0x2000u)    /* ADC10 Reference Select Bit: 0 */

  178. #define SREF1               (0x4000u)    /* ADC10 Reference Select Bit: 1 */

  179. #define SREF2               (0x8000u)    /* ADC10 Reference Select Bit: 2 */

  180. #define ADC10SHT_0          (0*0x800u)   /* 4 x ADC10CLKs */

  181. #define ADC10SHT_1          (1*0x800u)   /* 8 x ADC10CLKs */

  182. #define ADC10SHT_2          (2*0x800u)   /* 16 x ADC10CLKs */

  183. #define ADC10SHT_3          (3*0x800u)   /* 64 x ADC10CLKs */



  184. #define SREF_0              (0*0x2000u)  /* VR+ = AVCC and VR- = AVSS */

  185. #define SREF_1              (1*0x2000u)  /* VR+ = VREF+ and VR- = AVSS */

  186. #define SREF_2              (2*0x2000u)  /* VR+ = VEREF+ and VR- = AVSS */

  187. #define SREF_3              (3*0x2000u)  /* VR+ = VEREF+ and VR- = AVSS */

  188. #define SREF_4              (4*0x2000u)  /* VR+ = AVCC and VR- = VREF-/VEREF- */

  189. #define SREF_5              (5*0x2000u)  /* VR+ = VREF+ and VR- = VREF-/VEREF- */

  190. #define SREF_6              (6*0x2000u)  /* VR+ = VEREF+ and VR- = VREF-/VEREF- */

  191. #define SREF_7              (7*0x2000u)  /* VR+ = VEREF+ and VR- = VREF-/VEREF- */



  192. /* ADC10CTL1 */

  193. #define ADC10BUSY           (0x0001u)    /* ADC10 BUSY */

  194. #define CONSEQ0             (0x0002u)    /* ADC10 Conversion Sequence Select 0 */

  195. #define CONSEQ1             (0x0004u)    /* ADC10 Conversion Sequence Select 1 */

  196. #define ADC10SSEL0          (0x0008u)    /* ADC10 Clock Source Select Bit: 0 */

  197. #define ADC10SSEL1          (0x0010u)    /* ADC10 Clock Source Select Bit: 1 */

  198. #define ADC10DIV0           (0x0020u)    /* ADC10 Clock Divider Select Bit: 0 */

  199. #define ADC10DIV1           (0x0040u)    /* ADC10 Clock Divider Select Bit: 1 */

  200. #define ADC10DIV2           (0x0080u)    /* ADC10 Clock Divider Select Bit: 2 */

  201. #define ISSH                (0x0100u)    /* ADC10 Invert Sample Hold Signal */

  202. #define ADC10DF             (0x0200u)    /* ADC10 Data Format 0:binary 1:2's complement */

  203. #define SHS0                (0x0400u)    /* ADC10 Sample/Hold Source Bit: 0 */

  204. #define SHS1                (0x0800u)    /* ADC10 Sample/Hold Source Bit: 1 */

  205. #define INCH0               (0x1000u)    /* ADC10 Input Channel Select Bit: 0 */

  206. #define INCH1               (0x2000u)    /* ADC10 Input Channel Select Bit: 1 */

  207. #define INCH2               (0x4000u)    /* ADC10 Input Channel Select Bit: 2 */

  208. #define INCH3               (0x8000u)    /* ADC10 Input Channel Select Bit: 3 */



  209. #define CONSEQ_0            (0*2u)       /* Single channel single conversion */

  210. #define CONSEQ_1            (1*2u)       /* Sequence of channels */

  211. #define CONSEQ_2            (2*2u)       /* Repeat single channel */

  212. #define CONSEQ_3            (3*2u)       /* Repeat sequence of channels */



  213. #define ADC10SSEL_0         (0*8u)       /* ADC10OSC */

  214. #define ADC10SSEL_1         (1*8u)       /* ACLK */

  215. #define ADC10SSEL_2         (2*8u)       /* MCLK */

  216. #define ADC10SSEL_3         (3*8u)       /* SMCLK */



  217. #define ADC10DIV_0          (0*0x20u)    /* ADC10 Clock Divider Select 0 */

  218. #define ADC10DIV_1          (1*0x20u)    /* ADC10 Clock Divider Select 1 */

  219. #define ADC10DIV_2          (2*0x20u)    /* ADC10 Clock Divider Select 2 */

  220. #define ADC10DIV_3          (3*0x20u)    /* ADC10 Clock Divider Select 3 */

  221. #define ADC10DIV_4          (4*0x20u)    /* ADC10 Clock Divider Select 4 */

  222. #define ADC10DIV_5          (5*0x20u)    /* ADC10 Clock Divider Select 5 */

  223. #define ADC10DIV_6          (6*0x20u)    /* ADC10 Clock Divider Select 6 */

  224. #define ADC10DIV_7          (7*0x20u)    /* ADC10 Clock Divider Select 7 */



  225. #define SHS_0               (0*0x400u)   /* ADC10SC */

  226. #define SHS_1               (1*0x400u)   /* TA3 OUT1 */

  227. #define SHS_2               (2*0x400u)   /* TA3 OUT0 */

  228. #define SHS_3               (3*0x400u)   /* TA3 OUT2 */



  229. #define INCH_0              (0*0x1000u)  /* Selects Channel 0 */

  230. #define INCH_1              (1*0x1000u)  /* Selects Channel 1 */

  231. #define INCH_2              (2*0x1000u)  /* Selects Channel 2 */

  232. #define INCH_3              (3*0x1000u)  /* Selects Channel 3 */

  233. #define INCH_4              (4*0x1000u)  /* Selects Channel 4 */

  234. #define INCH_5              (5*0x1000u)  /* Selects Channel 5 */

  235. #define INCH_6              (6*0x1000u)  /* Selects Channel 6 */

  236. #define INCH_7              (7*0x1000u)  /* Selects Channel 7 */

  237. #define INCH_8              (8*0x1000u)  /* Selects Channel 8 */

  238. #define INCH_9              (9*0x1000u)  /* Selects Channel 9 */

  239. #define INCH_10             (10*0x1000u) /* Selects Channel 10 */

  240. #define INCH_11             (11*0x1000u) /* Selects Channel 11 */

  241. #define INCH_12             (12*0x1000u) /* Selects Channel 12 */

  242. #define INCH_13             (13*0x1000u) /* Selects Channel 13 */

  243. #define INCH_14             (14*0x1000u) /* Selects Channel 14 */

  244. #define INCH_15             (15*0x1000u) /* Selects Channel 15 */



  245. /* ADC10DTC0 */

  246. #define ADC10FETCH          (0x001)     /* This bit should normally be reset */

  247. #define ADC10B1             (0x002)     /* ADC10 block one */

  248. #define ADC10CT             (0x004)     /* ADC10 continuous transfer */

  249. #define ADC10TB             (0x008)     /* ADC10 two-block mode */

  250. #define ADC10DISABLE        (0x000)     /* ADC10DTC1 */



  251. /************************************************************

  252. * Basic Clock Module

  253. ************************************************************/

  254. #define __MSP430_HAS_BC2__            /* Definition to show that Module is available */



  255. #define DCOCTL_             (0x0056u)  /* DCO Clock Frequency Control */

  256. DEFC(   DCOCTL            , DCOCTL_)

  257. #define BCSCTL1_            (0x0057u)  /* Basic Clock System Control 1 */

  258. DEFC(   BCSCTL1           , BCSCTL1_)

  259. #define BCSCTL2_            (0x0058u)  /* Basic Clock System Control 2 */

  260. DEFC(   BCSCTL2           , BCSCTL2_)

  261. #define BCSCTL3_            (0x0053u)  /* Basic Clock System Control 3 */

  262. DEFC(   BCSCTL3           , BCSCTL3_)



  263. #define MOD0                (0x01)   /* Modulation Bit 0 */

  264. #define MOD1                (0x02)   /* Modulation Bit 1 */

  265. #define MOD2                (0x04)   /* Modulation Bit 2 */

  266. #define MOD3                (0x08)   /* Modulation Bit 3 */

  267. #define MOD4                (0x10)   /* Modulation Bit 4 */

  268. #define DCO0                (0x20)   /* DCO Select Bit 0 */

  269. #define DCO1                (0x40)   /* DCO Select Bit 1 */

  270. #define DCO2                (0x80)   /* DCO Select Bit 2 */



  271. #define RSEL0               (0x01)   /* Range Select Bit 0 */

  272. #define RSEL1               (0x02)   /* Range Select Bit 1 */

  273. #define RSEL2               (0x04)   /* Range Select Bit 2 */

  274. #define RSEL3               (0x08)   /* Range Select Bit 3 */

  275. #define DIVA0               (0x10)   /* ACLK Divider 0 */

  276. #define DIVA1               (0x20)   /* ACLK Divider 1 */

  277. #define XTS                 (0x40)   /* LFXTCLK 0:Low Freq. / 1: High Freq. */

  278. #define XT2OFF              (0x80)   /* Enable XT2CLK */



  279. #define DIVA_0              (0x00)   /* ACLK Divider 0: /1 */

  280. #define DIVA_1              (0x10)   /* ACLK Divider 1: /2 */

  281. #define DIVA_2              (0x20)   /* ACLK Divider 2: /4 */

  282. #define DIVA_3              (0x30)   /* ACLK Divider 3: /8 */



  283. #define DCOR                (0x01)   /* Enable External Resistor : 1 */

  284. #define DIVS0               (0x02)   /* SMCLK Divider 0 */

  285. #define DIVS1               (0x04)   /* SMCLK Divider 1 */

  286. #define SELS                (0x08)   /* SMCLK Source Select 0:DCOCLK / 1:XT2CLK/LFXTCLK */

  287. #define DIVM0               (0x10)   /* MCLK Divider 0 */

  288. #define DIVM1               (0x20)   /* MCLK Divider 1 */

  289. #define SELM0               (0x40)   /* MCLK Source Select 0 */

  290. #define SELM1               (0x80)   /* MCLK Source Select 1 */



  291. #define DIVS_0              (0x00)   /* SMCLK Divider 0: /1 */

  292. #define DIVS_1              (0x02)   /* SMCLK Divider 1: /2 */

  293. #define DIVS_2              (0x04)   /* SMCLK Divider 2: /4 */

  294. #define DIVS_3              (0x06)   /* SMCLK Divider 3: /8 */



  295. #define DIVM_0              (0x00)   /* MCLK Divider 0: /1 */

  296. #define DIVM_1              (0x10)   /* MCLK Divider 1: /2 */

  297. #define DIVM_2              (0x20)   /* MCLK Divider 2: /4 */

  298. #define DIVM_3              (0x30)   /* MCLK Divider 3: /8 */



  299. #define SELM_0              (0x00)   /* MCLK Source Select 0: DCOCLK */

  300. #define SELM_1              (0x40)   /* MCLK Source Select 1: DCOCLK */

  301. #define SELM_2              (0x80)   /* MCLK Source Select 2: XT2CLK/LFXTCLK */

  302. #define SELM_3              (0xC0)   /* MCLK Source Select 3: LFXTCLK */



  303. #define LFXT1OF             (0x01)   /* Low/high Frequency Oscillator Fault Flag */

  304. #define XT2OF               (0x02)   /* High frequency oscillator 2 fault flag */

  305. #define XCAP0               (0x04)   /* XIN/XOUT Cap 0 */

  306. #define XCAP1               (0x08)   /* XIN/XOUT Cap 1 */

  307. #define LFXT1S0             (0x10)   /* Mode 0 for LFXT1 (XTS = 0) */

  308. #define LFXT1S1             (0x20)   /* Mode 1 for LFXT1 (XTS = 0) */

  309. #define XT2S0               (0x40)   /* Mode 0 for XT2 */

  310. #define XT2S1               (0x80)   /* Mode 1 for XT2 */



  311. #define XCAP_0              (0x00)   /* XIN/XOUT Cap : 0 pF */

  312. #define XCAP_1              (0x04)   /* XIN/XOUT Cap : 6 pF */

  313. #define XCAP_2              (0x08)   /* XIN/XOUT Cap : 10 pF */

  314. #define XCAP_3              (0x0C)   /* XIN/XOUT Cap : 12.5 pF */



  315. #define LFXT1S_0            (0x00)   /* Mode 0 for LFXT1 : Normal operation */

  316. #define LFXT1S_1            (0x10)   /* Mode 1 for LFXT1 : Reserved */

  317. #define LFXT1S_2            (0x20)   /* Mode 2 for LFXT1 : VLO */

  318. #define LFXT1S_3            (0x30)   /* Mode 3 for LFXT1 : Digital input signal */



  319. #define XT2S_0              (0x00)   /* Mode 0 for XT2 : 0.4 - 1 MHz */

  320. #define XT2S_1              (0x40)   /* Mode 1 for XT2 : 1 - 4 MHz */

  321. #define XT2S_2              (0x80)   /* Mode 2 for XT2 : 2 - 16 MHz */

  322. #define XT2S_3              (0xC0)   /* Mode 3 for XT2 : Digital input signal */



  323. /*************************************************************

  324. * Flash Memory

  325. *************************************************************/

  326. #define __MSP430_HAS_FLASH2__         /* Definition to show that Module is available */



  327. #define FCTL1_              (0x0128u)  /* FLASH Control 1 */

  328. DEFW(   FCTL1             , FCTL1_)

  329. #define FCTL2_              (0x012Au)  /* FLASH Control 2 */

  330. DEFW(   FCTL2             , FCTL2_)

  331. #define FCTL3_              (0x012Cu)  /* FLASH Control 3 */

  332. DEFW(   FCTL3             , FCTL3_)



  333. #define FRKEY               (0x9600u)  /* Flash key returned by read */

  334. #define FWKEY               (0xA500u)  /* Flash key for write */

  335. #define FXKEY               (0x3300u)  /* for use with XOR instruction */



  336. #define ERASE               (0x0002u)  /* Enable bit for Flash segment erase */

  337. #define MERAS               (0x0004u)  /* Enable bit for Flash mass erase */

  338. #define EEI                 (0x0008u)  /* Enable Erase Interrupts */

  339. #define EEIEX               (0x0010u)  /* Enable Emergency Interrupt Exit */

  340. #define WRT                 (0x0040u)  /* Enable bit for Flash write */

  341. #define BLKWRT              (0x0080u)  /* Enable bit for Flash segment write */

  342. #define SEGWRT              (0x0080u)  /* old definition */ /* Enable bit for Flash segment write */



  343. #define FN0                 (0x0001u)  /* Divide Flash clock by 1 to 64 using FN0 to FN5 according to: */

  344. #define FN1                 (0x0002u)  /*  32*FN5 + 16*FN4 + 8*FN3 + 4*FN2 + 2*FN1 + FN0 + 1 */

  345. #ifndef FN2

  346. #define FN2                 (0x0004u)

  347. #endif

  348. #ifndef FN3

  349. #define FN3                 (0x0008u)

  350. #endif

  351. #ifndef FN4

  352. #define FN4                 (0x0010u)

  353. #endif

  354. #define FN5                 (0x0020u)

  355. #define FSSEL0              (0x0040u)  /* Flash clock select 0 */        /* to distinguish from USART SSELx */

  356. #define FSSEL1              (0x0080u)  /* Flash clock select 1 */



  357. #define FSSEL_0             (0x0000u)  /* Flash clock select: 0 - ACLK */

  358. #define FSSEL_1             (0x0040u)  /* Flash clock select: 1 - MCLK */

  359. #define FSSEL_2             (0x0080u)  /* Flash clock select: 2 - SMCLK */

  360. #define FSSEL_3             (0x00C0u)  /* Flash clock select: 3 - SMCLK */



  361. #define BUSY                (0x0001u)  /* Flash busy: 1 */

  362. #define KEYV                (0x0002u)  /* Flash Key violation flag */

  363. #define ACCVIFG             (0x0004u)  /* Flash Access violation flag */

  364. #define WAIT                (0x0008u)  /* Wait flag for segment write */

  365. #define LOCK                (0x0010u)  /* Lock bit: 1 - Flash is locked (read only) */

  366. #define EMEX                (0x0020u)  /* Flash Emergency Exit */

  367. #define LOCKA               (0x0040u)  /* Segment A Lock bit: read = 1 - Segment is locked (read only) */

  368. #define FAIL                (0x0080u)  /* Last Program or Erase failed */



  369. /************************************************************

  370. * Operational Amplifier

  371. ************************************************************/

  372. #define __MSP430_HAS_OA_2__           /* Definition to show that Module is available */



  373. #define OA0CTL0_            (0x00C0u)  /* OA0 Control register 0 */

  374. DEFC(   OA0CTL0           , OA0CTL0_)

  375. #define OA0CTL1_            (0x00C1u)  /* OA0 Control register 1 */

  376. DEFC(   OA0CTL1           , OA0CTL1_)

  377. #define OA1CTL0_            (0x00C2u)  /* OA1 Control register 0 */

  378. DEFC(   OA1CTL0           , OA1CTL0_)

  379. #define OA1CTL1_            (0x00C3u)  /* OA1 Control register 1 */

  380. DEFC(   OA1CTL1           , OA1CTL1_)



  381. #define OAADC0              (0x01)    /* OAx output to ADC12 input channel select 0 */

  382. #define OAADC1              (0x02)    /* OAx output to ADC12 input channel select 1 */

  383. #define OAPM0               (0x04)    /* OAx Power mode select 0 */

  384. #define OAPM1               (0x08)    /* OAx Power mode select 1 */

  385. #define OAP0                (0x10)    /* OAx Non-inverting input select 0 */

  386. #define OAP1                (0x20)    /* OAx Non-inverting input select 1 */

  387. #define OAN0                (0x40)    /* OAx Inverting input select 0 */

  388. #define OAN1                (0x80)    /* OAx Inverting input select 1 */



  389. #define OAPM_0              (0x00)    /* OAx Power mode select: off */

  390. #define OAPM_1              (0x04)    /* OAx Power mode select: slow */

  391. #define OAPM_2              (0x08)    /* OAx Power mode select: meduim */

  392. #define OAPM_3              (0x0C)    /* OAx Power mode select: fast */

  393. #define OAP_0               (0x00)    /* OAx Non-inverting input select 00 */

  394. #define OAP_1               (0x10)    /* OAx Non-inverting input select 01 */

  395. #define OAP_2               (0x20)    /* OAx Non-inverting input select 10 */

  396. #define OAP_3               (0x30)    /* OAx Non-inverting input select 11 */

  397. #define OAN_0               (0x00)    /* OAx Inverting input select 00 */

  398. #define OAN_1               (0x40)    /* OAx Inverting input select 01 */

  399. #define OAN_2               (0x80)    /* OAx Inverting input select 10 */

  400. #define OAN_3               (0xC0)    /* OAx Inverting input select 11 */



  401. #define OARRIP              (0x01)    /* OAx Rail-to-Rail Input off */

  402. #define OANEXT              (0x02)    /* OAx Inverting input external */

  403. //#define OACAL               (0x02)    /* OAx Offset Calibration */

  404. #define OAFC0               (0x04)    /* OAx Function control 0 */

  405. #define OAFC1               (0x08)    /* OAx Function control 1 */

  406. #define OAFC2               (0x10)    /* OAx Function control 2 */

  407. #define OAFBR0              (0x20)    /* OAx Feedback resistor select 0 */

  408. #define OAFBR1              (0x40)    /* OAx Feedback resistor select 1 */

  409. #define OAFBR2              (0x80)    /* OAx Feedback resistor select 2 */



  410. #define OAFC_0              (0x00)    /* OAx Function: Gen. Purpose */

  411. #define OAFC_1              (0x04)    /* OAx Function: Unity gain buffer */

  412. #define OAFC_2              (0x08)    /* OAx Function: Reserved */

  413. #define OAFC_3              (0x0C)    /* OAx Function: Comparator */

  414. #define OAFC_4              (0x10)    /* OAx Function: Non-inverting PGA */

  415. #define OAFC_5              (0x14)    /* OAx Function: Cascaded non-inverting PGA */

  416. #define OAFC_6              (0x18)    /* OAx Function: Inverting PGA */

  417. #define OAFC_7              (0x1C)    /* OAx Function: Differential amplifier */

  418. #define OAFBR_0             (0x00)    /* OAx Feedback resistor: Tap 0 */

  419. #define OAFBR_1             (0x20)    /* OAx Feedback resistor: Tap 1 */

  420. #define OAFBR_2             (0x40)    /* OAx Feedback resistor: Tap 2 */

  421. #define OAFBR_3             (0x60)    /* OAx Feedback resistor: Tap 3 */

  422. #define OAFBR_4             (0x80)    /* OAx Feedback resistor: Tap 4 */

  423. #define OAFBR_5             (0xA0)    /* OAx Feedback resistor: Tap 5 */

  424. #define OAFBR_6             (0xC0)    /* OAx Feedback resistor: Tap 6 */

  425. #define OAFBR_7             (0xE0)    /* OAx Feedback resistor: Tap 7 */



  426. /************************************************************

  427. * DIGITAL I/O Port1/2 Pull up / Pull down Resistors

  428. ************************************************************/

  429. #define __MSP430_HAS_PORT1_R__        /* Definition to show that Module is available */

  430. #define __MSP430_HAS_PORT2_R__        /* Definition to show that Module is available */



  431. #define P1IN_               (0x0020u)  /* Port 1 Input */

  432. READ_ONLY DEFC( P1IN           , P1IN_)

  433. #define P1OUT_              (0x0021u)  /* Port 1 Output */

  434. DEFC(   P1OUT             , P1OUT_)

  435. #define P1DIR_              (0x0022u)  /* Port 1 Direction */

  436. DEFC(   P1DIR             , P1DIR_)

  437. #define P1IFG_              (0x0023u)  /* Port 1 Interrupt Flag */

  438. DEFC(   P1IFG             , P1IFG_)

  439. #define P1IES_              (0x0024u)  /* Port 1 Interrupt Edge Select */

  440. DEFC(   P1IES             , P1IES_)

  441. #define P1IE_               (0x0025u)  /* Port 1 Interrupt Enable */

  442. DEFC(   P1IE              , P1IE_)

  443. #define P1SEL_              (0x0026u)  /* Port 1 Selection */

  444. DEFC(   P1SEL             , P1SEL_)

  445. #define P1REN_              (0x0027u)  /* Port 1 Resistor Enable */

  446. DEFC(   P1REN             , P1REN_)



  447. #define P2IN_               (0x0028u)  /* Port 2 Input */

  448. READ_ONLY DEFC( P2IN           , P2IN_)

  449. #define P2OUT_              (0x0029u)  /* Port 2 Output */

  450. DEFC(   P2OUT             , P2OUT_)

  451. #define P2DIR_              (0x002Au)  /* Port 2 Direction */

  452. DEFC(   P2DIR             , P2DIR_)

  453. #define P2IFG_              (0x002Bu)  /* Port 2 Interrupt Flag */

  454. DEFC(   P2IFG             , P2IFG_)

  455. #define P2IES_              (0x002Cu)  /* Port 2 Interrupt Edge Select */

  456. DEFC(   P2IES             , P2IES_)

  457. #define P2IE_               (0x002Du)  /* Port 2 Interrupt Enable */

  458. DEFC(   P2IE              , P2IE_)

  459. #define P2SEL_              (0x002Eu)  /* Port 2 Selection */

  460. DEFC(   P2SEL             , P2SEL_)

  461. #define P2REN_              (0x002Fu)  /* Port 2 Resistor Enable */

  462. DEFC(   P2REN             , P2REN_)



  463. /************************************************************

  464. * DIGITAL I/O Port3/4 Pull up / Pull down Resistors

  465. ************************************************************/

  466. #define __MSP430_HAS_PORT3_R__          /* Definition to show that Module is available */

  467. #define __MSP430_HAS_PORT4_R__          /* Definition to show that Module is available */



  468. #define P3IN_               (0x0018u)  /* Port 3 Input */

  469. READ_ONLY DEFC( P3IN           , P3IN_)

  470. #define P3OUT_              (0x0019u)  /* Port 3 Output */

  471. DEFC(   P3OUT             , P3OUT_)

  472. #define P3DIR_              (0x001Au)  /* Port 3 Direction */

  473. DEFC(   P3DIR             , P3DIR_)

  474. #define P3SEL_              (0x001Bu)  /* Port 3 Selection */

  475. DEFC(   P3SEL             , P3SEL_)

  476. #define P3REN_              (0x0010u)  /* Port 3 Resistor Enable */

  477. DEFC(   P3REN             , P3REN_)



  478. #define P4IN_               (0x001Cu)  /* Port 4 Input */

  479. READ_ONLY DEFC( P4IN           , P4IN_)

  480. #define P4OUT_              (0x001Du)  /* Port 4 Output */

  481. DEFC(   P4OUT             , P4OUT_)

  482. #define P4DIR_              (0x001Eu)  /* Port 4 Direction */

  483. DEFC(   P4DIR             , P4DIR_)

  484. #define P4SEL_              (0x001Fu)  /* Port 4 Selection */

  485. DEFC(   P4SEL             , P4SEL_)

  486. #define P4REN_              (0x0011u)  /* Port 4 Resistor Enable */

  487. DEFC(   P4REN             , P4REN_)



  488. /************************************************************

  489. * Timer A3

  490. ************************************************************/

  491. #define __MSP430_HAS_TA3__            /* Definition to show that Module is available */



  492. #define TAIV_               (0x012Eu)  /* Timer A Interrupt Vector Word */

  493. READ_ONLY DEFW( TAIV           , TAIV_)

  494. #define TACTL_              (0x0160u)  /* Timer A Control */

  495. DEFW(   TACTL             , TACTL_)

  496. #define TACCTL0_            (0x0162u)  /* Timer A Capture/Compare Control 0 */

  497. DEFW(   TACCTL0           , TACCTL0_)

  498. #define TACCTL1_            (0x0164u)  /* Timer A Capture/Compare Control 1 */

  499. DEFW(   TACCTL1           , TACCTL1_)

  500. #define TACCTL2_            (0x0166u)  /* Timer A Capture/Compare Control 2 */

  501. DEFW(   TACCTL2           , TACCTL2_)

  502. #define TAR_                (0x0170u)  /* Timer A Counter Register */

  503. DEFW(   TAR               , TAR_)

  504. #define TACCR0_             (0x0172u)  /* Timer A Capture/Compare 0 */

  505. DEFW(   TACCR0            , TACCR0_)

  506. #define TACCR1_             (0x0174u)  /* Timer A Capture/Compare 1 */

  507. DEFW(   TACCR1            , TACCR1_)

  508. #define TACCR2_             (0x0176u)  /* Timer A Capture/Compare 2 */

  509. DEFW(   TACCR2            , TACCR2_)



  510. /* Alternate register names */

  511. #define CCTL0               TACCTL0   /* Timer A Capture/Compare Control 0 */

  512. #define CCTL1               TACCTL1   /* Timer A Capture/Compare Control 1 */

  513. #define CCTL2               TACCTL2   /* Timer A Capture/Compare Control 2 */

  514. #define CCR0                TACCR0    /* Timer A Capture/Compare 0 */

  515. #define CCR1                TACCR1    /* Timer A Capture/Compare 1 */

  516. #define CCR2                TACCR2    /* Timer A Capture/Compare 2 */

  517. #define CCTL0_              TACCTL0_  /* Timer A Capture/Compare Control 0 */

  518. #define CCTL1_              TACCTL1_  /* Timer A Capture/Compare Control 1 */

  519. #define CCTL2_              TACCTL2_  /* Timer A Capture/Compare Control 2 */

  520. #define CCR0_               TACCR0_   /* Timer A Capture/Compare 0 */

  521. #define CCR1_               TACCR1_   /* Timer A Capture/Compare 1 */

  522. #define CCR2_               TACCR2_   /* Timer A Capture/Compare 2 */

  523. /* Alternate register names - 5xx style */

  524. #define TA0IV               TAIV      /* Timer A Interrupt Vector Word */

  525. #define TA0CTL              TACTL     /* Timer A Control */

  526. #define TA0CCTL0            TACCTL0   /* Timer A Capture/Compare Control 0 */

  527. #define TA0CCTL1            TACCTL1   /* Timer A Capture/Compare Control 1 */

  528. #define TA0CCTL2            TACCTL2   /* Timer A Capture/Compare Control 2 */

  529. #define TA0R                TAR       /* Timer A Counter Register */

  530. #define TA0CCR0             TACCR0    /* Timer A Capture/Compare 0 */

  531. #define TA0CCR1             TACCR1    /* Timer A Capture/Compare 1 */

  532. #define TA0CCR2             TACCR2    /* Timer A Capture/Compare 2 */

  533. #define TA0IV_              TAIV_     /* Timer A Interrupt Vector Word */

  534. #define TA0CTL_             TACTL_    /* Timer A Control */

  535. #define TA0CCTL0_           TACCTL0_  /* Timer A Capture/Compare Control 0 */

  536. #define TA0CCTL1_           TACCTL1_  /* Timer A Capture/Compare Control 1 */

  537. #define TA0CCTL2_           TACCTL2_  /* Timer A Capture/Compare Control 2 */

  538. #define TA0R_               TAR_      /* Timer A Counter Register */

  539. #define TA0CCR0_            TACCR0_   /* Timer A Capture/Compare 0 */

  540. #define TA0CCR1_            TACCR1_   /* Timer A Capture/Compare 1 */

  541. #define TA0CCR2_            TACCR2_   /* Timer A Capture/Compare 2 */

  542. #define TIMER0_A1_VECTOR    TIMERA1_VECTOR /* Int. Vector: Timer A CC1-2, TA */

  543. #define TIMER0_A0_VECTOR    TIMERA0_VECTOR /* Int. Vector: Timer A CC0 */



  544. #define TASSEL1             (0x0200u)  /* Timer A clock source select 1 */

  545. #define TASSEL0             (0x0100u)  /* Timer A clock source select 0 */

  546. #define ID1                 (0x0080u)  /* Timer A clock input divider 1 */

  547. #define ID0                 (0x0040u)  /* Timer A clock input divider 0 */

  548. #define MC1                 (0x0020u)  /* Timer A mode control 1 */

  549. #define MC0                 (0x0010u)  /* Timer A mode control 0 */

  550. #define TACLR               (0x0004u)  /* Timer A counter clear */

  551. #define TAIE                (0x0002u)  /* Timer A counter interrupt enable */

  552. #define TAIFG               (0x0001u)  /* Timer A counter interrupt flag */



  553. #define MC_0                (0*0x10u)  /* Timer A mode control: 0 - Stop */

  554. #define MC_1                (1*0x10u)  /* Timer A mode control: 1 - Up to CCR0 */

  555. #define MC_2                (2*0x10u)  /* Timer A mode control: 2 - Continous up */

  556. #define MC_3                (3*0x10u)  /* Timer A mode control: 3 - Up/Down */

  557. #define ID_0                (0*0x40u)  /* Timer A input divider: 0 - /1 */

  558. #define ID_1                (1*0x40u)  /* Timer A input divider: 1 - /2 */

  559. #define ID_2                (2*0x40u)  /* Timer A input divider: 2 - /4 */

  560. #define ID_3                (3*0x40u)  /* Timer A input divider: 3 - /8 */

  561. #define TASSEL_0            (0*0x100u) /* Timer A clock source select: 0 - TACLK */

  562. #define TASSEL_1            (1*0x100u) /* Timer A clock source select: 1 - ACLK  */

  563. #define TASSEL_2            (2*0x100u) /* Timer A clock source select: 2 - SMCLK */

  564. #define TASSEL_3            (3*0x100u) /* Timer A clock source select: 3 - INCLK */



  565. #define CM1                 (0x8000u)  /* Capture mode 1 */

  566. #define CM0                 (0x4000u)  /* Capture mode 0 */

  567. #define CCIS1               (0x2000u)  /* Capture input select 1 */

  568. #define CCIS0               (0x1000u)  /* Capture input select 0 */

  569. #define SCS                 (0x0800u)  /* Capture sychronize */

  570. #define SCCI                (0x0400u)  /* Latched capture signal (read) */

  571. #define CAP                 (0x0100u)  /* Capture mode: 1 /Compare mode : 0 */

  572. #define OUTMOD2             (0x0080u)  /* Output mode 2 */

  573. #define OUTMOD1             (0x0040u)  /* Output mode 1 */

  574. #define OUTMOD0             (0x0020u)  /* Output mode 0 */

  575. #define CCIE                (0x0010u)  /* Capture/compare interrupt enable */

  576. #define CCI                 (0x0008u)  /* Capture input signal (read) */

  577. #define OUT                 (0x0004u)  /* PWM Output signal if output mode 0 */

  578. #define COV                 (0x0002u)  /* Capture/compare overflow flag */

  579. #define CCIFG               (0x0001u)  /* Capture/compare interrupt flag */



  580. #define OUTMOD_0            (0*0x20u)  /* PWM output mode: 0 - output only */

  581. #define OUTMOD_1            (1*0x20u)  /* PWM output mode: 1 - set */

  582. #define OUTMOD_2            (2*0x20u)  /* PWM output mode: 2 - PWM toggle/reset */

  583. #define OUTMOD_3            (3*0x20u)  /* PWM output mode: 3 - PWM set/reset */

  584. #define OUTMOD_4            (4*0x20u)  /* PWM output mode: 4 - toggle */

  585. #define OUTMOD_5            (5*0x20u)  /* PWM output mode: 5 - Reset */

  586. #define OUTMOD_6            (6*0x20u)  /* PWM output mode: 6 - PWM toggle/set */

  587. #define OUTMOD_7            (7*0x20u)  /* PWM output mode: 7 - PWM reset/set */

  588. #define CCIS_0              (0*0x1000u) /* Capture input select: 0 - CCIxA */

  589. #define CCIS_1              (1*0x1000u) /* Capture input select: 1 - CCIxB */

  590. #define CCIS_2              (2*0x1000u) /* Capture input select: 2 - GND */

  591. #define CCIS_3              (3*0x1000u) /* Capture input select: 3 - Vcc */

  592. #define CM_0                (0*0x4000u) /* Capture mode: 0 - disabled */

  593. #define CM_1                (1*0x4000u) /* Capture mode: 1 - pos. edge */

  594. #define CM_2                (2*0x4000u) /* Capture mode: 1 - neg. edge */

  595. #define CM_3                (3*0x4000u) /* Capture mode: 1 - both edges */



  596. /* TA3IV Definitions */

  597. #define TAIV_NONE           (0x0000u)    /* No Interrupt pending */

  598. #define TAIV_TACCR1         (0x0002u)    /* TACCR1_CCIFG */

  599. #define TAIV_TACCR2         (0x0004u)    /* TACCR2_CCIFG */

  600. #define TAIV_6              (0x0006u)    /* Reserved */

  601. #define TAIV_8              (0x0008u)    /* Reserved */

  602. #define TAIV_TAIFG          (0x000Au)    /* TAIFG */



  603. /************************************************************

  604. * Timer B3

  605. ************************************************************/

  606. #define __MSP430_HAS_TB3__            /* Definition to show that Module is available */



  607. #define TBIV_               (0x011Eu)  /* Timer B Interrupt Vector Word */

  608. READ_ONLY DEFW( TBIV           , TBIV_)

  609. #define TBCTL_              (0x0180u)  /* Timer B Control */

  610. DEFW(   TBCTL             , TBCTL_)

  611. #define TBCCTL0_            (0x0182u)  /* Timer B Capture/Compare Control 0 */

  612. DEFW(   TBCCTL0           , TBCCTL0_)

  613. #define TBCCTL1_            (0x0184u)  /* Timer B Capture/Compare Control 1 */

  614. DEFW(   TBCCTL1           , TBCCTL1_)

  615. #define TBCCTL2_            (0x0186u)  /* Timer B Capture/Compare Control 2 */

  616. DEFW(   TBCCTL2           , TBCCTL2_)

  617. #define TBR_                (0x0190u)  /* Timer B Counter Register */

  618. DEFW(   TBR               , TBR_)

  619. #define TBCCR0_             (0x0192u)  /* Timer B Capture/Compare 0 */

  620. DEFW(   TBCCR0            , TBCCR0_)

  621. #define TBCCR1_             (0x0194u)  /* Timer B Capture/Compare 1 */

  622. DEFW(   TBCCR1            , TBCCR1_)

  623. #define TBCCR2_             (0x0196u)  /* Timer B Capture/Compare 2 */

  624. DEFW(   TBCCR2            , TBCCR2_)



  625. /* Alternate register names - 5xx style */

  626. #define TB0IV               TBIV      /* Timer B Interrupt Vector Word */

  627. #define TB0CTL              TBCTL     /* Timer B Control */

  628. #define TB0CCTL0            TBCCTL0   /* Timer B Capture/Compare Control 0 */

  629. #define TB0CCTL1            TBCCTL1   /* Timer B Capture/Compare Control 1 */

  630. #define TB0CCTL2            TBCCTL2   /* Timer B Capture/Compare Control 2 */

  631. #define TB0R                TBR       /* Timer B Counter Register */

  632. #define TB0CCR0             TBCCR0    /* Timer B Capture/Compare 0 */

  633. #define TB0CCR1             TBCCR1    /* Timer B Capture/Compare 1 */

  634. #define TB0CCR2             TBCCR2    /* Timer B Capture/Compare 2 */

  635. #define TB0IV_              TBIV_     /* Timer B Interrupt Vector Word */

  636. #define TB0CTL_             TBCTL_    /* Timer B Control */

  637. #define TB0CCTL0_           TBCCTL0_  /* Timer B Capture/Compare Control 0 */

  638. #define TB0CCTL1_           TBCCTL1_  /* Timer B Capture/Compare Control 1 */

  639. #define TB0CCTL2_           TBCCTL2_  /* Timer B Capture/Compare Control 2 */

  640. #define TB0R_               TBR_      /* Timer B Counter Register */

  641. #define TB0CCR0_            TBCCR0_   /* Timer B Capture/Compare 0 */

  642. #define TB0CCR1_            TBCCR1_   /* Timer B Capture/Compare 1 */

  643. #define TB0CCR2_            TBCCR2_   /* Timer B Capture/Compare 2 */



  644. #define TBCLGRP1            (0x4000u)  /* Timer B Compare latch load group 1 */

  645. #define TBCLGRP0            (0x2000u)  /* Timer B Compare latch load group 0 */

  646. #define CNTL1               (0x1000u)  /* Counter lenght 1 */

  647. #define CNTL0               (0x0800u)  /* Counter lenght 0 */

  648. #define TBSSEL1             (0x0200u)  /* Clock source 1 */

  649. #define TBSSEL0             (0x0100u)  /* Clock source 0 */

  650. #define TBCLR               (0x0004u)  /* Timer B counter clear */

  651. #define TBIE                (0x0002u)  /* Timer B interrupt enable */

  652. #define TBIFG               (0x0001u)  /* Timer B interrupt flag */



  653. #define SHR1                (0x4000u)  /* Timer B Compare latch load group 1 */

  654. #define SHR0                (0x2000u)  /* Timer B Compare latch load group 0 */



  655. #define TBSSEL_0            (0*0x0100u)  /* Clock Source: TBCLK */

  656. #define TBSSEL_1            (1*0x0100u)  /* Clock Source: ACLK  */

  657. #define TBSSEL_2            (2*0x0100u)  /* Clock Source: SMCLK */

  658. #define TBSSEL_3            (3*0x0100u)  /* Clock Source: INCLK */

  659. #define CNTL_0              (0*0x0800u)  /* Counter lenght: 16 bit */

  660. #define CNTL_1              (1*0x0800u)  /* Counter lenght: 12 bit */

  661. #define CNTL_2              (2*0x0800u)  /* Counter lenght: 10 bit */

  662. #define CNTL_3              (3*0x0800u)  /* Counter lenght:  8 bit */

  663. #define SHR_0               (0*0x2000u)  /* Timer B Group: 0 - individually */

  664. #define SHR_1               (1*0x2000u)  /* Timer B Group: 1 - 3 groups (1-2, 3-4, 5-6) */

  665. #define SHR_2               (2*0x2000u)  /* Timer B Group: 2 - 2 groups (1-3, 4-6)*/

  666. #define SHR_3               (3*0x2000u)  /* Timer B Group: 3 - 1 group (all) */

  667. #define TBCLGRP_0           (0*0x2000u)  /* Timer B Group: 0 - individually */

  668. #define TBCLGRP_1           (1*0x2000u)  /* Timer B Group: 1 - 3 groups (1-2, 3-4, 5-6) */

  669. #define TBCLGRP_2           (2*0x2000u)  /* Timer B Group: 2 - 2 groups (1-3, 4-6)*/

  670. #define TBCLGRP_3           (3*0x2000u)  /* Timer B Group: 3 - 1 group (all) */



  671. /* Additional Timer B Control Register bits are defined in Timer A */



  672. #define CLLD1               (0x0400u)  /* Compare latch load source 1 */

  673. #define CLLD0               (0x0200u)  /* Compare latch load source 0 */



  674. #define SLSHR1              (0x0400u)  /* Compare latch load source 1 */

  675. #define SLSHR0              (0x0200u)  /* Compare latch load source 0 */



  676. #define SLSHR_0             (0*0x0200u)  /* Compare latch load sourec : 0 - immediate */

  677. #define SLSHR_1             (1*0x0200u)  /* Compare latch load sourec : 1 - TBR counts to 0 */

  678. #define SLSHR_2             (2*0x0200u)  /* Compare latch load sourec : 2 - up/down */

  679. #define SLSHR_3             (3*0x0200u)  /* Compare latch load sourec : 3 - TBR counts to TBCTL0 */



  680. #define CLLD_0              (0*0x0200u)  /* Compare latch load sourec : 0 - immediate */

  681. #define CLLD_1              (1*0x0200u)  /* Compare latch load sourec : 1 - TBR counts to 0 */

  682. #define CLLD_2              (2*0x0200u)  /* Compare latch load sourec : 2 - up/down */

  683. #define CLLD_3              (3*0x0200u)  /* Compare latch load sourec : 3 - TBR counts to TBCTL0 */



  684. /* TB3IV Definitions */

  685. #define TBIV_NONE           (0x0000u)    /* No Interrupt pending */

  686. #define TBIV_TBCCR1         (0x0002u)    /* TBCCR1_CCIFG */

  687. #define TBIV_TBCCR2         (0x0004u)    /* TBCCR2_CCIFG */

  688. #define TBIV_3              (0x0006u)    /* Reserved */

  689. #define TBIV_4              (0x0008u)    /* Reserved */

  690. #define TBIV_5              (0x000Au)    /* Reserved */

  691. #define TBIV_6              (0x000Cu)    /* Reserved */

  692. #define TBIV_TBIFG          (0x000Eu)    /* TBIFG */



  693. /************************************************************

  694. * USCI

  695. ************************************************************/

  696. #define __MSP430_HAS_USCI__           /* Definition to show that Module is available */



  697. #define UCA0CTL0_           (0x0060u)  /* USCI A0 Control Register 0 */

  698. DEFC(   UCA0CTL0          , UCA0CTL0_)

  699. #define UCA0CTL1_           (0x0061u)  /* USCI A0 Control Register 1 */

  700. DEFC(   UCA0CTL1          , UCA0CTL1_)

  701. #define UCA0BR0_            (0x0062u)  /* USCI A0 Baud Rate 0 */

  702. DEFC(   UCA0BR0           , UCA0BR0_)

  703. #define UCA0BR1_            (0x0063u)  /* USCI A0 Baud Rate 1 */

  704. DEFC(   UCA0BR1           , UCA0BR1_)

  705. #define UCA0MCTL_           (0x0064u)  /* USCI A0 Modulation Control */

  706. DEFC(   UCA0MCTL          , UCA0MCTL_)

  707. #define UCA0STAT_           (0x0065u)  /* USCI A0 Status Register */

  708. DEFC(   UCA0STAT          , UCA0STAT_)

  709. #define UCA0RXBUF_          (0x0066u)  /* USCI A0 Receive Buffer */

  710. READ_ONLY DEFC( UCA0RXBUF      , UCA0RXBUF_)

  711. #define UCA0TXBUF_          (0x0067u)  /* USCI A0 Transmit Buffer */

  712. DEFC(   UCA0TXBUF         , UCA0TXBUF_)

  713. #define UCA0ABCTL_          (0x005Du)  /* USCI A0 LIN Control */

  714. DEFC(   UCA0ABCTL         , UCA0ABCTL_)

  715. #define UCA0IRTCTL_         (0x005Eu)  /* USCI A0 IrDA Transmit Control */

  716. DEFC(   UCA0IRTCTL        , UCA0IRTCTL_)

  717. #define UCA0IRRCTL_         (0x005Fu)  /* USCI A0 IrDA Receive Control */

  718. DEFC(   UCA0IRRCTL        , UCA0IRRCTL_)







  719. #define UCB0CTL0_           (0x0068u)  /* USCI B0 Control Register 0 */

  720. DEFC(   UCB0CTL0          , UCB0CTL0_)

  721. #define UCB0CTL1_           (0x0069u)  /* USCI B0 Control Register 1 */

  722. DEFC(   UCB0CTL1          , UCB0CTL1_)

  723. #define UCB0BR0_            (0x006Au)  /* USCI B0 Baud Rate 0 */

  724. DEFC(   UCB0BR0           , UCB0BR0_)

  725. #define UCB0BR1_            (0x006Bu)  /* USCI B0 Baud Rate 1 */

  726. DEFC(   UCB0BR1           , UCB0BR1_)

  727. #define UCB0I2CIE_          (0x006Cu)  /* USCI B0 I2C Interrupt Enable Register */

  728. DEFC(   UCB0I2CIE         , UCB0I2CIE_)

  729. #define UCB0STAT_           (0x006Du)  /* USCI B0 Status Register */

  730. DEFC(   UCB0STAT          , UCB0STAT_)

  731. #define UCB0RXBUF_          (0x006Eu)  /* USCI B0 Receive Buffer */

  732. READ_ONLY DEFC( UCB0RXBUF      , UCB0RXBUF_)

  733. #define UCB0TXBUF_          (0x006Fu)  /* USCI B0 Transmit Buffer */

  734. DEFC(   UCB0TXBUF         , UCB0TXBUF_)

  735. #define UCB0I2COA_          (0x0118u)  /* USCI B0 I2C Own Address */

  736. DEFW(   UCB0I2COA         , UCB0I2COA_)

  737. #define UCB0I2CSA_          (0x011Au)  /* USCI B0 I2C Slave Address */

  738. DEFW(   UCB0I2CSA         , UCB0I2CSA_)



  739. // UART-Mode Bits

  740. #define UCPEN               (0x80)    /* Async. Mode: Parity enable */

  741. #define UCPAR               (0x40)    /* Async. Mode: Parity     0:odd / 1:even */

  742. #define UCMSB               (0x20)    /* Async. Mode: MSB first  0:LSB / 1:MSB */

  743. #define UC7BIT              (0x10)    /* Async. Mode: Data Bits  0:8-bits / 1:7-bits */

  744. #define UCSPB               (0x08)    /* Async. Mode: Stop Bits  0:one / 1: two */

  745. #define UCMODE1             (0x04)    /* Async. Mode: USCI Mode 1 */

  746. #define UCMODE0             (0x02)    /* Async. Mode: USCI Mode 0 */

  747. #define UCSYNC              (0x01)    /* Sync-Mode  0:UART-Mode / 1:SPI-Mode */



  748. // SPI-Mode Bits

  749. #define UCCKPH              (0x80)    /* Sync. Mode: Clock Phase */

  750. #define UCCKPL              (0x40)    /* Sync. Mode: Clock Polarity */

  751. #define UCMST               (0x08)    /* Sync. Mode: Master Select */



  752. // I2C-Mode Bits

  753. #define UCA10               (0x80)    /* 10-bit Address Mode */

  754. #define UCSLA10             (0x40)    /* 10-bit Slave Address Mode */

  755. #define UCMM                (0x20)    /* Multi-Master Environment */

  756. //#define res               (0x10)    /* reserved */

  757. #define UCMODE_0            (0x00)    /* Sync. Mode: USCI Mode: 0 */

  758. #define UCMODE_1            (0x02)    /* Sync. Mode: USCI Mode: 1 */

  759. #define UCMODE_2            (0x04)    /* Sync. Mode: USCI Mode: 2 */

  760. #define UCMODE_3            (0x06)    /* Sync. Mode: USCI Mode: 3 */



  761. // UART-Mode Bits

  762. #define UCSSEL1             (0x80)    /* USCI 0 Clock Source Select 1 */

  763. #define UCSSEL0             (0x40)    /* USCI 0 Clock Source Select 0 */

  764. #define UCRXEIE             (0x20)    /* RX Error interrupt enable */

  765. #define UCBRKIE             (0x10)    /* Break interrupt enable */

  766. #define UCDORM              (0x08)    /* Dormant (Sleep) Mode */

  767. #define UCTXADDR            (0x04)    /* Send next Data as Address */

  768. #define UCTXBRK             (0x02)    /* Send next Data as Break */

  769. #define UCSWRST             (0x01)    /* USCI Software Reset */



  770. // SPI-Mode Bits

  771. //#define res               (0x20)    /* reserved */

  772. //#define res               (0x10)    /* reserved */

  773. //#define res               (0x08)    /* reserved */

  774. //#define res               (0x04)    /* reserved */

  775. //#define res               (0x02)    /* reserved */



  776. // I2C-Mode Bits

  777. //#define res               (0x20)    /* reserved */

  778. #define UCTR                (0x10)    /* Transmit/Receive Select/Flag */

  779. #define UCTXNACK            (0x08)    /* Transmit NACK */

  780. #define UCTXSTP             (0x04)    /* Transmit STOP */

  781. #define UCTXSTT             (0x02)    /* Transmit START */

  782. #define UCSSEL_0            (0x00)    /* USCI 0 Clock Source: 0 */

  783. #define UCSSEL_1            (0x40)    /* USCI 0 Clock Source: 1 */

  784. #define UCSSEL_2            (0x80)    /* USCI 0 Clock Source: 2 */

  785. #define UCSSEL_3            (0xC0)    /* USCI 0 Clock Source: 3 */



  786. #define UCBRF3              (0x80)    /* USCI First Stage Modulation Select 3 */

  787. #define UCBRF2              (0x40)    /* USCI First Stage Modulation Select 2 */

  788. #define UCBRF1              (0x20)    /* USCI First Stage Modulation Select 1 */

  789. #define UCBRF0              (0x10)    /* USCI First Stage Modulation Select 0 */

  790. #define UCBRS2              (0x08)    /* USCI Second Stage Modulation Select 2 */

  791. #define UCBRS1              (0x04)    /* USCI Second Stage Modulation Select 1 */

  792. #define UCBRS0              (0x02)    /* USCI Second Stage Modulation Select 0 */

  793. #define UCOS16              (0x01)    /* USCI 16-times Oversampling enable */



  794. #define UCBRF_0             (0x00)    /* USCI First Stage Modulation: 0 */

  795. #define UCBRF_1             (0x10)    /* USCI First Stage Modulation: 1 */

  796. #define UCBRF_2             (0x20)    /* USCI First Stage Modulation: 2 */

  797. #define UCBRF_3             (0x30)    /* USCI First Stage Modulation: 3 */

  798. #define UCBRF_4             (0x40)    /* USCI First Stage Modulation: 4 */

  799. #define UCBRF_5             (0x50)    /* USCI First Stage Modulation: 5 */

  800. #define UCBRF_6             (0x60)    /* USCI First Stage Modulation: 6 */

  801. #define UCBRF_7             (0x70)    /* USCI First Stage Modulation: 7 */

  802. #define UCBRF_8             (0x80)    /* USCI First Stage Modulation: 8 */

  803. #define UCBRF_9             (0x90)    /* USCI First Stage Modulation: 9 */

  804. #define UCBRF_10            (0xA0)    /* USCI First Stage Modulation: A */

  805. #define UCBRF_11            (0xB0)    /* USCI First Stage Modulation: B */

  806. #define UCBRF_12            (0xC0)    /* USCI First Stage Modulation: C */

  807. #define UCBRF_13            (0xD0)    /* USCI First Stage Modulation: D */

  808. #define UCBRF_14            (0xE0)    /* USCI First Stage Modulation: E */

  809. #define UCBRF_15            (0xF0)    /* USCI First Stage Modulation: F */



  810. #define UCBRS_0             (0x00)    /* USCI Second Stage Modulation: 0 */

  811. #define UCBRS_1             (0x02)    /* USCI Second Stage Modulation: 1 */

  812. #define UCBRS_2             (0x04)    /* USCI Second Stage Modulation: 2 */

  813. #define UCBRS_3             (0x06)    /* USCI Second Stage Modulation: 3 */

  814. #define UCBRS_4             (0x08)    /* USCI Second Stage Modulation: 4 */

  815. #define UCBRS_5             (0x0A)    /* USCI Second Stage Modulation: 5 */

  816. #define UCBRS_6             (0x0C)    /* USCI Second Stage Modulation: 6 */

  817. #define UCBRS_7             (0x0E)    /* USCI Second Stage Modulation: 7 */



  818. #define UCLISTEN            (0x80)    /* USCI Listen mode */

  819. #define UCFE                (0x40)    /* USCI Frame Error Flag */

  820. #define UCOE                (0x20)    /* USCI Overrun Error Flag */

  821. #define UCPE                (0x10)    /* USCI Parity Error Flag */

  822. #define UCBRK               (0x08)    /* USCI Break received */

  823. #define UCRXERR             (0x04)    /* USCI RX Error Flag */

  824. #define UCADDR              (0x02)    /* USCI Address received Flag */

  825. #define UCBUSY              (0x01)    /* USCI Busy Flag */

  826. #define UCIDLE              (0x02)    /* USCI Idle line detected Flag */



  827. //#define res               (0x80)    /* reserved */

  828. //#define res               (0x40)    /* reserved */

  829. //#define res               (0x20)    /* reserved */

  830. //#define res               (0x10)    /* reserved */

  831. #define UCNACKIE            (0x08)    /* NACK Condition interrupt enable */

  832. #define UCSTPIE             (0x04)    /* STOP Condition interrupt enable */

  833. #define UCSTTIE             (0x02)    /* START Condition interrupt enable */

  834. #define UCALIE              (0x01)    /* Arbitration Lost interrupt enable */



  835. #define UCSCLLOW            (0x40)    /* SCL low */

  836. #define UCGC                (0x20)    /* General Call address received Flag */

  837. #define UCBBUSY             (0x10)    /* Bus Busy Flag */

  838. #define UCNACKIFG           (0x08)    /* NAK Condition interrupt Flag */

  839. #define UCSTPIFG            (0x04)    /* STOP Condition interrupt Flag */

  840. #define UCSTTIFG            (0x02)    /* START Condition interrupt Flag */

  841. #define UCALIFG             (0x01)    /* Arbitration Lost interrupt Flag */



  842. #define UCIRTXPL5           (0x80)    /* IRDA Transmit Pulse Length 5 */

  843. #define UCIRTXPL4           (0x40)    /* IRDA Transmit Pulse Length 4 */

  844. #define UCIRTXPL3           (0x20)    /* IRDA Transmit Pulse Length 3 */

  845. #define UCIRTXPL2           (0x10)    /* IRDA Transmit Pulse Length 2 */

  846. #define UCIRTXPL1           (0x08)    /* IRDA Transmit Pulse Length 1 */

  847. #define UCIRTXPL0           (0x04)    /* IRDA Transmit Pulse Length 0 */

  848. #define UCIRTXCLK           (0x02)    /* IRDA Transmit Pulse Clock Select */

  849. #define UCIREN              (0x01)    /* IRDA Encoder/Decoder enable */



  850. #define UCIRRXFL5           (0x80)    /* IRDA Receive Filter Length 5 */

  851. #define UCIRRXFL4           (0x40)    /* IRDA Receive Filter Length 4 */

  852. #define UCIRRXFL3           (0x20)    /* IRDA Receive Filter Length 3 */

  853. #define UCIRRXFL2           (0x10)    /* IRDA Receive Filter Length 2 */

  854. #define UCIRRXFL1           (0x08)    /* IRDA Receive Filter Length 1 */

  855. #define UCIRRXFL0           (0x04)    /* IRDA Receive Filter Length 0 */

  856. #define UCIRRXPL            (0x02)    /* IRDA Receive Input Polarity */

  857. #define UCIRRXFE            (0x01)    /* IRDA Receive Filter enable */



  858. //#define res               (0x80)    /* reserved */

  859. //#define res               (0x40)    /* reserved */

  860. #define UCDELIM1            (0x20)    /* Break Sync Delimiter 1 */

  861. #define UCDELIM0            (0x10)    /* Break Sync Delimiter 0 */

  862. #define UCSTOE              (0x08)    /* Sync-Field Timeout error */

  863. #define UCBTOE              (0x04)    /* Break Timeout error */

  864. //#define res               (0x02)    /* reserved */

  865. #define UCABDEN             (0x01)    /* Auto Baud Rate detect enable */



  866. #define UCGCEN              (0x8000u)  /* I2C General Call enable */

  867. #define UCOA9               (0x0200u)  /* I2C Own Address 9 */

  868. #define UCOA8               (0x0100u)  /* I2C Own Address 8 */

  869. #define UCOA7               (0x0080u)  /* I2C Own Address 7 */

  870. #define UCOA6               (0x0040u)  /* I2C Own Address 6 */

  871. #define UCOA5               (0x0020u)  /* I2C Own Address 5 */

  872. #define UCOA4               (0x0010u)  /* I2C Own Address 4 */

  873. #define UCOA3               (0x0008u)  /* I2C Own Address 3 */

  874. #define UCOA2               (0x0004u)  /* I2C Own Address 2 */

  875. #define UCOA1               (0x0002u)  /* I2C Own Address 1 */

  876. #define UCOA0               (0x0001u)  /* I2C Own Address 0 */



  877. #define UCSA9               (0x0200u)  /* I2C Slave Address 9 */

  878. #define UCSA8               (0x0100u)  /* I2C Slave Address 8 */

  879. #define UCSA7               (0x0080u)  /* I2C Slave Address 7 */

  880. #define UCSA6               (0x0040u)  /* I2C Slave Address 6 */

  881. #define UCSA5               (0x0020u)  /* I2C Slave Address 5 */

  882. #define UCSA4               (0x0010u)  /* I2C Slave Address 4 */

  883. #define UCSA3               (0x0008u)  /* I2C Slave Address 3 */

  884. #define UCSA2               (0x0004u)  /* I2C Slave Address 2 */

  885. #define UCSA1               (0x0002u)  /* I2C Slave Address 1 */

  886. #define UCSA0               (0x0001u)  /* I2C Slave Address 0 */



  887. /************************************************************

  888. * WATCHDOG TIMER

  889. ************************************************************/

  890. #define __MSP430_HAS_WDT__            /* Definition to show that Module is available */



  891. #define WDTCTL_             (0x0120u)  /* Watchdog Timer Control */

  892. DEFW(   WDTCTL            , WDTCTL_)

  893. /* The bit names have been prefixed with "WDT" */

  894. #define WDTIS0              (0x0001u)

  895. #define WDTIS1              (0x0002u)

  896. #define WDTSSEL             (0x0004u)

  897. #define WDTCNTCL            (0x0008u)

  898. #define WDTTMSEL            (0x0010u)

  899. #define WDTNMI              (0x0020u)

  900. #define WDTNMIES            (0x0040u)

  901. #define WDTHOLD             (0x0080u)



  902. #define WDTPW               (0x5A00u)



  903. /* WDT-interval times [1ms] coded with Bits 0-2 */

  904. /* WDT is clocked by fSMCLK (assumed 1MHz) */

  905. #define WDT_MDLY_32         (WDTPW+WDTTMSEL+WDTCNTCL)                         /* 32ms interval (default) */

  906. #define WDT_MDLY_8          (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS0)                  /* 8ms     " */

  907. #define WDT_MDLY_0_5        (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1)                  /* 0.5ms   " */

  908. #define WDT_MDLY_0_064      (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1+WDTIS0)           /* 0.064ms " */

  909. /* WDT is clocked by fACLK (assumed 32KHz) */

  910. #define WDT_ADLY_1000       (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL)                 /* 1000ms  " */

  911. #define WDT_ADLY_250        (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS0)          /* 250ms   " */

  912. #define WDT_ADLY_16         (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1)          /* 16ms    " */

  913. #define WDT_ADLY_1_9        (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0)   /* 1.9ms   " */

  914. /* Watchdog mode -> reset after expired time */

  915. /* WDT is clocked by fSMCLK (assumed 1MHz) */

  916. #define WDT_MRST_32         (WDTPW+WDTCNTCL)                                  /* 32ms interval (default) */

  917. #define WDT_MRST_8          (WDTPW+WDTCNTCL+WDTIS0)                           /* 8ms     " */

  918. #define WDT_MRST_0_5        (WDTPW+WDTCNTCL+WDTIS1)                           /* 0.5ms   " */

  919. #define WDT_MRST_0_064      (WDTPW+WDTCNTCL+WDTIS1+WDTIS0)                    /* 0.064ms " */

  920. /* WDT is clocked by fACLK (assumed 32KHz) */

  921. #define WDT_ARST_1000       (WDTPW+WDTCNTCL+WDTSSEL)                          /* 1000ms  " */

  922. #define WDT_ARST_250        (WDTPW+WDTCNTCL+WDTSSEL+WDTIS0)                   /* 250ms   " */

  923. #define WDT_ARST_16         (WDTPW+WDTCNTCL+WDTSSEL+WDTIS1)                   /* 16ms    " */

  924. #define WDT_ARST_1_9        (WDTPW+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0)            /* 1.9ms   " */



  925. /* INTERRUPT CONTROL */

  926. /* These two bits are defined in the Special Function Registers */

  927. /* #define WDTIE               0x01 */

  928. /* #define WDTIFG              0x01 */



  929. /************************************************************

  930. * Calibration Data in Info Mem

  931. ************************************************************/



  932. #ifndef __DisableCalData



  933. #define CALDCO_16MHZ_         (0x10F8u)  /* DCOCTL  Calibration Data for 16MHz */

  934. READ_ONLY DEFC( CALDCO_16MHZ     , CALDCO_16MHZ_)

  935. #define CALBC1_16MHZ_         (0x10F9u)  /* BCSCTL1 Calibration Data for 16MHz */

  936. READ_ONLY DEFC( CALBC1_16MHZ     , CALBC1_16MHZ_)

  937. #define CALDCO_12MHZ_         (0x10FAu)  /* DCOCTL  Calibration Data for 12MHz */

  938. READ_ONLY DEFC( CALDCO_12MHZ     , CALDCO_12MHZ_)

  939. #define CALBC1_12MHZ_         (0x10FBu)  /* BCSCTL1 Calibration Data for 12MHz */

  940. READ_ONLY DEFC( CALBC1_12MHZ     , CALBC1_12MHZ_)

  941. #define CALDCO_8MHZ_          (0x10FCu)  /* DCOCTL  Calibration Data for 8MHz */

  942. READ_ONLY DEFC( CALDCO_8MHZ      , CALDCO_8MHZ_)

  943. #define CALBC1_8MHZ_          (0x10FDu)  /* BCSCTL1 Calibration Data for 8MHz */

  944. READ_ONLY DEFC( CALBC1_8MHZ      , CALBC1_8MHZ_)

  945. #define CALDCO_1MHZ_          (0x10FEu)  /* DCOCTL  Calibration Data for 1MHz */

  946. READ_ONLY DEFC( CALDCO_1MHZ      , CALDCO_1MHZ_)

  947. #define CALBC1_1MHZ_          (0x10FFu)  /* BCSCTL1 Calibration Data for 1MHz */

  948. READ_ONLY DEFC( CALBC1_1MHZ      , CALBC1_1MHZ_)



  949. #endif /* #ifndef __DisableCalData */



  950. /************************************************************

  951. * Interrupt Vectors (offset from 0xFFE0)

  952. ************************************************************/



  953. #define PORT1_VECTOR        (2 * 2u)  /* 0xFFE4 Port 1 */

  954. #define PORT2_VECTOR        (3 * 2u)  /* 0xFFE6 Port 2 */

  955. #define ADC10_VECTOR        (5 * 2u)  /* 0xFFEA ADC10 */

  956. #define USCIAB0TX_VECTOR    (6 * 2u)  /* 0xFFEC USCI A0/B0 Transmit */

  957. #define USCIAB0RX_VECTOR    (7 * 2u)  /* 0xFFEE USCI A0/B0 Receive */

  958. #define TIMERA1_VECTOR      (8 * 2u)  /* 0xFFF0 Timer A CC1-2, TA */

  959. #define TIMERA0_VECTOR      (9 * 2u)  /* 0xFFF2 Timer A CC0 */

  960. #define WDT_VECTOR          (10 * 2u) /* 0xFFF4 Watchdog Timer */

  961. #define TIMERB1_VECTOR      (12 * 2u) /* 0xFFF8 Timer B CC1-2, TB */

  962. #define TIMERB0_VECTOR      (13 * 2u) /* 0xFFFA Timer B CC0 */

  963. #define NMI_VECTOR          (14 * 2u) /* 0xFFFC Non-maskable */

  964. #define RESET_VECTOR        (15 * 2u) /* 0xFFFE Reset [Highest Priority] */



  965. /************************************************************

  966. * End of Modules

  967. ************************************************************/

  968. #pragma language=default



  969. #endif /* #ifndef __msp430x22x4 */
复制代码



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:186637 发表于 2018-11-29 13:49 | 只看该作者
谢谢分享!学习学习!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表