⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msp430

📁 msp430单片机寄存器列表
💻
字号:
MSP430寄存器列表二 作者 wynne 日期 2006-5-10 20:39:00
/************************************************************
* 特殊功能寄存器地址和控制位
************************************************************/
/*中断使能1*/
#define IE1_                0x0000  
sfrb    IE1               = IE1_;
#define WDTIE               0x01     /*看门狗中断使能*/       
#define OFIE                0x02     /*外部晶振故障中断使能*/ 
#define NMIIE               0x10     /*非屏蔽中断使能*/
#define ACCVIE              0x20     /*可屏蔽中断使能/flash写中断错误*/
#define URXIE0              0x40     /*串口0接收中断使能*/
#define UTXIE0              0x80     /*串口0发送中断使能*/
/*中断标志1*/
#define IFG1_               0x0002  
sfrb    IFG1              = IFG1_; 
#define WDTIFG              0x01     /*看门狗中断标志*/
#define OFIFG               0x02     /*外部晶振故障中断标志*/
#define NMIIFG              0x10     /*非屏蔽中断标志*/
#define URXIFG0             0x40     /*串口0接收中断标志*/
#define UTXIFG0             0x80     /*串口0发送中断标志*/
 /* 中断模式使能1 */
#define ME1_                0x0004 
sfrb    ME1               = ME1_;
#define URXE0               0x40        /* 串口0接收中断模式使能 */
#define USPIE0              0x40        /* 同步中断模式使能 */
#define UTXE0               0x80        /* 串口0发送中断模式使能 */
/* 中断使能2 */
#define IE2_                0x0001  
sfrb    IE2               = IE2_;
#define URXIE1              0x10       /* 串口1接收中断使能 */
#define UTXIE1              0x20       /* 串口1发送中断使能 */
/* 中断标志2 */
#define IFG2_               0x0003  
sfrb    IFG2              = IFG2_;
#define URXIFG1             0x10         /* 串口1接收中断标志 */
#define UTXIFG1             0x20         /* 串口1发送中断标志 */
/* 中断模式使能2 */
#define ME2_                0x0005  
sfrb    ME2               = ME2_;
#define URXE1               0x10         /* 串口1接收中断模式使能 */
#define USPIE1              0x10         /* 同步中断模式使能 */
#define UTXE1               0x20         /* 串口1发送中断模式使能 */

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

#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   " */

 

/************************************************************
             硬件乘法器的寄存器定义
************************************************************/

#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_;

/************************************************************
* 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_;

/************************************************************
* 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_;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -