MSP430寄存器中文注释---P1/2口(带中断功能)

      /************************************************************

      * DIGITAL I/O Port1/2 寄存器定义 有中断功能

      ************************************************************/

      #define P1IN_               0x0020  /* P1 输入寄存器 */

      const sfrb P1IN           = P1IN_;

      #define P1OUT_              0x0021  /* P1 输出寄存器 */

      sfrb    P1OUT             = P1OUT_;

      #define P1DIR_              0x0022  /* P1 方向选择寄存器 */

      sfrb    P1DIR             = P1DIR_;

      #define P1IFG_              0x0023  /* P1 中断标志寄存器*/

      sfrb    P1IFG             = P1IFG_;

      #define P1IES_              0x0024  /* P1 中断边沿选择寄存器*/

      sfrb    P1IES             = P1IES_;

      #define P1IE_               0x0025  /* P1 中断使能寄存器 */

      sfrb    P1IE              = P1IE_;

      #define P1SEL_              0x0026  /* P1 功能选择寄存器*/

      sfrb    P1SEL             = P1SEL_;

      #define P2IN_               0x0028  /* P2 输入寄存器 */

      const sfrb P2IN           = P2IN_;

      #define P2OUT_              0x0029  /* P2 输出寄存器  */

      sfrb    P2OUT             = P2OUT_;

      #define P2DIR_              0x002A  /* P2 方向选择寄存器  */

      sfrb    P2DIR             = P2DIR_;

      #define P2IFG_              0x002B  /* P2 中断标志寄存器 */

      sfrb    P2IFG             = P2IFG_;

      #define P2IES_              0x002C  /* P2 中断边沿选择寄存器 */

      sfrb    P2IES             = P2IES_;

      #define P2IE_               0x002D  /* P2 中断使能寄存器 */

      sfrb    P2IE              = P2IE_;

      #define P2SEL_              0x002E  /* P2 功能选择寄存器 */

      sfrb    P2SEL             = P2SEL_;

      MSP430寄存器中文注释---P3/4口 (无中断功能)

      /************************************************************

      * DIGITAL I/O Port3/4寄存器定义 无中断功能

      ************************************************************/

      #define P3IN_               0x0018  /* P3 输入寄存器 */

      const sfrb P3IN           = P3IN_;

      #define P3OUT_              0x0019  /* P3 输出寄存器 */

      sfrb    P3OUT             = P3OUT_;

      #define P3DIR_              0x001A  /* P3 方向选择寄存器 */

      sfrb    P3DIR             = P3DIR_;

      #define P3SEL_              0x001B  /* P3 功能选择寄存器*/

      sfrb    P3SEL             = P3SEL_;

      #define P4IN_               0x001C  /* P4 输入寄存器 */

      const sfrb P4IN           = P4IN_;

      #define P4OUT_              0x001D  /* P4 输出寄存器 */

      sfrb    P4OUT             = P4OUT_;

      #define P4DIR_              0x001E  /* P4 方向选择寄存器 */

      sfrb    P4DIR             = P4DIR_;

      #define P4SEL_              0x001F  /* P4 功能选择寄存器 */

      sfrb    P4SEL             = P4SEL_;

      /************************************************************

      * DIGITAL I/O Port5/6       I/O口寄存器定义PORT5和6  无中断功能

      ************************************************************/

      #define P5IN_               0x0030  /* P5 输入寄存器 */

      const sfrb P5IN           = P5IN_;

      #define P5OUT_              0x0031  /* P5 输出寄存器*/

      sfrb    P5OUT             = P5OUT_;

      #define P5DIR_              0x0032  /* P5 方向选择寄存器*/

      sfrb    P5DIR             = P5DIR_;

      #define P5SEL_              0x0033  /* P5 功能选择寄存器*/

      sfrb    P5SEL             = P5SEL_;

      #define P6IN_               0x0034  /* P6 输入寄存器 */

      const sfrb P6IN           = P6IN_;

      #define P6OUT_              0x0035  /* P6 输出寄存器*/

      sfrb    P6OUT             = P6OUT_;

      #define P6DIR_              0x0036  /* P6 方向选择寄存器*/

      sfrb    P6DIR             = P6DIR_;

      #define P6SEL_              0x0037  /* P6 功能选择寄存器*/

      sfrb    P6SEL             = P6SEL_;

      MSP430寄存器中文注释--- 硬件乘法器

      /************************************************************

                   硬件乘法器的寄存器定义

      ************************************************************/

      #define MPY_                0x0130  /* 无符号乘法 */

      sfrw    MPY               = MPY_;

      #define MPYS_               0x0132  /* 有符号乘法*/

      sfrw    MPYS              = MPYS_;

      #define MAC_                0x0134  /* 无符号乘加 */

      sfrw    MAC               = MAC_;

      #define MACS_               0x0136  /* 有符号乘加 */

      sfrw    MACS              = MACS_;

      #define OP2_                0x0138  /* 第二乘数 */

      sfrw    OP2               = OP2_;

      #define RESLO_              0x013A  /* 低6位结果寄存器 */

      sfrw    RESLO             = RESLO_;

      #define RESHI_              0x013C  /* 高6位结果寄存器 */

      sfrw    RESHI             = RESHI_;

      #define SUMEXT_             0x013E  /*结果扩展寄存器  */

      const sfrw SUMEXT         = SUMEXT_;

      MSP430寄存器中文注释---看门狗和定时器

      /************************************************************

      *           看门狗定时器的寄存器定义

      ************************************************************/

      #define WDTCTL_             0x0120 

      sfrw    WDTCTL            = WDTCTL_;

      #define WDTIS0              0x0001          /*选择WDTCNT的四个输出端之一*/

      #define WDTIS1              0x0002          /*选择WDTCNT的四个输出端之一*/

      #define WDTSSEL             0x0004          /*选择WDTCNT的时钟源*/

      #define WDTCNTCL            0x0008          /*清除WDTCNT端: 为1时 从0开始计数*/   

      #define WDTTMSEL            0x0010          /*选择模式  0: 看门狗模式; 1: 定时器模式*/ 

      #define WDTNMI              0x0020          /*选择NMI/RST 引脚功能 0:为 RST; 

      1:为NMI*/

      #define WDTNMIES            0x0040          /*WDTNMI=1时.选择触发延 0:为上升延 

      1:为下降延*/ 

      #define WDTHOLD             0x0080          /*停止看门狗定时器工作 0:启动;1:停止*/

      #define WDTPW               0x5A00          /* 写密码:高八位*/ 

      /* SMCLK= 1MHz定时器模式 */

      #define WDT_MDLY_32         WDTPW+WDTTMSEL+WDTCNTCL                        

       /* TSMCLK*2POWER15=32ms 复位状态 */

      #define WDT_MDLY_8          WDTPW+WDTTMSEL+WDTCNTCL+WDTIS0                 

       /* TSMCLK*2POWER13=8.192ms     " */

      #define WDT_MDLY_0_5        WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1                 

       /* TSMCLK*2POWER9=0.512ms   " */

      #define WDT_MDLY_0_064      WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1+WDTIS0          

       /* TSMCLK*2POWER6=0.512ms " */

      /* ACLK=32.768KHz 定时器模式*/

      #define WDT_ADLY_1000       WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL                

       /* TACLK*2POWER15=1000ms  " */

      #define WDT_ADLY_250        WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS0         

       /* TACLK*2POWER13=250ms   " */

      #define WDT_ADLY_16         WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1         

       /* TACLK*2POWER9=16ms    " */

      #define WDT_ADLY_1_9        WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0  

       /* TACLK*2POWER6=1.9ms   " */

      /* SMCLK=1MHz看门狗模式 */

      #define WDT_MRST_32         WDTPW+WDTCNTCL                                 

       /* TSMCLK*2POWER15=32ms 复位状态  */

      #define WDT_MRST_8          WDTPW+WDTCNTCL+WDTIS0                          

       /* TSMCLK*2POWER13=8.192ms   " */

      #define WDT_MRST_0_5        WDTPW+WDTCNTCL+WDTIS1                          

       /* TSMCLK*2POWER9=0.512ms  " */

      #define WDT_MRST_0_064      WDTPW+WDTCNTCL+WDTIS1+WDTIS0                   

       /* TSMCLK*2POWER6=0.512ms " */

      /* ACLK=32KHz看门狗模式 */

      #define WDT_ARST_1000       WDTPW+WDTCNTCL+WDTSSEL                         

       /* TACLK*2POWER15=1000ms  " */

      #define WDT_ARST_250        WDTPW+WDTCNTCL+WDTSSEL+WDTIS0                  

       /* TACLK*2POWER13=250ms   " */

      #define WDT_ARST_16         WDTPW+WDTCNTCL+WDTSSEL+WDTIS1                  

       /* TACLK*2POWER9=16ms    " */

      #define WDT_ARST_1_9        WDTPW+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0           

       /* TACLK*2POWER6=1.9ms   " */

      MSP430寄存器中文注释---A/D采样寄存器定义

      /************************************************************

      * ADC12   A/D采样寄存器定义

      ************************************************************/

      /*ADC12转换控制类寄存器*/

      #define ADC12CTL0_          0x0;' /* ADC12 Control 0 */

      sfrw    ADC12CTL0         = ADC12CTL0_;

      #define ADC12CTL1_          0x01A2  /* ADC12 Control 1 */

      sfrw    ADC12CTL1         = ADC12CTL1_;

      /*ADC12中断控制类寄存器*/

      #define ADC12IFG_           0x01A4  /* ADC12 Interrupt Flag */

      sfrw    ADC12IFG          = ADC12IFG_;

      #define ADC12IE_            0x01A6  /* ADC12 Interrupt Enable */

      sfrw    ADC12IE           = ADC12IE_;

      #define ADC12IV_            0x01A8  /* ADC12 Interrupt Vector Word */

      sfrw    ADC12IV           = ADC12IV_;

      /*ADC12存贮器类寄存器*/

      #define ADC12MEM_           0x0140  /* ADC12 Conversion Memory */

      #ifndef __IAR_SYSTEMS_ICC

      #define ADC12MEM            ADC12MEM_ /* ADC12 Conversion Memory (for 

      assembler) */

      #else

      #define ADC12MEM            ((int*) ADC12MEM_) /* ADC12 Conversion Memory 

      (for C) */

      #endif

      #define ADC12MEM0_          ADC12MEM_ /* ADC12 Conversion Memory 0 */

      sfrw    ADC12MEM0         = ADC12MEM0_;

      #define ADC12MEM1_          0x0142  /* ADC12 Conversion Memory 1 */

      sfrw    ADC12MEM1         = ADC12MEM1_;

      #define ADC12MEM2_          0x0144  /* ADC12 Conversion Memory 2 */

      sfrw    ADC12MEM2         = ADC12MEM2_;

      #define ADC12MEM3_          0x0146  /* ADC12 Conversion Memory 3 */

      sfrw    ADC12MEM3         = ADC12MEM3_;

      #define ADC12MEM4_          0x0148  /* ADC12 Conversion Memory 4 */

      sfrw    ADC12MEM4         = ADC12MEM4_;

      #define ADC12MEM5_          0x014A  /* ADC12 Conversion Memory 5 */

      sfrw    ADC12MEM5         = ADC12MEM5_;

      #define ADC12MEM6_          0x014C  /* ADC12 Conversion Memory 6 */

      sfrw    ADC12MEM6         = ADC12MEM6_;

      #define ADC12MEM7_          0x014E  /* ADC12 Conversion Memory 7 */

      sfrw    ADC12MEM7         = ADC12MEM7_;

      #define ADC12MEM8_          0x0150  /* ADC12 Conversion Memory 8 */

      sfrw    ADC12MEM8         = ADC12MEM8_;

      #define ADC12MEM9_          0x0152  /* ADC12 Conversion Memory 9 */

      sfrw    ADC12MEM9         = ADC12MEM9_;

      #define ADC12MEM10_         0x0154  /* ADC12 Conversion Memory 10 */

      sfrw    ADC12MEM10        = ADC12MEM10_;

      #define ADC12MEM11_         0x0156  /* ADC12 Conversion Memory 11 */

      sfrw    ADC12MEM11        = ADC12MEM11_;

      #define ADC12MEM12_         0x0158  /* ADC12 Conversion Memory 12 */

      sfrw    ADC12MEM12        = ADC12MEM12_;

      #define ADC12MEM13_         0x015A  /* ADC12 Conversion Memory 13 */

      sfrw    ADC12MEM13        = ADC12MEM13_;

      #define ADC12MEM14_         0x015C  /* ADC12 Conversion Memory 14 */

      sfrw    ADC12MEM14        = ADC12MEM14_;

      #define ADC12MEM15_         0x015E  /* ADC12 Conversion Memory 15 */

      sfrw    ADC12MEM15        = ADC12MEM15_;

      /*ADC12存贮控制类寄存器*/

      #define ADC12MCTL_          0x0080  /* ADC12 Memory Control */

      #ifndef __IAR_SYSTEMS_ICC

      #define ADC12MCTL           ADC12MCTL_ /* ADC12 Memory Control (for 

      assembler) */

      #else

      #define ADC12MCTL           ((char*) ADC12MCTL_) /* ADC12 Memory Control 

      (for C) */

      #endif

      #define ADC12MCTL0_         ADC12MCTL_ /* ADC12 Memory Control 0 */

      sfrb    ADC12MCTL0        = ADC12MCTL0_;

      #define ADC12MCTL1_         0x0081  /* ADC12 Memory Control 1 */

      sfrb    ADC12MCTL1        = ADC12MCTL1_;

      #define ADC12MCTL2_         0x0082  /* ADC12 Memory Control 2 */

      sfrb    ADC12MCTL2        = ADC12MCTL2_;

      #define ADC12MCTL3_         0x0083  /* ADC12 Memory Control 3 */

      sfrb    ADC12MCTL3        = ADC12MCTL3_;

      #define ADC12MCTL4_         0x0084  /* ADC12 Memory Control 4 */

      sfrb    ADC12MCTL4        = ADC12MCTL4_;

      #define ADC12MCTL5_         0x0085  /* ADC12 Memory Control 5 */

      sfrb    ADC12MCTL5        = ADC12MCTL5_;

      #define ADC12MCTL6_         0x0086  /* ADC12 Memory Control 6 */

      sfrb    ADC12MCTL6        = ADC12MCTL6_;

      #define ADC12MCTL7_         0x0087  /* ADC12 Memory Control 7 */

      sfrb    ADC12MCTL7        = ADC12MCTL7_;

      #define ADC12MCTL8_         0x0088  /* ADC12 Memory Control 8 */

      sfrb    ADC12MCTL8        = ADC12MCTL8_;

      #define ADC12MCTL9_         0x0089  /* ADC12 Memory Control 9 */

      sfrb    ADC12MCTL9        = ADC12MCTL9_;

      #define ADC12MCTL10_        0x008A  /* ADC12 Memory Control 10 */

      sfrb    ADC12MCTL10       = ADC12MCTL10_;

      #define ADC12MCTL11_        0x008B  /* ADC12 Memory Control 11 */

      sfrb    ADC12MCTL11       = ADC12MCTL11_;

      #define ADC12MCTL12_        0x008C  /* ADC12 Memory Control 12 */

      sfrb    ADC12MCTL12       = ADC12MCTL12_;

      #define ADC12MCTL13_        0x008D  /* ADC12 Memory Control 13 */

      sfrb    ADC12MCTL13       = ADC12MCTL13_;

      #define ADC12MCTL14_        0x008E  /* ADC12 Memory Control 14 */

      sfrb    ADC12MCTL14       = ADC12MCTL14_;

      #define ADC12MCTL15_        0x008F  /* ADC12 Memory Control 15 */

      sfrb    ADC12MCTL15       = ADC12MCTL15_;

      /* ADC12CTL0 内8位控制寄存器位*/

      #define ADC12SC             0x001         /*采样/转换控制位*/   

      #define ENC                 0x002         /* 转换允许位*/

      #define ADC12TOVIE          0x004         /*转换时间溢出中断允许位*/

      #define ADC12OVIE           0x008         /*溢出中断允许位*/ 

      #define ADC12ON             0x010         /*ADC12内核控制位*/

      #define REFON               0x020         /*参考电压控制位*/

      #define REF2_5V             0x040         /*内部参考电压的电压值选择位 '0'为1.5V; 

      '1'为2.5V*/

      #define MSH                 0x080         /*多次采样/转换位*/

      #define MSC                 0x080         /*多次采样/转换位*/

      /*SHT0 采样保持定时器0 控制ADC12的结果存贮器MEM0~MEM7的采样周期*/

      #define SHT0_0               0*0x100       /*采样周期=TADC12CLK*4 */

      #define SHT0_1               1*0x100       /*采样周期=TADC12CLK*8 */

      #define SHT0_2               2*0x100       /*采样周期=TADC12CLK*16 */

      #define SHT0_3               3*0x100       /*采样周期=TADC12CLK*32 */

      #define SHT0_4               4*0x100       /*采样周期=TADC12CLK*64 */

      #define SHT0_5               5*0x100       /*采样周期=TADC12CLK*96 */

      #define SHT0_6               6*0x100       /*采样周期=TADC12CLK*128 */

      #define SHT0_7               7*0x100       /*采样周期=TADC12CLK*192 */

      #define SHT0_8               8*0x100       /*采样周期=TADC12CLK*256 */

      #define SHT0_9               9*0x100       /*采样周期=TADC12CLK*384 */

      #define SHT0_10             10*0x100       /*采样周期=TADC12CLK*512 */  

      #define SHT0_11             11*0x100       /*采样周期=TADC12CLK*768 */

      #define SHT0_12             12*0x100       /*采样周期=TADC12CLK*1024 */

      #define SHT0_13             13*0x100       /*采样周期=TADC12CLK*1024 */ 

      #define SHT0_14             14*0x100       /*采样周期=TADC12CLK*1024 */ 

      #define SHT0_15             15*0x100       /*采样周期=TADC12CLK*1024 */

      /*SHT1 采样保持定时器1 控制ADC12的结果存贮器MEM8~MEM15的采样周期*/

      #define SHT1_0               0*0x100       /*采样周期=TADC12CLK*4 */

      #define SHT1_1               1*0x100       /*采样周期=TADC12CLK*8 */

      #define SHT1_2               2*0x100       /*采样周期=TADC12CLK*16 */

      #define SHT1_3               3*0x100       /*采样周期=TADC12CLK*32 */

      #define SHT1_4               4*0x100       /*采样周期=TADC12CLK*64 */

      #define SHT1_5               5*0x100       /*采样周期=TADC12CLK*96 */

      #define SHT1_6               6*0x100       /*采样周期=TADC12CLK*128 */

      #define SHT1_7               7*0x100       /*采样周期=TADC12CLK*192 */

      #define SHT1_8               8*0x100       /*采样周期=TADC12CLK*256 */

      #define SHT1_9               9*0x100       /*采样周期=TADC12CLK*384 */

      #define SHT1_10             10*0x100       /*采样周期=TADC12CLK*512 */  

      #define SHT1_11             11*0x100       /*采样周期=TADC12CLK*768 */

      #define SHT1_12             12*0x100       /*采样周期=TADC12CLK*1024 */

      #define SHT1_13             13*0x100       /*采样周期=TADC12CLK*1024 */ 

      #define SHT1_14             14*0x100       /*采样周期=TADC12CLK*1024 */ 

      #define SHT1_15             15*0x100       /*采样周期=TADC12CLK*1024 */





      /* ADC12CTL1 内8位控制寄存器位*/

      #define ADC12BUSY           0x0001         /*ADC12忙标志位*/

      #define CONSEQ_0             0*2           /*单通道单次转换*/ 

      #define CONSEQ_1             1*2           /*序列通道单次转换*/

      #define CONSEQ_2             2*2           /*单通道多次转换*/

      #define CONSEQ_3             3*2           /*序列通道多次转换*/

      #define ADC12SSEL_0          0*8           /*ADC12内部时钟源*/

      #define ADC12SSEL_1          1*8           /*ACLK*/

      #define ADC12SSEL_2          2*8           /*MCLK*/

      #define ADC12SSEL_3          3*8           /*SCLK*/

      #define ADC12DIV_0           0*0x20        /*1分频*/

      #define ADC12DIV_1           1*0x20        /*2分频*/

      #define ADC12DIV_2           2*0x20        /*3分频*/

      #define ADC12DIV_3           3*0x20        /*4分频*/ 

      #define ADC12DIV_4           4*0x20        /*5分频*/ 

      #define ADC12DIV_5           5*0x20        /*6分频*/

      #define ADC12DIV_6           6*0x20        /*7分频*/

      #define ADC12DIV_7           7*0x20        /*8分频*/

      #define ISSH                 0x0100        /*采样输入信号反向与否控制位*/

      #define SHP                  0x0200        /*采样信号(SAMPCON)选择控制位*/

      #define SHS_0                0*0x400       /*采样信号输入源选择控制位 ADC12SC*/ 

      #define SHS_1                1*0x400       /*采样信号输入源选择控制位 TIMER_A.OUT1*/

      #define SHS_2                2*0x400       /*采样信号输入源选择控制位 TIMER_B.OUT0*/

      #define SHS_3                3*0x400       /*采样信号输入源选择控制位 TIMER_B.OUT1*/





     /*转换存贮器地址定义位*/

      #define CSTARTADD_0          0*0x1000      /*选择MEM0首地址*/

      #define CSTARTADD_1          1*0x1000      /*选择MEM1首地址*/ 

      #define CSTARTADD_2          2*0x1000      /*选择MEM2首地址*/

      #define CSTARTADD_3          3*0x1000      /*选择MEM3首地址*/

      #define CSTARTADD_4          4*0x1000      /*选择MEM4首地址*/

      #define CSTARTADD_5          5*0x1000      /*选择MEM5首地址*/

      #define CSTARTADD_6          6*0x1000      /*选择MEM6首地址*/

      #define CSTARTADD_7          7*0x1000      /*选择MEM7首地址*/ 

      #define CSTARTADD_8          8*0x1000      /*选择MEM8首地址*/

      #define CSTARTADD_9          9*0x1000      /*选择MEM9首地址*/

      #define CSTARTADD_10        10*0x1000      /*选择MEM10首地址*/

      #define CSTARTADD_11        11*0x1000      /*选择MEM11首地址*/

      #define CSTARTADD_12        12*0x1000      /*选择MEM12首地址*/

      #define CSTARTADD_13        13*0x1000      /*选择MEM13首地址*/      

      #define CSTARTADD_14        14*0x1000      /*选择MEM14首地址*/    

      #define CSTARTADD_15        15*0x1000      /*选择MEM15首地址*/

        

      /* ADC12MCTLx */

      #define INCH_0               0                 /*选择模拟量通道0 A0 */

      #define INCH_1               1                 /*选择模拟量通道0 A1*/

      #define INCH_2               2                 /*选择模拟量通道0 A2*/

      #define INCH_3               3                 /*选择模拟量通道0 A3*/

      #define INCH_4               4                 /*选择模拟量通道0 A4*/

      #define INCH_5               5                 /*选择模拟量通道0 A5*/

      #define INCH_6               6                 /*选择模拟量通道0 A6*/

      #define INCH_7               7                 /*选择模拟量通道0 A7*/

      #define INCH_8               8                 /*VEREF+*/

      #define INCH_9               9                 /*VEREF-*/

      #define INCH_10             10                 /*片内温度传感器的输出*/

      #define INCH_11             11                 /*(AVCC-AVSS)/2*/

      #define INCH_12             12                 /*(AVCC-AVSS)/2*/

      #define INCH_13             13                 /*(AVCC-AVSS)/2*/

      #define INCH_14             14                 /*(AVCC-AVSS)/2*/

      #define INCH_15             15                 /*(AVCC-AVSS)/2*/

      /*参考电压源选择位*/

      #define SREF_0               0*0x10            /*VR+ = AVCC; VR- = AVSS*/

      #define SREF_1               1*0x10            /*VR+ = VREF+; VR- = AVSS*/

      #define SREF_2               2*0x10            /*VR+ = VEREF+; VR- = AVSS*/

      #define SREF_3               3*0x10            /*VR+ = VEREF+; VR- = AVSS*/

      #define SREF_4               4*0x10            /*VR+ = AVCC; VR- = VREF-*/

      #define SREF_5               5*0x10            /*VR+ = VREF+; VR- = VREF-*/

      #define SREF_6               6*0x10            /*VR+ = VEREF+; VR- = 

      VREF-*/

      #define SREF_7               7*0x10            /*VR+ = VEREF+; VR- = 

      VREF-*/

      #define EOS                 0x80               /*序列结束选择位*/

      MSP430寄存器中文注释----串口寄存器

      /************************************************************

      * USART   串口寄存器"UCTL","UTCTL","URCTL"定义的各个位可串口1 串口2公用

      ************************************************************/

      /* UCTL  串口控制寄存器*/  

      #define PENA                0x80        /*校验允许位*/

      #define PEV                 0x40        /*偶校验   为0时为奇校验*/

      #define SPB                 0x20        /*停止位为2 为0时停止位为1*/

      #define CHAR                0x10        /*数据位为8位为0时数据位为7位*/

      #define LISTEN              0x08        /*自环模式(发数据同时在把发的数据接收回来)*/

      #define SYNC                0x04        /*同步模式  为0异步模式*/

      #define MM                  0x02        /*为1时地址位多机协议(异步) 

      主机模式(同步);为0时线路空闲多机协议(异步) 从机模式(同步)*/

      #define SWRST               0x01        /*控制位*/

      /* UTCTL 串口发送控制寄存器*/

      #define CKPH                0x80        /*时钟相位控制位(只同步方式用)为1时时钟UCLK延时半个周期*/ 

         

      #define CKPL                0x40        /*时钟极性控制位 为1时异步与UCLK相反;同步下降延有效*/

      #define SSEL1               0x20        /*时钟源选择位:与SSEL0组合为0,1,2,3四种方式*/

      #define SSEL0               0x10        

      /*"0"选择外部时钟,"1"选择辅助时钟,"2","3"选择系统子时钟 */

      #define URXSE               0x08        /*接收触发延控制位(只在异步方式下用)*/

      #define TXWAKE              0x04        /*多处理器通信传送控制位(只在异步方式下用)*/

      #define STC                 0x02        /*外部引脚STE选择位为0时为4线模式 为1时为3线模式*/

      #define TXEPT               0x01        /*发送器空标志*/

      /* URCTL 串口接收控制寄存器                同步模式下只用两位:FE和OE*/

      #define FE                  0x80         /*帧错标志*/           

      #define PE                  0x40         /*校验错标志位*/

      #define OE                  0x20         /*溢出标志位*/

      #define BRK                 0x10         /*打断检测位*/

      #define URXEIE              0x08         /*接收出错中断允许位*/

      #define URXWIE              0x04         /*接收唤醒中断允许位*/

      #define RXWAKE              0x02         /*接收唤醒检测位*/

      #define RXERR               0x01         /*接收错误标志位*/

      /************************************************************

      * USART 0           串口0寄存器定义

      ************************************************************/

      #define U0CTL_              0x0070  /* UART 0 Control */

      sfrb    U0CTL             = U0CTL_;

      #define U0TCTL_             0x0071  /* UART 0 Transmit Control */

      sfrb    U0TCTL            = U0TCTL_;

      #define U0RCTL_             0x0072  /* UART 0 Receive Control */

      sfrb    U0RCTL            = U0RCTL_;

      #define U0MCTL_             0x0073  /* UART 0 Modulation Control */

      sfrb    U0MCTL            = U0MCTL_;

      #define U0BR0_              0x0074  /* UART 0 Baud Rate 0 */

      sfrb    U0BR0             = U0BR0_;

      #define U0BR1_              0x0075  /* UART 0 Baud Rate 1 */

      sfrb    U0BR1             = U0BR1_;

      #define U0RXBUF_            0x0076  /* UART 0 Receive Buffer */

      const sfrb U0RXBUF        = U0RXBUF_;

      #define U0TXBUF_            0x0077  /* UART 0 Transmit Buffer */

      sfrb    U0TXBUF           = U0TXBUF_;

      /* Alternate register names */

      #define UCTL0_              0x0070  /* UART 0 Control */

      sfrb    UCTL0             = UCTL0_;

      #define UTCTL0_             0x0071  /* UART 0 Transmit Control */

      sfrb    UTCTL0            = UTCTL0_;

      #define URCTL0_             0x0072  /* UART 0 Receive Control */

      sfrb    URCTL0            = URCTL0_;

      #define UMCTL0_             0x0073  /* UART 0 Modulation Control */

      sfrb    UMCTL0            = UMCTL0_;

      #define UBR00_              0x0074  /* UART 0 Baud Rate 0 */

      sfrb    UBR00             = UBR00_;

      #define UBR10_              0x0075  /* UART 0 Baud Rate 1 */

      sfrb    UBR10             = UBR10_;

      #define RXBUF0_             0x0076  /* UART 0 Receive Buffer */

      const sfrb RXBUF0         = RXBUF0_;

      #define TXBUF0_             0x0077  /* UART 0 Transmit Buffer */

      sfrb    TXBUF0            = TXBUF0_;

      #define UCTL_0_             0x0070  /* UART 0 Control */

      sfrb    UCTL_0            = UCTL_0_;

      #define UTCTL_0_            0x0071  /* UART 0 Transmit Control */

      sfrb    UTCTL_0           = UTCTL_0_;

      #define URCTL_0_            0x0072  /* UART 0 Receive Control */

      sfrb    URCTL_0           = URCTL_0_;

      #define UMCTL_0_            0x0073  /* UART 0 Modulation Control */

      sfrb    UMCTL_0           = UMCTL_0_;

      #define UBR0_0_             0x0074  /* UART 0 Baud Rate 0 */

      sfrb    UBR0_0            = UBR0_0_;

      #define UBR1_0_             0x0075  /* UART 0 Baud Rate 1 */

      sfrb    UBR1_0            = UBR1_0_;

      #define RXBUF_0_            0x0076  /* UART 0 Receive Buffer */

      const sfrb RXBUF_0        = RXBUF_0_;

      #define TXBUF_0_            0x0077  /* UART 0 Transmit Buffer */

      sfrb    TXBUF_0           = TXBUF_0_;

      /************************************************************

      * USART 1         串口1寄存器定义

      ************************************************************/

      #define U1CTL_              0x0078  /* UART 1 Control */

      sfrb    U1CTL             = U1CTL_;

      #define U1TCTL_             0x0079  /* UART 1 Transmit Control */

      sfrb    U1TCTL            = U1TCTL_;

      #define U1RCTL_             0x007A  /* UART 1 Receive Control */

      sfrb    U1RCTL            = U1RCTL_;

      #define U1MCTL_             0x007B  /* UART 1 Modulation Control */

      sfrb    U1MCTL            = U1MCTL_;

      #define U1BR0_              0x007C  /* UART 1 Baud Rate 0 */

      sfrb    U1BR0             = U1BR0_;

      #define U1BR1_              0x007D  /* UART 1 Baud Rate 1 */

      sfrb    U1BR1             = U1BR1_;

      #define U1RXBUF_            0x007E  /* UART 1 Receive Buffer */

      const sfrb U1RXBUF        = U1RXBUF_;

      #define U1TXBUF_            0x007F  /* UART 1 Transmit Buffer */

      sfrb    U1TXBUF           = U1TXBUF_;

      #define UCTL1_              0x0078  /* UART 1 Control */

      sfrb    UCTL1             = UCTL1_;

      #define UTCTL1_             0x0079  /* UART 1 Transmit Control */

      sfrb    UTCTL1            = UTCTL1_;

      #define URCTL1_             0x007A  /* UART 1 Receive Control */

      sfrb    URCTL1            = URCTL1_;

      #define UMCTL1_             0x007B  /* UART 1 Modulation Control */

      sfrb    UMCTL1            = UMCTL1_;

      #define UBR01_               0x007C  /* UART 1 Baud Rate 0 */

      sfrb    UBR01             = UBR01_;

      #define UBR11_              0x007D  /* UART 1 Baud Rate 1 */

      sfrb    UBR11             = UBR11_;

      #define RXBUF1_             0x007E  /* UART 1 Receive Buffer */

      const sfrb RXBUF1         = RXBUF1_;

      #define TXBUF1_             0x007F  /* UART 1 Transmit Buffer */

      sfrb    TXBUF1            = TXBUF1_;

      #define UCTL_1_             0x0078  /* UART 1 Control */

      sfrb    UCTL_1            = UCTL_1_;

      #define UTCTL_1_            0x0079  /* UART 1 Transmit Control */

      sfrb    UTCTL_1           = UTCTL_1_;

      #define URCTL_1_            0x007A  /* UART 1 Receive Control */

      sfrb    URCTL_1           = URCTL_1_;

      #define UMCTL_1_            0x007B  /* UART 1 Modulation Control */

      sfrb    UMCTL_1           = UMCTL_1_;

      #define UBR0_1_             0x007C  /* UART 1 Baud Rate 0 */

      sfrb    UBR0_1            = UBR0_1_;

      #define UBR1_1_             0x007D  /* UART 1 Baud Rate 1 */

      sfrb    UBR1_1            = UBR1_1_;

      #define RXBUF_1_            0x007E  /* UART 1 Receive Buffer */

      const sfrb RXBUF_1        = RXBUF_1_;

      #define TXBUF_1_            0x007F  /* UART 1 Transmit Buffer */

