msp49头文件中文解释.docx

上传人:b****1 文档编号:20147570 上传时间:2023-04-25 格式:DOCX 页数:43 大小:28.21KB
下载 相关 举报
msp49头文件中文解释.docx_第1页
第1页 / 共43页
msp49头文件中文解释.docx_第2页
第2页 / 共43页
msp49头文件中文解释.docx_第3页
第3页 / 共43页
msp49头文件中文解释.docx_第4页
第4页 / 共43页
msp49头文件中文解释.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

msp49头文件中文解释.docx

《msp49头文件中文解释.docx》由会员分享,可在线阅读,更多相关《msp49头文件中文解释.docx(43页珍藏版)》请在冰豆网上搜索。

msp49头文件中文解释.docx

msp49头文件中文解释

VCC:

C=circuit表示电路的意思,即接入电路的电压;

VDD:

D=device表示器件的意思,即器件内部的工作电压;

VSS:

S=series表示公共连接的意思,通常指电路公共接地端电压。

对于数字电路来说,VCC是电路的供电电压,VDD是芯片的工作电压(通常Vcc>Vdd),VSS是接地点。

通常在采用正电压的电路上的表示:

AVDD--功率(模拟)

AVCC—正模拟电源电压

AVSS—模拟电路地

DVCC—正数字电源电压

DVSS—数字电路地

AVCC/AVSS一般为模拟部分提供电源,DVCC/DVSS一般为数字部分和内部I/O提供电源,为了避免引入电源干扰,通常需要把AVCC/AVSS和DVCC/DVSS隔离开

是这个意思,PxREN的作用是使能上拉或者下拉电阻,因为MSP430F5438这个单片机IO口内部集成了上拉或者下拉电阻,通过PxREN去使能这两个电阻。

另外,IO口有输入和输出两种状态,当IO口是输出状态时,IO口电平高低由单片机控制;当IO口是输入状态时,IO口电平高低由外部电路决定。

IO口输入和输出状态的选择由PxDIR决定,当PxDIR=0时对应IO口的输入状态,PxDIR=1对应IO口的输出状态。

PxOUT的作用是当IO口配置成输出状态时,决定输出电平高低,当IO口配置成输入状态时,并且使能上拉下拉电阻的时候,决定到底是上拉起作用还是下拉电阻起作用。

关于寄存器的配置,你可以看datasheet,或者再有不懂,可以问我。

现在这样理解哈:

1.MSP430其实根本没有位操作能力,它为了操作某一位,只能通过操作整个端口来实现;2.位或的时候被0异或的位保持不变,因为有0^0=0;0^1=1;而与1异或的位取反了,因为0^1=1;1^1=0;

#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

#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;1:

为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/*多处理器通信传送控制位(只在异步

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

当前位置:首页 > PPT模板 > 商务科技

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

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