楼主 | 回复于 2018-07-13 沙发

MSP430是德州公司新开发的一类具有16位总线的带FLASH 的单片机,由于其性价比和集成度高,受到广大技术开发人员的青睐.它采用16位的总线,外设和内存统一编址,寻址范围可达64K,还可以外扩展存储器.具有统一的中断管理,具有丰富的片上外围模块,片内有精密硬件乘法器、两个16位定时器、一个14路的12位的模数转换器、一个看门狗、6路P口、两路USART通信端口、一个比较器、一个DCO内部振荡器和两个外部时钟,支持8M 的时钟.由于为FLASH型,则可以在线对单片机进行调试和下载,且JTAG口直接和FET(FLASH EMULATION TOOL)的相连,不须另外的仿真工具,方便实用,而且,可以在超低功耗模式下工作对环境和人体的辐射小,测量结果为100mw左右的功耗(电流为14mA左右),可靠性能好,加强电干扰运行不受影响,适应工业级的运行环境,适合与做手柄之类的自动控制的设备.我们相信MSP430单片机将会在工程技术应用中得以广泛应用,而且,它是通向DSP系列的桥梁,随着自动控制的高速化和低功耗化, MSP430系列将会得到越来越多人的喜爱.

(0 )
评论 (0) 举报

楼主 | 回复于 2018-07-13 2#

一、IO口

一)、P口端口寄存器:

1PxDIR   输入/输出方向寄存器

(0:输入模式    1:输出模式)

2PxIN    输入寄存器

输入寄存器是只读寄存器,用户不能对其写入,只能通过读取该寄存器的内容知道I/O口的输入信号。

3PxOUT   输出寄存器

寄存器内的内容不会受引脚方向改变的影响。

4PxIFG    中断标志寄存器

(0:没有中断请求   1:有中断请求)

该寄存器有8个标志位,对应相应的引脚是否有待处理的中断请求;这8个中断标志共用一个中断向量,中断标志不会自动复位,必须软件复位;外部中断事件的时间必须>=1.5倍的MCLK的时间,以保证中断请求被接受;

5PxIES   中断触发沿选择寄存器

 (0:上升沿中断       1:下降沿中断)

6PxSEL   功能选择寄存器

 (0:选择引脚为I/O端口   1:选择引脚为外围模块功能)

7PxREN     上拉/下拉电阻使能寄存器

      (0:禁止  1:使能)

(0 )
评论 (0) 举报

楼主 | 回复于 2018-07-13 3#

二)、常用特殊P口:

    1P1P2口可作为外部中断口。

    2P6可作为A/D输入口。

    3P1.2P2.0可作为PWM波输出口。

    4P1.1MCLK   P1.5ACLK

    5、串口通信时:P2.4 P4.0为发送TXD

                   P2.5 P4.1为接收RXD

(0 )
评论 (0) 举报

楼主 | 回复于 2018-07-13 4#

三)、基本操作:

1、所有P口都可作为通用IO口使用

2、所有P口都可进行字节操作和位操作

   按字节操作:

       :         P1DIR=0xff    //将P1口作为输出口

                    PIOUT=0x20  // P1口输出0x20

                    P1DIR=0x00    //将P1口作为输入口

                    data=P1IN            //读取P1口外部输入值

   按位操作:

                 P1DIR=BIT0;      //将P1.0作为输出口

                     P1OUT|=BIT0;   //P1.0输出1

                     P1OUT&=~BIT0;   //P1.0输出0

                     P1DIR&=~BIT0  //将P1.0口作为输入

                     data=P1IN&BIT0 //读取P1.0口外部输入值

(0 )
评论 (0) 举报

楼主 | 回复于 2018-07-13 5#

、时钟

(一)、三个时钟源:

1LFXT1CLK:低频时钟(32768HZ

2XT2CLK:高频时钟(8MHZ

3DCOCLK:片内数控振荡器最高46MHZ但不稳定(不能作为定时用)

(0 )
评论 (0) 举报

楼主 | 回复于 2018-07-13 6#

(0 )
评论 (0) 举报

楼主 | 回复于 2018-07-13 7#

(三)、时钟模块可提供的四种时钟信号:

1、ACLK:辅助时钟,来自LFXT1CLK低频时钟,可有软件选作各外围模块的时钟信号,一般用于低速外设。

2、ACLK/n:ACLK经过1、2、4、8分频后由P1.5输出,仅供外部电路使用。

3、MCLK:系统主时钟,可有软件选择来自LFXT1CLK、XT2CLK或DCOCLK的时钟,然后经1、2、4、8分频得到。可由P1.1输出(主要用于cpu)

4、SMCLK:子系统时钟,可有软件选择来自XT2CLK或DCOCLK的时钟。(主要用于高速外设)

(0 )
评论 (0) 举报

楼主 | 回复于 2018-07-13 8#

(四)、MCLK应用举例:

1、在默认情况下,MCLK来自于DCOCLK其频率为1.048576MHZ其计算方法:MCLK=(31+1)*32768

2、如何选择ACLK作为MCLK:

void clk_initial()

{

do

{

IFG1&=~OFIFG; //清除振荡器的失效标志

__  delay_cycles(200);

}

while((IFG1&OFIFG)!=0); //如果振荡器的失效标志存在

FLL_CTL1=SELM1+SELM0; //选择ACLK作为MCLK

}

3、如何选择 XT2CLK作为MCLK:

void clk_initial()

{

do

{

IFG1&=~OFIFG; //清除振荡器的失效标志

__delay_cycles(200);

}

while((IFG1&OFIFG)!=0); //如果振荡器的失效标志存在

FLL_CTL1=SELM1; //选择XT2CLK作为MCLK

}

4、如何选择 DCOCLK作为MCLK:计算(121+1) *2*32768=7.995MHZ

void CLK_initial()

{

SCFI0|=FN_4; //选择DCO频率调整范围为2.8~26.6MHZ

SCFQCTL=249; //倍频倍数,最高位为DCO+调制器的控制位

FLL_CTL0=DCOPLUS+OSCCAP_1; //选择DCO作为MCLK前分频

(0 )
评论 (0) 举报

回复于 2018-07-13 9#

多谢分享!!!
(0 )
评论 (0) 举报

回复于 2018-07-13 10#

感谢分享
(0 )
评论 (0) 举报
发表回复
0/3000





举报

请选择举报类别

  • 广告垃圾
  • 违规内容
  • 恶意灌水
  • 重复发帖

全部板块

返回顶部