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

📄 430f149-

📁 这是一个对msp430头文件的详细解释
💻
📖 第 1 页 / 共 4 页
字号:

/************************************************************
* 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  /*  串口0基本控制寄存器 */
sfrb    U0CTL             = U0CTL_;
#define U0TCTL_             0x0071  /* 串口0发送控制寄存器 */
sfrb    U0TCTL            = U0TCTL_;
#define U0RCTL_             0x0072  /* 串口0接收控制寄存器 */
sfrb    U0RCTL            = U0RCTL_;
#define U0MCTL_             0x0073  /* 波特率调整寄存器 */
sfrb    U0MCTL            = U0MCTL_;
#define U0BR0_              0x0074  /* 波特率选择寄存器0 */
sfrb    U0BR0             = U0BR0_;
#define U0BR1_              0x0075  /* 波特率选择寄存器1 */
sfrb    U0BR1             = U0BR1_;
#define U0RXBUF_            0x0076  /* 接收缓存寄存器 */
const sfrb U0RXBUF        = U0RXBUF_;
#define U0TXBUF_            0x0077  /* 发送缓存寄存器 */
sfrb    U0TXBUF           = U0TXBUF_;

/* 改变的寄存器名定义 */

#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  /* 串口1基本控制寄存器 */
sfrb    U1CTL             = U1CTL_;
#define U1TCTL_             0x0079  /* 串口1发送控制寄存器 */
sfrb    U1TCTL            = U1TCTL_;
#define U1RCTL_             0x007A  /* 串口1接收控制寄存器 */
sfrb    U1RCTL            = U1RCTL_;
#define U1MCTL_             0x007B  /* 波特率调整控制寄存器 */
sfrb    U1MCTL            = U1MCTL_;
#define U1BR0_              0x007C  /* 波特率选择寄存器0 */
sfrb    U1BR0             = U1BR0_;
#define U1BR1_              0x007D  /* 波特率选择寄存器1 */
sfrb    U1BR1             = U1BR1_;
#define U1RXBUF_            0x007E  /* 接收缓存 */
const sfrb U1RXBUF        = U1RXBUF_;
#define U1TXBUF_            0x007F  /* 发送缓存 */
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_;

/************************************************************
* Timer A             定时器A寄存器定义
************************************************************/

#define TAIV_               0x012E  /* Timer A 中断向量寄存器 */
sfrw    TAIV              = TAIV_;
#define TACTL_              0x0160  /* Timer A 控制寄存器 */
sfrw    TACTL             = TACTL_;
#define TACCTL0_            0x0162  /* Timer A 捕获/比较控制寄存器0 */
sfrw    TACCTL0           = TACCTL0_;
#define TACCTL1_            0x0164  /* Timer A 捕获/比较控制寄存器1 */
sfrw    TACCTL1           = TACCTL1_;
#define TACCTL2_            0x0166  /* Timer A 捕获/比较控制寄存器2 */
sfrw    TACCTL2           = TACCTL2_;
#define TAR_                0x0170  /* Timer A 16位计数器内容*/
sfrw    TAR               = TAR_;
#define TACCR0_             0x0172  /* Timer A 捕获/比较寄存器0 */
sfrw    TACCR0            = TACCR0_;
#define TACCR1_             0x0174  /* Timer A 捕获/比较寄存器1 */
sfrw    TACCR1            = TACCR1_;
#define TACCR2_             0x0176  /* Timer A 捕获/比较寄存器2 */
sfrw    TACCR2            = TACCR2_;

/* 改变的寄存器名定义 */
#define CCTL0_              0x0162  /* Timer A Capture/Compare Control 0 */
sfrw    CCTL0             = CCTL0_;
#define CCTL1_              0x0164  /* Timer A Capture/Compare Control 1 */
sfrw    CCTL1             = CCTL1_;
#define CCTL2_              0x0166  /* Timer A Capture/Compare Control 2 */
sfrw    CCTL2             = CCTL2_;
#define CCR0_               0x0172  /* Timer A Capture/Compare 0 */
sfrw    CCR0              = CCR0_;
#define CCR1_               0x0174  /* Timer A Capture/Compare 1 */
sfrw    CCR1              = CCR1_;
#define CCR2_               0x0176  /* Timer A Capture/Compare 2 */
sfrw    CCR2              = CCR2_;