sfrb    TXBUF_1           = TXBUF_1_;

注意七点:(1)sfrb:c430中新增的变量类型,占用一个字节,取值范围:0X00~0XFF,表示字节类型的特殊功能寄存器变量

(2)sfrw:c430中新增的变量类型,占用两个字节,取值范围:0X100~0X1FF,表示字(双字节)类型的特殊功能寄存器变量

(3)pointer:c430中新增的变量类型,占用两个字节,表示指针

特殊关键字说明:

(4)const:定义常量,这些量一旦定义就不能更改,可以定义任意类型

(5)static:定义静态变量,这种变量定义后,变量的地址是固定的,这些变量不会随着函数调用的结束而结束

(6)volatile:与static变量相反,这种变量明确告诉编译器,这类变量值随时会改变,不能对这种类型的变量优化删除任何操作过程

(7)no_init或_no_init:定义无需初始化的变量,c程序main()函数开始运行前,会将所有RAM清零(初始化),对这种变量在此过程中不予清零处理。

在MSP430中,取消了位变量,通常采用由变量和掩膜位间的逻辑运算操作来实现位运算。

(1)例如:对p1.0口置位(置1)可以使用以下三种方法:

P1OUT |= 0X01;

P1OUT |= (1 << 0)

若已包含以上的头文件:

