msp430寄存器.docx

上传人:b****5 文档编号:4664785 上传时间:2022-12-07 格式:DOCX 页数:16 大小:20.83KB
下载 相关 举报
msp430寄存器.docx_第1页
第1页 / 共16页
msp430寄存器.docx_第2页
第2页 / 共16页
msp430寄存器.docx_第3页
第3页 / 共16页
msp430寄存器.docx_第4页
第4页 / 共16页
msp430寄存器.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

msp430寄存器.docx

《msp430寄存器.docx》由会员分享,可在线阅读,更多相关《msp430寄存器.docx(16页珍藏版)》请在冰豆网上搜索。

msp430寄存器.docx

msp430寄存器

MSP430F149祥解

对头文件做了比较详细的注释,记不清寄存器的人可以看看

#ifndef__msp430x14x

#define__msp430x14x

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

*STANDARDBITS

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

#defineBIT0               0x0001

#defineBIT1               0x0002

#defineBIT2               0x0004

#defineBIT3               0x0008

#defineBIT4               0x0010

#defineBIT5               0x0020

#defineBIT6               0x0040

#defineBIT7               0x0080

#defineBIT8               0x0100

#defineBIT9               0x0200

#defineBITA               0x0400

#defineBITB               0x0800

#defineBITC               0x1000

#defineBITD               0x2000

#defineBITE               0x4000

#defineBITF               0x8000

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

*STATUSREGISTERBITS

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

#defineC                 0x0001

#defineZ                 0x0002

#defineN                 0x0004

#defineV                 0x0100

#defineGIE               0x0008

#defineCPUOFF             0x0010

#defineOSCOFF             0x0020

#defineSCG0               0x0040

#defineSCG1               0x0080

低功耗模式

/*LowPowerModescodedwithBits4-7inSR*/

#ifndef__IAR_SYSTEMS_ICC/*Begin#definesforassembler*/

#defineLPM0               CPUOFF

#defineLPM1               SCG0+CPUOFF

#defineLPM2               SCG1+CPUOFF

#defineLPM3               SCG1+SCG0+CPUOFF

#defineLPM4               SCG1+SCG0+OSCOFF+CPUOFF

/*End#definesforassembler*/

#else/*Begin#definesforC*/

#defineLPM0_bits         CPUOFF

#defineLPM1_bits         SCG0+CPUOFF

#defineLPM2_bits         SCG1+CPUOFF

#defineLPM3_bits         SCG1+SCG0+CPUOFF

#defineLPM4_bits         SCG1+SCG0+OSCOFF+CPUOFF

进入低功耗和退出低功耗模

#include

#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

sfrb   IE1             =IE1_;

#defineWDTIE             0x01   /*看门狗中断使能*/     

#defineOFIE               0x02   /*外部晶振故障中断使能*/

#defineNMIIE             0x10   /*非屏蔽中断使能*/

#defineACCVIE             0x20   /*可屏蔽中断使能/flash写中断错误*/

#defineURXIE0             0x40   /*串口0接收中断使能*/

#defineUTXIE0             0x80   /*串口0发送中断使能*/

/*中断标志1*/

#defineIFG1_             0x0002

sfrb   IFG1             =IFG1_;

#defineWDTIFG             0x01   /*看门狗中断标志*/

#defineOFIFG             0x02   /*外部晶振故障中断标志*/

#defineNMIIFG             0x10   /*非屏蔽中断标志*/

#defineURXIFG0           0x40   /*串口0接收中断标志*/

#defineUTXIFG0           0x80   /*串口0发送中断标志*/

/*中断模式使能1*/

#defineME1_               0x0004

sfrb   ME1             =ME1_;

#defineURXE0             0x40       /*串口0接收中断模式使能*/

#defineUSPIE0             0x40       /*同步中断模式使能*/

#defineUTXE0             0x80       /*串口0发送中断模式使能*/

/*中断使能2*/

#defineIE2_               0x0001

sfrb   IE2             =IE2_;

#defineURXIE1             0x10     /*串口1接收中断使能*/

#defineUTXIE1             0x20     /*串口1发送中断使能*/

/*中断标志2*/

#defineIFG2_             0x0003

sfrb   IFG2             =IFG2_;

#defineURXIFG1           0x10       /*串口1接收中断标志*/

#defineUTXIFG1           0x20       /*串口1发送中断标志*/

/*中断模式使能2*/

#defineME2_               0x0005

sfrb   ME2             =ME2_;

#defineURXE1             0x10       /*串口1接收中断模式使能*/

#defineUSPIE1             0x10       /*同步中断模式使能*/

#defineUTXE1             0x20       /*串口1发送中断模式使能*/

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

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

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

#defineWDTCTL_           0x0120

sfrw   WDTCTL           =WDTCTL_;

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

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

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

#defineWDTCNTCL           0x0008         /*清除WDTCNT端:

为1时从0开始计数*/

#defineWDTTMSEL           0x0010         /*选择模式0:

看门狗模式;1:

定时器模式*/

#defineWDTNMI             0x0020         /*选择NMI/RST引脚功能0:

为RST;1:

为NMI*/

#defineWDTNMIES           0x0040         /*WDTNMI=1时.选择触发延0:

为上升延1:

为下降延*/

#defineWDTHOLD           0x0080         /*停止看门狗定时器工作0:

启动;1:

停止*/

#defineWDTPW             0x5A00         /*写密码:

高八位*/

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

#defineWDT_MDLY_32       WDTPW+WDTTMSEL+WDTCNTCL                       /*TSMCLK*2POWER15=32ms复位状态*/

#defineWDT_MDLY_8         WDTPW+WDTTMSEL+WDTCNTCL+WDTIS0                 /*TSMCLK*2POWER13=8.192ms   "*/

#defineWDT_MDLY_0_5       WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1                 /*TSMCLK*2POWER9=0.512ms"*/

#defineWDT_MDLY_0_064     WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1+WDTIS0         /*TSMCLK*2POWER6=0.512ms"*/

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

#defineWDT_ADLY_1000     WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL               /*TACLK*2POWER15=1000ms"*/

#defineWDT_ADLY_250       WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS0         /*TACLK*2POWER13=250ms"*/

#defineWDT_ADLY_16       WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1         /*TACLK*2POWER9=16ms   "*/

#defineWDT_ADLY_1_9       WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0/*TACLK*2POWER6=1.9ms"*/

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

#defineWDT_MRST_32       WDTPW+WDTCNTCL                                 /*TSMCLK*2POWER15=32ms复位状态*/

#defineWDT_MRST_8         WDTPW+WDTCNTCL+WDTIS0                         /*TSMCLK*2POWER13=8.192ms"*/

#defineWDT_MRST_0_5       WDTPW+WDTCNTCL+WDTIS1                         /*TSMCLK*2POWER9=0.512ms"*/

#defineWDT_MRST_0_064     WDTPW+WDTCNTCL+WDTIS1+WDTIS0                   /*TSMCLK*2POWER6=0.512ms"*/

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

#defineWDT_ARST_1000     WDTPW+WDTCNTCL+WDTSSEL                         /*TACLK*2POWER15=1000ms"*/

#defineWDT_ARST_250       WDTPW+WDTCNTCL+WDTSSEL+WDTIS0                 /*TACLK*2POWER13=250ms"*/

#defineWDT_ARST_16       WDTPW+WDTCNTCL+WDTSSEL+WDTIS1                 /*TACLK*2POWER9=16ms   "*/

#defineWDT_ARST_1_9       WDTPW+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0           /*TACLK*2POWER6=1.9ms"*/

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

           硬件乘法器的寄存器定义

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

#defineMPY_               0x0130/*无符号乘法*/

sfrw   MPY             =MPY_;

#defineMPYS_             0x0132/*有符号乘法*/

sfrw   MPYS             =MPYS_;

#defineMAC_               0x0134/*无符号乘加*/

sfrw   MAC             =MAC_;

#defineMACS_             0x0136/*有符号乘加*/

sfrw   MACS             =MACS_;

#defineOP2_               0x0138/*第二乘数*/

sfrw   OP2             =OP2_;

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

sfrw   RESLO           =RESLO_;

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

sfrw   RESHI           =RESHI_;

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

constsfrwSUMEXT       =SUMEXT_;

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

*DIGITALI/OPort1/2寄存器定义有中断功能

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

#defineP1IN_             0x0020/*P1输入寄存器*/

constsfrbP1IN         =P1IN_;

#defineP1OUT_             0x0021/*P1输出寄存器*/

sfrb   P1OUT           =P1OUT_;

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

sfrb   P1DIR           =P1DIR_;

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

sfrb   P1IFG           =P1IFG_;

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

sfrb   P1IES           =P1IES_;

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

sfrb   P1IE             =P1IE_;

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

sfrb   P1SEL           =P1SEL_;

#defineP2IN_             0x0028/*P2输入寄存器*/

constsfrbP2IN         =P2IN_;

#defineP2OUT_             0x0029/*P2输出寄存器*/

sfrb   P2OUT           =P2OUT_;

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

sfrb   P2DIR           =P2DIR_;

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

sfrb   P2IFG           =P2IFG_;

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

sfrb   P2IES           =P2IES_;

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

sfrb   P2IE             =P2IE_;

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

sfrb   P2SEL           =P2SEL_;

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

*DIGITALI/OPort3/4寄存器定义无中断功能

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

#defineP3IN_             0x0018/*P3输入寄存器*/

constsfrbP3IN         =P3IN_;

#defineP3OUT_             0x0019/*P3输出寄存器*/

sfrb   P3OUT           =P3OUT_;

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

sfrb   P3DIR           =P3DIR_;

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

sfrb   P3SEL           =P3SEL_;

#defineP4IN_             0x001C/*P4

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1