msp49头文件中文解释Word格式.docx
《msp49头文件中文解释Word格式.docx》由会员分享,可在线阅读,更多相关《msp49头文件中文解释Word格式.docx(43页珍藏版)》请在冰点文库上搜索。
#ifndef__msp430x14x
#define__msp430x14x
/************************************************************
*STANDARDBITS
************************************************************/
#defineBIT00x0001
#defineBIT10x0002
#defineBIT20x0004
#defineBIT30x0008
#defineBIT40x0010
#defineBIT50x0020
#defineBIT60x0040
#defineBIT70x0080
#defineBIT80x0100
#defineBIT90x0200
#defineBITA0x0400
#defineBITB0x0800
#defineBITC0x1000
#defineBITD0x2000
#defineBITE0x4000
#defineBITF0x8000
*STATUSREGISTERBITS
#defineC0x0001
#defineZ0x0002
#defineN0x0004
#defineV0x0100
#defineGIE0x0008
#defineCPUOFF0x0010
#defineOSCOFF0x0020
#defineSCG00x0040
#defineSCG10x0080
/*LowPowerModescodedwithBits4-7inSR*/
#ifndef__IAR_SYSTEMS_ICC/*Begin#definesforassembler*/
#defineLPM0CPUOFF
#defineLPM1SCG0+CPUOFF
#defineLPM2SCG1+CPUOFF
#defineLPM3SCG1+SCG0+CPUOFF
#defineLPM4SCG1+SCG0+OSCOFF+CPUOFF
/*End#definesforassembler*/
#else/*Begin#definesforC*/
#defineLPM0_bitsCPUOFF
#defineLPM1_bitsSCG0+CPUOFF
#defineLPM2_bitsSCG1+CPUOFF
#defineLPM3_bitsSCG1+SCG0+CPUOFF
#defineLPM4_bitsSCG1+SCG0+OSCOFF+CPUOFF
#include<
In430.h>
#defineLPM0_BIS_SR(LPM0_bits)/*EnterLowPowerMode0*/
#defineLPM0_EXIT_BIC_SR(LPM0_bits)/*ExitLowPowerMode0*/
#defineLPM1_BIS_SR(LPM1_bits)/*EnterLowPowerMode1*/
#defineLPM1_EXIT_BIC_SR(LPM1_bits)/*ExitLowPowerMode1*/
#defineLPM2_BIS_SR(LPM2_bits)/*EnterLowPowerMode2*/
#defineLPM2_EXIT_BIC_SR(LPM2_bits)/*ExitLowPowerMode2*/
#defineLPM3_BIS_SR(LPM3_bits)/*EnterLowPowerMode3*/
#defineLPM3_EXIT_BIC_SR(LPM3_bits)/*ExitLowPowerMode3*/
#defineLPM4_BIS_SR(LPM4_bits)/*EnterLowPowerMode4*/
#defineLPM4_EXIT_BIC_SR(LPM4_bits)/*ExitLowPowerMode4*/
#endif/*End#definesforC*/
*PERIPHERALFILEMAP
*特殊功能寄存器地址和控制位
/*中断使能1*/
#defineIE1_0x0000
sfrbIE1=IE1_;
#defineWDTIE0x01/*看门狗中断使能*/
#defineOFIE0x02/*外部晶振故障中断使能*/
#defineNMIIE0x10/*非屏蔽中断使能*/
#defineACCVIE0x20/*可屏蔽中断使能/flash写中断错误*/
#defineURXIE00x40/*串口0接收中断使能*/
#defineUTXIE00x80/*串口0发送中断使能*/
/*中断标志1*/
#defineIFG1_0x0002
sfrbIFG1=IFG1_;
#defineWDTIFG0x01/*看门狗中断标志*/
#defineOFIFG0x02/*外部晶振故障中断标志*/
#defineNMIIFG0x10/*非屏蔽中断标志*/
#defineURXIFG00x40/*串口0接收中断标志*/
#defineUTXIFG00x80/*串口0发送中断标志*/
/*中断模式使能1*/
#defineME1_0x0004
sfrbME1=ME1_;
#defineURXE00x40/*串口0接收中断模式使能*/
#defineUSPIE00x40/*同步中断模式使能*/
#defineUTXE00x80/*串口0发送中断模式使能*/
/*中断使能2*/
#defineIE2_0x0001
sfrbIE2=IE2_;
#defineURXIE10x10/*串口1接收中断使能*/
#defineUTXIE10x20/*串口1发送中断使能*/
/*中断标志2*/
#defineIFG2_0x0003
sfrbIFG2=IFG2_;
#defineURXIFG10x10/*串口1接收中断标志*/
#defineUTXIFG10x20/*串口1发送中断标志*/
/*中断模式使能2*/
#defineME2_0x0005
sfrbME2=ME2_;
#defineURXE10x10/*串口1接收中断模式使能*/
#defineUSPIE10x10/*同步中断模式使能*/
#defineUTXE10x20/*串口1发送中断模式使能*/
*看门狗定时器的寄存器定义
#defineWDTCTL_0x0120
sfrwWDTCTL=WDTCTL_;
#defineWDTIS00x0001/*选择WDTCNT的四个输出端之一*/
#defineWDTIS10x0002/*选择WDTCNT的四个输出端之一*/
#defineWDTSSEL0x0004/*选择WDTCNT的时钟源*/
#defineWDTCNTCL0x0008/*清除WDTCNT端:
为1时从0开始计数*/
#defineWDTTMSEL0x0010/*选择模式0:
看门狗模式;
1:
定时器模式*/
#defineWDTNMI0x0020/*选择NMI/RST引脚功能0:
为RST;
为NMI*/
#defineWDTNMIES0x0040/*WDTNMI=1时.选择触发延0:
为上升延1:
为下降延*/
#defineWDTHOLD0x0080/*停止看门狗定时器工作0:
启动;
1:
停止*/
#defineWDTPW0x5A00/*写密码:
高八位*/
/*SMCLK=1MHz定时器模式*/
#defineWDT_MDLY_32WDTPW+WDTTMSEL+WDTCNTCL/*TSMCLK*2POWER15=32ms复位状态*/
#defineWDT_MDLY_8WDTPW+WDTTMSEL+WDTCNTCL+WDTIS0/*TSMCLK*2POWER13=8.192ms"
*/
#defineWDT_MDLY_0_5WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1/*TSMCLK*2POWER9=0.512ms"
#defineWDT_MDLY_0_064WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1+WDTIS0/*TSMCLK*2POWER6=0.512ms"
/*ACLK=32.768KHz定时器模式*/
#defineWDT_ADLY_1000WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL/*TACLK*2POWER15=1000ms"
#defineWDT_ADLY_250WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS0/*TACLK*2POWER13=250ms"
#defineWDT_ADLY_16WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1/*TACLK*2POWER9=16ms"
#defineWDT_ADLY_1_9WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0/*TACLK*2POWER6=1.9ms"
/*SMCLK=1MHz看门狗模式*/
#defineWDT_MRST_32WDTPW+WDTCNTCL/*TSMCLK*2POWER15=32ms复位状态*/
#defineWDT_MRST_8WDTPW+WDTCNTCL+WDTIS0/*TSMCLK*2POWER13=8.192ms"
#defineWDT_MRST_0_5WDTPW+WDTCNTCL+WDTIS1/*TSMCLK*2POWER9=0.512ms"
#defineWDT_MRST_0_064WDTPW+WDTCNTCL+WDTIS1+WDTIS0/*TSMCLK*2POWER6=0.512ms"
/*ACLK=32KHz看门狗模式*/
#defineWDT_ARST_1000WDTPW+WDTCNTCL+WDTSSEL/*TACLK*2POWER15=1000ms"
#defineWDT_ARST_250WDTPW+WDTCNTCL+WDTSSEL+WDTIS0/*TACLK*2POWER13=250ms"
#defineWDT_ARST_16WDTPW+WDTCNTCL+WDTSSEL+WDTIS1/*TACLK*2POWER9=16ms"
#defineWDT_ARST_1_9WDTPW+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0/*TACLK*2POWER6=1.9ms"
硬件乘法器的寄存器定义
#defineMPY_0x0130/*无符号乘法*/
sfrwMPY=MPY_;
#defineMPYS_0x0132/*有符号乘法*/
sfrwMPYS=MPYS_;
#defineMAC_0x0134/*无符号乘加*/
sfrwMAC=MAC_;
#defineMACS_0x0136/*有符号乘加*/
sfrwMACS=MACS_;
#defineOP2_0x0138/*第二乘数*/
sfrwOP2=OP2_;
#defineRESLO_0x013A/*低6位结果寄存器*/
sfrwRESLO=RESLO_;
#defineRESHI_0x013C/*高6位结果寄存器*/
sfrwRESHI=RESHI_;
#defineSUMEXT_0x013E/*结果扩展寄存器*/
constsfrwSUMEXT=SUMEXT_;
*DIGITALI/OPort1/2寄存器定义有中断功能
#defineP1IN_0x0020/*P1输入寄存器*/
constsfrbP1IN=P1IN_;
#defineP1OUT_0x0021/*P1输出寄存器*/
sfrbP1OUT=P1OUT_;
#defineP1DIR_0x0022/*P1方向选择寄存器*/
sfrbP1DIR=P1DIR_;
#defineP1IFG_0x0023/*P1中断标志寄存器*/
sfrbP1IFG=P1IFG_;
#defineP1IES_0x0024/*P1中断边沿选择寄存器*/
sfrbP1IES=P1IES_;
#defineP1IE_0x0025/*P1中断使能寄存器*/
sfrbP1IE=P1IE_;
#defineP1SEL_0x0026/*P1功能选择寄存器*/
sfrbP1SEL=P1SEL_;
#defineP2IN_0x0028/*P2输入寄存器*/
constsfrbP2IN=P2IN_;
#defineP2OUT_0x0029/*P2输出寄存器*/
sfrbP2OUT=P2OUT_;
#defineP2DIR_0x002A/*P2方向选择寄存器*/
sfrbP2DIR=P2DIR_;
#defineP2IFG_0x002B/*P2中断标志寄存器*/
sfrbP2IFG=P2IFG_;
#defineP2IES_0x002C/*P2中断边沿选择寄存器*/
sfrbP2IES=P2IES_;
#defineP2IE_0x002D/*P2中断使能寄存器*/
sfrbP2IE=P2IE_;
#defineP2SEL_0x002E/*P2功能选择寄存器*/
sfrbP2SEL=P2SEL_;
*DIGITALI/OPort3/4寄存器定义无中断功能
#defineP3IN_0x0018/*P3输入寄存器*/
constsfrbP3IN=P3IN_;
#defineP3OUT_0x0019/*P3输出寄存器*/
sfrbP3OUT=P3OUT_;
#defineP3DIR_0x001A/*P3方向选择寄存器*/
sfrbP3DIR=P3DIR_;
#defineP3SEL_0x001B/*P3功能选择寄存器*/
sfrbP3SEL=P3SEL_;
#defineP4IN_0x001C/*P4输入寄存器*/
constsfrbP4IN=P4IN_;
#defineP4OUT_0x001D/*P4输出寄存器*/
sfrbP4OUT=P4OUT_;
#defineP4DIR_0x001E/*P4方向选择寄存器*/
sfrbP4DIR=P4DIR_;
#defineP4SEL_0x001F/*P4功能选择寄存器*/
sfrbP4SEL=P4SEL_;
*DIGITALI/OPort5/6I/O口寄存器定义PORT5和6无中断功能
#defineP5IN_0x0030/*P5输入寄存器*/
constsfrbP5IN=P5IN_;
#defineP5OUT_0x0031/*P5输出寄存器*/
sfrbP5OUT=P5OUT_;
#defineP5DIR_0x0032/*P5方向选择寄存器*/
sfrbP5DIR=P5DIR_;
#defineP5SEL_0x0033/*P5功能选择寄存器*/
sfrbP5SEL=P5SEL_;
#defineP6IN_0x0034/*P6输入寄存器*/
constsfrbP6IN=P6IN_;
#defineP6OUT_0x0035/*P6输出寄存器*/
sfrbP6OUT=P6OUT_;
#defineP6DIR_0x0036/*P6方向选择寄存器*/
sfrbP6DIR=P6DIR_;
#defineP6SEL_0x0037/*P6功能选择寄存器*/
sfrbP6SEL=P6SEL_;
*USART串口寄存器"
UCTL"
"
UTCTL"
URCTL"
定义的各个位可串口1串口2公用
/*UCTL串口控制寄存器*/
#definePENA0x80/*校验允许位*/
#definePEV0x40/*偶校验为0时为奇校验*/
#defineSPB0x20/*停止位为2为0时停止位为1*/
#defineCHAR0x10/*数据位为8位为0时数据位为7位*/
#defineLISTEN0x08/*自环模式(发数据同时在把发的数据接收回来)*/
#defineSYNC0x04/*同步模式为0异步模式*/
#defineMM0x02/*为1时地址位多机协议(异步)主机模式(同步);
为0时线路空闲多机协议(异步)从机模式(同步)*/
#defineSWRST0x01/*控制位*/
/*UTCTL串口发送控制寄存器*/
#defineCKPH0x80/*时钟相位控制位(只同步方式用)为1时时钟UCLK延时半个周期*/
#defineCKPL0x40/*时钟极性控制位为1时异步与UCLK相反;
同步下降延有效*/
#defineSSEL10x20/*时钟源选择位:
与SSEL0组合为0,1,2,3四种方式*/
#defineSSEL00x10/*"
0"
选择外部时钟,"
1"
选择辅助时钟,"
2"
3"
选择系统子时钟*/
#defineURXSE0x08/*接收触发延控制位(只在异步方式下用)*/
#defineTXWAKE0x04/*多处理器通信传送控制位(只在异步