P1OUT |= BIT0;

(2)例如:对p1.0口复位(置0)可以使用以下三种方法:

P1OUT &= ~0X01;

P1OUT &= ~(1 << 0)

若已包含以上的头文件:

P1OUT &= ~BIT0;

(3)例如:对P1.0和P1.1口置位,对P1.2和P1.3口复位:

P1OUT |= 0X03; 或 P1OUT |= BIT0 + BIT1;

P1OUT &= ~0X06H;或 P1OUT &= ~(BIT2 + BIT3);


MSP430G2553头文件解析的更多相关文章

  1. NSObject头文件解析 / 消息机制 / Runtime解读 (一)

    NSObject头文件解析 当我们需要自定义类都会创建一个NSObject子类, 比如: #import <Foundation/Foundation.h> @interface Clas ...

  2. Spring的配置文件ApplicationContext.xml配置头文件解析

    Spring的配置文件ApplicationContext.xml配置头文件解析 原创 2016年12月16日 14:22:43 标签: spring配置文件 5446 spring中的applica ...

  3. NSObject头文件解析 / 消息机制 / Runtime解读 (二)

    本章接着NSObject头文件解析 / 消息机制 / Runtime解读(一)写 给类添加属性: BOOL class_addProperty(Class cls, const char *name, ...

  4. 探索C++头文件解析方法

    最近一直在搞基于SWIG的C++接口翻译Java代码的工作.SWIG内部基于Bison(Yacc)的C/C++解析器,最近纠结于SWIG不能解析C++构造函数中的默认初始化赋值操作,想找一个能够补充此 ...

  5. Unix网络编程 — 头文件解析

    1.1. < sys/types.h > primitive system data types(包含很多类型重定义,如pid_t.int8_t等) 1.2. < sys/socke ...

  6. TC297B - 外设头文件解析(以IO为例)

    打开例程,目录树下的Includes中包含了各个片上资源对应的头文件,这些头文件定义了相应外设的寄存器地址(寄存器是内置于各个 IP 外设中,是一种用于配置外设功能的存储器,就是一种内存,并且有相对应 ...

  7. 带BOM头文件解析

    在java中apache提供了一个工具类BOMStream,在获取文件流时,将获取到的文件流转化成为BOM流: InputStreamReader is = new InputStreamReader ...

  8. C++解析头文件-Qt自动生成信号声明

    目录 一.瞎白话 二.背景 三.思路分析 四.代码讲解 1.类图 2.内存结构声明 3.QtHeaderDescription 4.私有函数讲解 五.分析结果 六.下载 一.瞎白话 时间过的ZTMK, ...

  9. 单片机中用c编程时头文件reg51.h及reg52.h解析

    单片机中用c编程时头文件reg51.h及reg52.h解析 我们在用c语言编程是往往第一行就是reg51.h或者其他的自定义头文件,我们怎么样来理解呢? 1)“文件包含”处理. 程序的第一行是一个“文 ...

随机推荐

  1. vue 判断是否登录,未登录跳转到登录页

    网页一进入判断是否登录,未登录跳转到登录页面 router.js export default new Router({ routes: [ { path: '/', name: 'HelloWorl ...

  2. tcl之list操作

  3. [译]The Python Tutorial#3. An Informal Introduction to Python

    3. An Informal Introduction to Python 在以下示例中,输入和输出以提示符(>>>和...)的出现和消失来标注:如果想要重现示例,提示符出现时,必须 ...

  4. Python中关于集合的介绍及用法

    一.集合的含义及创建方法 集合(set)是一种无序的并且里面存放不同元素的序列. 集合可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因 ...

  5. [Bzoj2588]Count on a tree(主席树+LCA)

    Description 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权.其中lastans是上一个询问的答案,初始 ...

  6. f触发器、存储过程

    drop trigger trig_insert--删除触发器

  7. Mysql存储过程中的事务回滚

    create procedure test(in a int) BEGIN ; ;-- 异常时设置为1 START TRANSACTION; ,); ,); THEN ROLLBACK; ELSE C ...

  8. install golang plugin in webstrom

    https://github.com/go-lang-plugin-org/go-lang-idea-plugin/wiki/Documentation

  9. 当我们在讨论CQRS时,我们在讨论些神马?

    当我写下这个标题的时候,我就有些后悔了,题目有点大,不太好控制.但我还是打算尝试一下,通过这篇内容来说清楚CQRS模式,以及和这个模式关联的其它东西.希望我能说得清楚,你能看得明白,如果觉得不错,右下 ...

  10. NMF分解(二)

    应用: 一.图像分析 NMF最成功的一类应用是在图像的分析和处理领域.图像本身包含大量的数据,计算机一般将图像的信息按照矩阵的形式进行存放,针对图像的识别.分析和处理也是在矩阵的基础上进行的.这些特点 ...