/*TACTL 控制寄存器 16个位寄存器定义*/
#define TASSEL2             0x0400  /* 未用 */
#define TASSEL1             0x0200  /* 时钟输入源控制位1 */
#define TASSEL0             0x0100  /* 时钟输入源控制位0 */
#define ID1                 0x0080  /* 分频系数选择位1 */
#define ID0                 0x0040  /* 分频系数选择位0 */
#define MC1                 0x0020  /* 计数模式控制位1 */
#define MC0                 0x0010  /* 计数模式控制位0 */
#define TACLR               0x0004  /* 置1位清除定时器 */
#define TAIE                0x0002  /* 定时器中断允许 */
#define TAIFG               0x0001  /* 定时器中断标志 */

#define MC_0                00*0x10  /* 停止模式 */
#define MC_1                01*0x10  /* 增计数模式 */
#define MC_2                02*0x10  /* 连续计数模式 */
#define MC_3                03*0x10  /* 增/减计数模式 */
#define ID_0                00*0x40  /* 直通 */
#define ID_1                01*0x40  /* 2分频 */
#define ID_2                02*0x40  /* 4分频 */
#define ID_3                03*0x40  /* 8分频 */
#define TASSEL_0            00*0x100  /* 时钟源为 TACLK */
#define TASSEL_1            01*0x100  /* 时钟源为ACLK  */
#define TASSEL_2            02*0x100  /* 时钟源为SMCLK */
#define TASSEL_3            03*0x100  /* 时钟源为INCLK */

/* Timer A ,Timer B 可公用 捕获/比较控制寄存器X */
#define CM1                 0x8000  /* 捕获模式选择位1 */
#define CM0                 0x4000  /* 捕获模式选择位0 */
#define CCIS1               0x2000  /* 捕获输入信号源选择位1 */
#define CCIS0               0x1000  /* 捕获输入信号源选择位0 */
#define SCS                 0x0800  /* 信号同步位 0:异步捕获;1:同步捕获 */
#define SCCI                0x0400  /* 锁存输入信号 */
#define CAP                 0x0100  /* 模式选择: 0:比较模式;1:捕获模式 */
#define OUTMOD2             0x0080  /* 输出模式选择位2 */
#define OUTMOD1             0x0040  /* 输出模式选择位1 */
#define OUTMOD0             0x0020  /* 输出模式选择位0 */
#define CCIE                0x0010  /* 中断允许位 */
#define CCI                 0x0008  /* 读出输入信号源位ccis0\1 */
#define OUT                 0x0004  /* 输出信号(选择输出模式0) */
#define COV                 0x0002  /* 捕获溢出标志 */
#define CCIFG               0x0001  /* 中断标志 */

#define OUTMOD_0             0*0x20  /* 输出模式 */
#define OUTMOD_1             1*0x20  /* 置位模式 */
#define OUTMOD_2             2*0x20  /* 翻转/复位模式 */
#define OUTMOD_3             3*0x20  /* 置位/复位模式 */
#define OUTMOD_4             4*0x20  /* 翻转模式 */
#define OUTMOD_5             5*0x20  /* 复位模式 */
#define OUTMOD_6             6*0x20  /* 翻转/置位模式 */
#define OUTMOD_7             7*0x20  /* 复位/置位模式*/
#define CCIS_0               0*0x1000  /* 选择CCIXA为捕获事件的输入信号源 */
#define CCIS_1               1*0x1000  /* 选择CCIXB为捕获事件的输入信号源 */
#define CCIS_2               2*0x1000  /* 选择GND为捕获事件的输入信号源 */
#define CCIS_3               3*0x1000  /* 选择VCC为捕获事件的输入信号源 */
#define CM_0                 0*0x4000  /* 禁止捕获模式 */
#define CM_1                 1*0x4000  /* 上升延捕获模式 */
#define CM_2                 2*0x4000  /* 下降沿捕获模式 */
#define CM_3                 3*0x4000  /* 上升沿和下降沿都捕获模式 */

/************************************************************
* Timer B         定时器B寄存器定义
************************************************************/

#define TBIV_               0x011E  /* 中断向量寄存器:BIT1-BIT3有效 */
sfrw    TBIV              = TBIV_;
#define TBCTL_              0x0180  /* 定时器B控制寄存器:全部控制都集中在这 */
sfrw    TBCTL             = TBCTL_;
#define TBCCTL0_            0x0182  /* 定时器B捕获/比较控制寄存器0*/
sfrw    TBCCTL0           = TBCCTL0_;
#define TBCCTL1_            0x0184  /* 定时器B捕获/比较控制寄存器1 */
sfrw    TBCCTL1           = TBCCTL1_;
#define TBCCTL2_            0x0186  /* 定时器B捕获/比较控制寄存器2 */

⌨️ 快捷键说明

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