版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、德州学院物理与电子信息学院德州学院物理与电子信息学院内容纲要内容纲要uMSP430G2553MSP430G2553单片机概述单片机概述uMSP430 CMSP430 C程序设计程序设计u编程环境编程环境IAR,CCSIAR,CCSuMSP430G2553MSP430G2553内部硬件资源内部硬件资源u单片机简单外围器件使用单片机简单外围器件使用内容纲要内容纲要uMSP430G2553MSP430G2553单片机概述单片机概述uMSP430 CMSP430 C程序设计程序设计u编程环境编程环境IAR,CCSIAR,CCSuMSP430G2553MSP430G2553内部硬件资源内部硬件资源u单片
2、机简单外围器件使用单片机简单外围器件使用内容纲要内容纲要uMSP430G2553MSP430G2553单片机概述单片机概述uMSP430 CMSP430 C程序设计程序设计u编程环境编程环境IARIARuMSP430G2553MSP430G2553内部硬件资源内部硬件资源u单片机简单外围器件使用单片机简单外围器件使用MSP430系列单片机MSP430系列单片机是美国Texas Instruments (TI) 从1996年开始推向市场的一种16位RISC架构、超低功耗的混合信号处理器。uMSP430G2553单片机概述单片机概述uMSP430G2553单片机概述单片机概述 MSP430X1XX
3、 系列 MSP430X2XX 系列(F2XX,G2XX) MSP430X3XX 系列 MSP430X4XX 系列(带LCD驱动) MSP430X5XX 系列 MSP430X6XX 系列(带LCD驱动)(1) MSP430全系列产品全系列产品Device Type Memory TypeC = ROMF = FLASHFR = FRAMG = FLASH (Value Line 超值产品线 )L = No Nonvolatile MemorySpecialized ApplicationAFE = Analog Front EndBT = Pre-programmed with Bluetoot
4、hBQ = Contactless PowerCG = ROM MedicalFE = Flash Energy MeterFG = Flash MedicalFW = Flash Electronic Flow MeterSeries 1 Series = Up to 8 MHz2 Series = Up to 16 MHz3 Series = Legacy OTP4 Series = Up to 16 MHz w/ LCD5 Series = Up to 25 MHz6 Series = Up to 25 MHz w/ LCD0 = Low Voltage SeriesFeature Se
5、t Various Levels of Integration within a Series MSP430G2553,可以分拆为Processor Family(MSP),430MCU Platform(430),Device Type(G),Series(2),Feature Set(553) (2)MSP430结构特点结构特点 冯诺依曼结构冯诺依曼结构 16位寻址位寻址 所有的数据、所有的数据、 程序和内部模程序和内部模 块公用相同的块公用相同的 存储空间存储空间 多时钟系统多时钟系统 JTAG调制技调制技 术术 在线编程在线编程(3) MSP430系列单片机的特点系列单片机的特点l 超
6、低功耗超低功耗l 强大的处理能力强大的处理能力l 高性能模拟技术及丰富的片上外围模块高性能模拟技术及丰富的片上外围模块l 系统工作稳定系统工作稳定l 方便高效的开发环境方便高效的开发环境uMSP430G2553单片机概述单片机概述超低功耗特例超低功耗特例特性特性1-超低功耗超低功耗ConsumerMeteringSensoringLeierdaMedical超低功耗应用超低功耗应用uMSP430G2553单片机概述单片机概述特性特性2-强大的处理能力强大的处理能力 16位单片机位单片机 精简指令集精简指令集 指令速度指令速度825MIPS 硬件乘法器硬件乘法器,DMA等等特性特性3-丰富的片上
7、外设丰富的片上外设 时钟时钟 端口端口 定时器定时器 比较器比较器 乘法器乘法器 AD,DA模块模块 硬件乘法器硬件乘法器,液晶驱动液晶驱动,USB,OPA,DMA等等uMSP430G2553单片机概述单片机概述特性特性4-系统工作稳定系统工作稳定 工业级产品工业级产品 看门狗定时器看门狗定时器 电源管理模块电源管理模块特性特性5-方便高效的开发环境方便高效的开发环境 IAR Workbench, TI CCS等等JTAG调试接口调试接口 一体化的集成高效的开发环境一体化的集成高效的开发环境MSP430G2553uMSP430G2553单片机概述单片机概述LaunchPad 是一款适用于TI的
8、MSP430G2xx 系列产品的完整开发解决方案,可支持多达20 个引脚,提供板上Flash 仿真工具,以直接连接至PC 轻松进行编程、调试和评估。uMSP430G2553单片机概述单片机概述片上仿真器模块片上仿真器模块6针针 eZ430 连接器连接器MSP430器件和插座器件和插座外置晶体接口外置晶体接口电源连接器电源连接器复位按钮复位按钮LED和跳线和跳线P1.0 & P1.6P1.3 按钮按钮芯片引出脚芯片引出脚USB 仿真器接口仿真器接口MSP430G2553 lanchpad各部分结构各部分结构 MSP430系列功能框图系列功能框图低压、低压、电源复电源复位保护位保护比较捕比
9、较捕捉寄存捉寄存器器MSP430G2XX无无Port3uMSP430G2553单片机概述单片机概述 低电压供电:低电压供电:1.8V-3.6V 16MHz主频,主频,5种低功耗模式种低功耗模式 8输入输入10Bit 200Ksps ADC 两个两个16Bit TimerA USCI接口,支持接口,支持Uart,IrDA,SPI和和IIC功能功能 比较器比较器 16KB FLASH、512B RAMMSP430G2553主要特点主要特点MSP430G2553内部资源内部资源 三种可选择系统时钟三种可选择系统时钟 通用通用I/O 可独立编程可独立编程 可提供输入、输出与中断(边沿可选)的任意组合可
10、提供输入、输出与中断(边沿可选)的任意组合 所有寻址指令可对端口控制寄存器进行读所有寻址指令可对端口控制寄存器进行读/写访问写访问 每个每个 I/O 具有一个可独立编程的上拉具有一个可独立编程的上拉/下拉电阻下拉电阻 某些器件某些器件/引脚具有触摸按键模块引脚具有触摸按键模块 (PinOsc)uMSP430G2553单片机概述单片机概述uMSP430G2553单片机概述单片机概述 16 位位 Timer_A2 2 个捕获个捕获/比较寄存器比较寄存器 丰富的中断功能丰富的中断功能 串行通信串行通信 支持支持 I2C 和和 SPI 的的 USI 支持支持 I2C、SPI 以及以及 UART 的的
11、USCI Comparator_A+ 可设定反相和同相输入可设定反相和同相输入 可选的可选的 RC 输出滤波器输出滤波器 可直接输出至可直接输出至 Timer_A2 捕获输入捕获输入 具有中断能力具有中断能力 8 通道通道/10 位位 200 ksps SAR ADC 8 个外部通道(取决于器件)个外部通道(取决于器件) 内置电压和温度传感器内置电压和温度传感器 可编程的参考电压可编程的参考电压 DTC可在无需可在无需 CPU 干预的情况下将结果发送至存储器干预的情况下将结果发送至存储器 具有中断能力具有中断能力 欠压复位欠压复位 可在上电和断电期间提供正确的复位信号可在上电和断电期间提供正确
12、的复位信号 功耗包含于功耗包含于MCU最低功耗时所消耗电流之中最低功耗时所消耗电流之中 WDT+ 看门狗定时器看门狗定时器 也可用作一个普通定时器也可用作一个普通定时器uMSP430G2553单片机概述单片机概述内容纲要内容纲要uMSP430G2553MSP430G2553单片机概述单片机概述uC C语言知识回顾语言知识回顾u编程环境编程环境IARIARuMSP430G2553MSP430G2553内部硬件资源内部硬件资源u单片机简单外围器件使用单片机简单外围器件使用程序结构程序结构 程序的执行从main()函数开始,调用其他函数后返回主函数main(),最后在主函数中结束整个程序而不管函数的
13、排列顺序如何。 main()/*主函数*/ 局部变量说明/*只在本函数引用*/ 执行语句(包括函数调用语句) C语言语句规则语言语句规则 每一个必须先说明后引用,变量名英文大小写有差别的; 每一个语句必须以;结尾 C语言的注释用/*.*/表示 必须成对运算符运算符与与C C语言基本相同:语言基本相同:+ - + - * * / / (加(加 减减 乘乘 除)除) = = y) max=x;else max=y; 执行上面语句时,如执行上面语句时,如x大于大于y成立,则把成立,则把x送给最大值变送给最大值变量量max,如,如x大于大于y不成立,则把不成立,则把y送给最大值变量送给最大值变量max
14、。使。使max变量得到变量得到x、y中的大数。中的大数。(3)if (score=90) printf(“Your result is an An”);else if (score=80) printf(“Your result is an Bn”);else if (score=70) printf(“Your result is an Cn”);else if (score=60) printf(“Your result is an Dn”);else printf(“Your result is an En”); 执行上面语句后,能够根据分数执行上面语句后,能够根据分数score分别打出
15、分别打出A、B、C、D、E五个等级。五个等级。 switch/case语句语句 if语句通过嵌套可以实现多分支结构,但结构复杂。语句通过嵌套可以实现多分支结构,但结构复杂。switch是是C51中提供的专门处理多分支结构的多分支中提供的专门处理多分支结构的多分支选择语句。它的格式如下:选择语句。它的格式如下:switch (表达式)(表达式)case 常量表达式常量表达式1:语句语句1;break;case 常量表达式常量表达式2:语句语句2;break;case 常量表达式常量表达式n:语句语句n;break;default:语句语句n+1;说明如下:说明如下:(1)switch后面括号内的
16、表达式,可以是整型或字符型表后面括号内的表达式,可以是整型或字符型表达式。达式。(2)当该表达式的值与某一当该表达式的值与某一“case”后面的常量表达式的值后面的常量表达式的值相等时,就执行该相等时,就执行该“case”后面的语句,然后遇到后面的语句,然后遇到break语句语句退出退出switch语句。若表达式的值与所有语句。若表达式的值与所有case后的常量表达式后的常量表达式的值都不相同,则执行的值都不相同,则执行default后面的语句,然后退出后面的语句,然后退出switch结构。结构。(3)每一个每一个case常量表达式的值必须不同否则会出现自相常量表达式的值必须不同否则会出现自相
17、矛盾的现象。矛盾的现象。(4)case语句和语句和default语句的出现次序对执行过程没有影语句的出现次序对执行过程没有影响。响。(5)每个每个case语句后面可以有语句后面可以有“break”,也可以没有。有,也可以没有。有break语句,执行到语句,执行到break则退出则退出switch结构,若没有,则会结构,若没有,则会顺次执行后面的语句,直到遇到顺次执行后面的语句,直到遇到break或结束。或结束。(6)每一个每一个case语句后面可以带一个语句,也可以带多个语句后面可以带一个语句,也可以带多个语句,还可以不带。语句可以用花括号括起,也可以不括。语句,还可以不带。语句可以用花括号括
18、起,也可以不括。(7)多个多个case可以共用一组执行语句。可以共用一组执行语句。while语句语句 while语句在语句在C51中用于实现当型循环结构,它的中用于实现当型循环结构,它的格式如下:格式如下: while(表达式)(表达式) 语句;语句; /*循环体循环体*/ while语句后面的表达式是能否循环的条件,后语句后面的表达式是能否循环的条件,后面的语句是循环体。当表达式为非面的语句是循环体。当表达式为非0(真)时,就重复(真)时,就重复执行循环体内的语句;当表达式为执行循环体内的语句;当表达式为0(假),则中止(假),则中止while循环,程序将执行循环结构之外的下一条语句。循环,
19、程序将执行循环结构之外的下一条语句。 它的特点是:先判断条件,后执行循环体。在循环它的特点是:先判断条件,后执行循环体。在循环体中对条件进行改变,然后再判断条件,如条件成立,体中对条件进行改变,然后再判断条件,如条件成立,则再执行循环体,如条件不成立,则退出循环。如条件则再执行循环体,如条件不成立,则退出循环。如条件第一次就不成立,则循环体一次也不执行。第一次就不成立,则循环体一次也不执行。 do while语句语句 do while语句在语句在C51中用于实现直到型循环结构,中用于实现直到型循环结构,它的格式如下:它的格式如下: do 语句;语句; /*循环体循环体*/ while(表达式)
20、;(表达式); 它的特点是:先执行循环体中的语句,后判断表它的特点是:先执行循环体中的语句,后判断表达式。如表达式成立(真),则再执行循环体,然后达式。如表达式成立(真),则再执行循环体,然后又判断,直到有表达式不成立(假)时,退出循环,又判断,直到有表达式不成立(假)时,退出循环,执行执行do while结构的下一条语句。结构的下一条语句。do while语句在执语句在执行时,循环体内的语句至少会被执行一次。行时,循环体内的语句至少会被执行一次。for(表达式(表达式1;表达式;表达式2;表达式;表达式3)语句;语句; /*循环体循环体*/for语句后面带三个表达式,它的执行过程如下:语句后
21、面带三个表达式,它的执行过程如下:(1)先求解表达式)先求解表达式1的值。的值。(2)求解表达式)求解表达式2的值,如表达式的值,如表达式2的值为真,则执行循环的值为真,则执行循环休中的语句,然后执行下一步(休中的语句,然后执行下一步(3)的操作,如表达式)的操作,如表达式2的值的值为假,则结束为假,则结束for循环,转到最后一步。循环,转到最后一步。(3)若表达式)若表达式2的值为真,则执行完循环体中的语句后,的值为真,则执行完循环体中的语句后,求解表达式求解表达式3,然后转到第四步。,然后转到第四步。(4)转到()转到(2)继续执行。)继续执行。(5)退出)退出for循环,执行下面的一条语
22、句。循环,执行下面的一条语句。 在在for循环中,一般表达式循环中,一般表达式1为初值表达式,用于给循环为初值表达式,用于给循环变量赋初值;表达式变量赋初值;表达式2为条件表达式,对循环变量进行判断;为条件表达式,对循环变量进行判断;表达式表达式3为循环变量更新表达式,用于对循环变量的值进行更为循环变量更新表达式,用于对循环变量的值进行更新,使循环变量能不满足条件而退出循环。新,使循环变量能不满足条件而退出循环。4.7.6 for语句语句 在一个循环的循环体中允许又包含一个完整的循环在一个循环的循环体中允许又包含一个完整的循环结构,这种结构称为循环的嵌套。外面的循环称为外循结构,这种结构称为循
23、环的嵌套。外面的循环称为外循环,里面的循环称为内循环,如果在内循环的循环体内环,里面的循环称为内循环,如果在内循环的循环体内又包含循环结构,就构成了多重循环。在又包含循环结构,就构成了多重循环。在C51中,允许中,允许三种循环结构相互嵌套。三种循环结构相互嵌套。【例【例18】用嵌套结构构造一个延时程序。】用嵌套结构构造一个延时程序。void delay(unsigned int x)unsigned char j;while(x-)for (j=0;jNewWorkspace命令,然后开启一命令,然后开启一个空白工作区窗口个空白工作区窗口u编程环境编程环境IAR(2) 选择主菜单选择主菜单Pr
24、ojectCreate New Project, 弹出生成新项目窗口中我们选择弹出生成新项目窗口中我们选择Empty project。选择保存路径后,点击保存选择保存路径后,点击保存新工程建立完毕新工程建立完毕u编程环境编程环境IAR3.3.加入文件加入文件u编程环境编程环境IAR可以建立一个空白的文件可以建立一个空白的文件写好代码后,选择主菜单的写好代码后,选择主菜单的File SaveFile Save命令命令文件名可以自己起,但后面一定要加文件名可以自己起,但后面一定要加 ”.c” ,保存为,保存为C文件文件 u编程环境编程环境IAR右击工程名,将写好的程序添加进去右击工程名,将写好的程
25、序添加进去AddAdd Files选好后点击打开对于刚存好的程序,例如例子中的main.c,也可以用AddAdd“main.c”添加入工程。 如果工程很庞大,需要添加的文件很多。可以用AddAdd Group,加入新的组,将加入的文件分组管理。将工程建好后,往往需要先进行设置,才能正常的使用将工程建好后,往往需要先进行设置,才能正常的使用 右击工程名,点击右击工程名,点击OptionOptionu编程环境编程环境IAR4.工程设置工程设置u编程环境编程环境IAR首先是在首先是在General OptionGeneral Option中修改中修改Device Device u编程环境编程环境IA
26、Ru编程环境编程环境IAR然后在然后在Debugger中修改中修改Driver Simulator是用软件仿真FET Debugger是用Jtag调试u编程环境编程环境IAR接下来在接下来在FET DebuggerFET Debugger中修改中修改ConnectionConnection第一项是TI的USB-Jtag 可以用U口调试第二项是普通的Jtag,要用到计算机的并口调试第三项是J-link,在新版本的IAR EW430中没有这一项u编程环境编程环境IAR5 程序的调试程序的调试添加好文件后,应该在工程下看到 选择需要调试的文件,如main.c选择(Compile)按钮,对main.c
27、进行编译第一次编译是需要保存Workspace Files 改好文件名和路径后点“保存” u编程环境编程环境IAR底下会出现底下会出现BuildBuild信息窗口信息窗口如果是如果是Done. 0 error(s), 0 warning(s)Done. 0 error(s), 0 warning(s)就可以点击就可以点击(makemake)u编程环境编程环境IAR如果在信息窗口显示没有错误,就可以点击进行调试,若已经用下载器和开发板相连,此时程序就能烧入芯片进入调试界面(Debug)编程环境编程环境CCSu编程环境编程环境IAR,CCSCCS(Code Composer Studio)是TI公
28、司研发的一款具有环境配置、源文件编辑、程序调试、跟踪和分析等功能的集成开发环境,能够帮助用户在一个软件环境下完成编辑、编译、链接、调试和数据分析等工作。CCSv5.1为CCS软件的最新版本,功能更强大、性能更稳定、可用性更高,是MSP430软件开发的理想工具。1、利用、利用CCS导入已有工程导入已有工程 u编程环境编程环境IAR,CCSu编程环境编程环境IAR,CCS2、利用、利用CCS新建工程新建工程(1)首先打开)首先打开CCSv5.1并确定工作区间,然后选择并确定工作区间,然后选择File-New-CCS Project弹出对话框。弹出对话框。(2)在)在Project name中输入新
29、建工程的名称,在此输入中输入新建工程的名称,在此输入myccs1。(3)在)在Output type中有两个选项:中有两个选项:Executable和和Static library,前者为构建一个完整的可执行程序,后者为静态库。在此保留:前者为构建一个完整的可执行程序,后者为静态库。在此保留:Executable。(4)在)在Device部分选择器件的型号部分选择器件的型号:在此在此Family选择选择MSP430;Variant选择选择MSP430G5XX family,芯片选择,芯片选择MSP430G2553;Connection保持默认。保持默认。(5)选择空工程,然后单击)选择空工程,
30、然后单击Finish完成新工程的创建。完成新工程的创建。(6)创建的工程将显示在)创建的工程将显示在Project Explorer中,如图中,如图2.12所示。所示。 u编程环境编程环境IAR,CCS(7)新建.h文件:在工程名上右键点击,选择New-Header File得到如下对话框。(8)新建.c文件:在工程名上右键单击,选择New-source file得到如下对话框。若已用其它编程软件(例如若已用其它编程软件(例如IAR),完成了整个工程的开),完成了整个工程的开发,该工程无法直接移植入发,该工程无法直接移植入CCS,但可以通过在,但可以通过在CCSv5中新建工程,并根据步骤(中新
31、建工程,并根据步骤(7)、()、(8)和()和(9)新建或导)新建或导入已有入已有.h和和.c文件,从而完成整个工程的移植。文件,从而完成整个工程的移植。(9)导入已有.h或.c文件:在工程名上右键单击,选择Add Files得到如下对话框。 u编程环境编程环境IAR,CCS3、利用、利用CCS调试工程调试工程(1)在开始调试之前,有必要确认目标配置文件是否已经创建并配置正确。 (2)启动调试器 :选择:选择Project-Build Project,编译,编译目标工程。目标工程。 表示编译没有错误产生,可以进行下载调试;如果程序有错误,将会在Problems窗口显示,根据显示的错误修改程序,
32、并重新编译,直到无错误提示。(3)单击绿色的)单击绿色的Debug 按钮按钮 进行下载调试进行下载调试 调试窗口程序窗口控制台窗口变量、观察及寄存器窗口u编程环境编程环境IAR,CCS内容纲要内容纲要uMSP430G2553MSP430G2553单片机概述单片机概述uC C语言知识回顾语言知识回顾u编程环境编程环境IARIARuMSP430G2553MSP430G2553内部硬件资源内部硬件资源u单片机简单外围器件使用单片机简单外围器件使用系统时钟低功耗模式IO口看门狗定时计数器A转换器比较器中断系统串行通信uMSP430G2553单片机内部资源单片机内部资源系统时钟低功耗模式IO口看门狗定时
33、计数器A转换器比较器中断系统串行通信uMSP430G2553单片机内部资源单片机内部资源系统时钟系统时钟MSP430G2MSP430G2系列单片机的时钟系统需要支持系统低功耗系列单片机的时钟系统需要支持系统低功耗运行的需要。通过对三个内部时钟信号的运用,用户可运行的需要。通过对三个内部时钟信号的运用,用户可很容易的选择功耗最低,效率最高的系统时钟方案。很容易的选择功耗最低,效率最高的系统时钟方案。MSP430G2553MSP430G2553系列单片机的时钟系统,包括系列单片机的时钟系统,包括2-42-4个时钟源,个时钟源,可以为外设和可以为外设和CPUCPU提供提供3 3个系统时钟个系统时钟外
34、接晶振外接晶振32768HZ无无LFXT1CLK:外接低频或高频振荡器,如手表晶 振,频率发生器,外部时钟源(400kHz 至16MHz). XT2CLK: 外接高频晶振,范围在400kHz至 16MHz DCOCLK: 内部时钟震荡 VLOCLK: 内部低频低功耗晶振,标准频率 是12kHz n时钟源时钟源MSP430G2553而言:LFXT1不支持HF模式,无XT2,不支持ROSCACLK:辅助时钟:辅助时钟 ACLK可被软件配置成从可被软件配置成从LFXT1CLK或或VLOCLK输入震荡输入震荡ACLK可以被可以被1,2,4,8分频。分频。ACLK可以被选用作为外可以被选用作为外围模块的
35、时钟输入围模块的时钟输入。 n系统时钟系统时钟MCLK:主时钟:主时钟 主时钟可以从主时钟可以从LFXT1CLK或或VLOCLK,XT2CLK或或DCOCLK输入输入MCLK用在用在CPU系统之中。系统之中。 SMCLK:辅助主时钟:辅助主时钟 SMCLK可被选择从可被选择从LFXT1CLK,VLOCLK,XT2CLK或或DCOCLK输入。输入。SMCLK可以被可以被1,2,4,8分频。分频。SMCLK可被选用为外围模块的时钟。可被选用为外围模块的时钟。 用户可选择三种时钟信号,用户可选择三种时钟信号,ACLK,MCLK和和SMCLK。 ACLK主要使用在一些速度不高的外设,以实现低功耗主要使
36、用在一些速度不高的外设,以实现低功耗 SMCLK可从可从DCO或外部引入主要满足高速外设的使用或外部引入主要满足高速外设的使用 MCLK主要向主要向CPU提供时钟。提供时钟。 一般情况下一般情况下MCLK频率最高,频率最高,ACLK频率最低。频率最低。 n系统时钟控制寄存器系统时钟控制寄存器如何进行时钟的选择呢?如何进行时钟的选择呢?uMSP430G2553单片机内部资源单片机内部资源控制寄存器:控制寄存器: DCOCTL,BCSCTL1,BCSCTL2,BCSCTL3 通过设置控制寄存器控制寄存器就可获得相应的系统时钟uMSP430G2553单片机内部资源单片机内部资源 DCOCTL 用来控
37、制以获得用来控制以获得DCOCLKuMSP430G2553单片机内部资源单片机内部资源调制器将fDCO和fDCO+1进行混频,产生一个在fDCO和fDCO+1之间的频率。调制器在32个DCOCLK周期之内,对fDCO和fDCO+1进行混频,当MODx=0时调制器关闭。 DCOx:DCO频率选择, 这些位可以在由RSELx决定的八个离散的DCO频率中选择。 MODx:调制系数这个系数决定在32个周期中fDCO+1占多少,fDCO占多少。 BCSCTL1uMSP430G2553单片机内部资源单片机内部资源XT2OFF: 0 XT2开启 1 XT2如果不被用作MCLK和SMCLK则关闭 XTS: 0
38、 低频模式 1 高频模式 DIVAx: ACLK分频控制 00 /1 01 /2 10 /4 11 /8 RSELx: DCO频率范围选择,RSELx=0时频率最低, 当DCOR=1时RSEL3被忽略。 uMSP430G2553单片机内部资源单片机内部资源 BCSCTL2SELMx: MCLK频率选择 00 DCOCLK 01 DCOCLK 10 XT2如果出现在片上则是XT2CLK, 当XT2不出现在片上则选择 LFXT1CLK或VLOCLK 11 LFXT1CLK或VLOCLK DIVM: MCLK分频 00 /1 01 /2 10 /4 11 /8 uMSP430G2553单片机内部资源
39、单片机内部资源SELS: SMCLK频率选择频率选择 0 DCOCLK 1 片上若有片上若有XT2则选择则选择XT2CLK,若没有,若没有XT2则选择则选择 VLOCLK或或XT2 DIVSx: SMCLK的分频的分频 00 /1 01 /2 10 /4 11 /8 DCOR: DCO震荡电阻选择震荡电阻选择 0 内部电阻内部电阻 1 外部电阻外部电阻 BCSCTL3XT2Sx: XT2范围选择 00 0.41MHz晶振或振荡器 01 13MHz晶振或振荡器 10 316MHz晶振或振荡器 11 外部0.416MHz振荡器 XCAPx: 内部电容选择 00 1pF 01 6pF 10 10pF
40、 11 12.5pF XT2OF: XT2错误标示位 0 无错误 1 有错误 LFXT1OF: LFXT1错误 0 无错误 1 有错误 LFXT1Sx: 低频时钟选择和LFXT1范围选择。当XTS=0时这些位在LFXT1和VLO之选择,当XTS=1时选择LFXT1的频率范围 XTS=0时 00 LFXT1的32768Hz晶振 01 保留 10 VLOCLK(仅在MSP430F21x1中有) 11 外部数字时钟源 XTS=1时 00 0.4MHz1MHz晶振或振荡器 01 1MHz3MHz晶振或振荡器 10 316MHz晶振或振荡器 11 0.416MHz振荡器 uMSP430G2553单片机内
41、部资源单片机内部资源n系统时钟的配置步骤系统时钟的配置步骤时钟源的配置时钟源共3个, LFXT1CLK,VLOCLK, DCOCLKLFXT1CLK:需要选择其低频或是高频模式(G2553仅支持低频),需要选择其外接的震荡器或时钟源;或是选择使用的是LFXT1CLK或是VLOCLK用到的控制寄存器为: BCSCTL1的的XTS和和BCSCTL3的的LFXT1SxuMSP430G2553单片机内部资源单片机内部资源DCOCLK:需要配置是否使用外接电阻(G2553不支持),是否关闭(低功耗模式中讲解),频率范围(大),频率值(小),调制器BCSCTL1中的中的DCR和和RSELx, DCOCTL
42、中的中的DCOx和和MODxuMSP430G2553单片机内部资源单片机内部资源 为方便使用MSP4302553.h中提供了校准的DCOCLK(1M,8M,12M,16 M)#define CALDCO_16MHZ_ (0 x10F8u) /* DCOCTL Calibration Data for 16MHz */READ_ONLY DEFC( CALDCO_16MHZ , CALDCO_16MHZ_)#define CALBC1_16MHZ_ (0 x10F9u) /* BCSCTL1 Calibration Data for 16MHz */READ_ONLY DEFC( CALBC1_
43、16MHZ , CALBC1_16MHZ_)#define CALDCO_12MHZ_ (0 x10FAu) /* DCOCTL Calibration Data for 12MHz */READ_ONLY DEFC( CALDCO_12MHZ , CALDCO_12MHZ_)#define CALBC1_12MHZ_ (0 x10FBu) /* BCSCTL1 Calibration Data for 12MHz */READ_ONLY DEFC( CALBC1_12MHZ , CALBC1_12MHZ_)#define CALDCO_8MHZ_ (0 x10FCu) /* DCOCTL C
44、alibration Data for 8MHz */READ_ONLY DEFC( CALDCO_8MHZ , CALDCO_8MHZ_)#define CALBC1_8MHZ_ (0 x10FDu) /* BCSCTL1 Calibration Data for 8MHz */READ_ONLY DEFC( CALBC1_8MHZ , CALBC1_8MHZ_)#define CALDCO_1MHZ_ (0 x10FEu) /* DCOCTL Calibration Data for 1MHz */READ_ONLY DEFC( CALDCO_1MHZ , CALDCO_1MHZ_)系统时
45、钟的配置系统时钟的配置时钟源的选择:时钟源的选择: LFXT1CLK,VLOCLK, DCOCLK分频选择分频选择以MCLK为例:(1)选择时钟源 LFXT1CLK,VLOCLK, DCOCLKBCSCTL2SELMx: MCLK频率选择 00 DCOCLK 01 DCOCLK 10 XT2如果出现在片上则是XT2CLK, 当XT2不出现在片上则选择 LFXT1CLK或 VLOCLK 11 LFXT1CLK或VLOCLK 当XTS=0时这些位在LFXT1和VLO之选择,XTS=0时 (LFXT1Sx)00 LFXT1的32768Hz晶振 01 保留 10 VLOCLK(仅在MSP430F21x
46、1中有) 11 外部数字时钟源 BCSCTL32)选择分频BCSCTL2DIVM: MCLK分频 00 /1 ; 01 /2 ; 10 /4 ;11 /8 自己计算每一个系统时钟可提供的时钟值,以便编程时使用uMSP430G2553单片机内部资源单片机内部资源系统时钟低功耗模式IO口看门狗定时计数器A转换器比较器中断系统串行通信uMSP430G2553单片机内部资源单片机内部资源系统时钟低功耗模式IO口看门狗定时计数器A转换器比较器中断系统串行通信uMSP430G2553单片机内部资源单片机内部资源MSP430 低功耗模式低功耗模式MSP430 具有一种运行模式及5 种可利用软件来选择的低功耗
47、操作模式。一个中断事件能够将器件从任一低功耗模式唤醒、处理请求、并在接收到来自中断程序的返回信号时恢复至低功耗模式或被激活。uMSP430G2553单片机内部资源单片机内部资源uMSP430G2553单片机内部资源单片机内部资源uMSP430G2553单片机内部资源单片机内部资源如果如果MSP430处于低功耗工作模式,当可屏蔽中断和非可屏蔽中断处于低功耗工作模式,当可屏蔽中断和非可屏蔽中断源产生时,会唤醒源产生时,会唤醒CPU进入中断处理程序,如下的操作将由硬件来进入中断处理程序,如下的操作将由硬件来完成:完成:1)入栈保护当前)入栈保护当前PC指针寄存器。指针寄存器。2)入栈保护当前)入栈保
48、护当前SR状态寄存器。状态寄存器。3)清零)清零SR状态寄存器(置状态寄存器(置GIE = 0, 屏蔽可屏蔽中断,并结束低屏蔽可屏蔽中断,并结束低功耗模式,功耗模式,CPU切换到切换到Active模式)。模式)。4)从中断向量表中取出中断向量到)从中断向量表中取出中断向量到PC指针寄存器。指针寄存器。5)跳转到中断服务程序开始执行。)跳转到中断服务程序开始执行。6)中断执行完毕后执行)中断执行完毕后执行RETI返回指令。返回指令。7)出栈恢复)出栈恢复SR状态寄存器和状态寄存器和PC指针寄存器的值。指针寄存器的值。8)CPU恢复到原来的低功耗模式。恢复到原来的低功耗模式。注意:如果在注意:如果
49、在CPU返回原先低功耗模式时改变低功耗的模式,需返回原先低功耗模式时改变低功耗的模式,需要在中断处理程序中修改堆栈中的要在中断处理程序中修改堆栈中的SR控制位的值。控制位的值。uMSP430G2553单片机内部资源单片机内部资源系统时钟低功耗模式IO口看门狗定时计数器A转换器比较器中断系统串行通信uMSP430G2553单片机内部资源单片机内部资源系统时钟低功耗模式IO口看门狗定时计数器A转换器比较器中断系统串行通信输入输出口(输入输出口(IO口)口)uMSP430G2553单片机内部资源单片机内部资源本单片机对应的IO共16个口,P1.0P1.7;P2.0P2.7 既可以是通用的IO口,也可
50、以是复用功能。 引脚功能说明uMSP430G2553单片机内部资源单片机内部资源uMSP430G2553单片机内部资源单片机内部资源引脚功能说明IO口的寄存器有:方向选择寄存器PxDIR,输出寄存器PxOUT,输入寄存器PxIN,IO口内部上拉或下拉电阻使能寄存器PxREN, IO口功能选择寄存器PxSEL和PxSEL2,IO口中断使能寄存器PxIE,中断沿选择寄存器PxIES,IO口中断标志寄存器PxIFG。 PxDIR寄存器用于设置每一位的寄存器用于设置每一位的IO口方向口方向 :0=输入输入 1=输出。输出。PxDIR寄存器在复位的过程中会被清零,没有被设置的寄存器在复位的过程中会被清零
51、,没有被设置的IO口口方向均为输入状态。注意,将未用的方向均为输入状态。注意,将未用的IO口置为输出可减小漏口置为输出可减小漏电流。电流。 对于所有已经设成输出的对于所有已经设成输出的IO口可通过口可通过PxOUT寄存器设置其输寄存器设置其输出电平;出电平;对于所有已经被设成输入的对于所有已经被设成输入的IO口,可通过口,可通过PxIN寄存器读回其寄存器读回其输入电平。输入电平。 PxREN寄存器用于设置是否使用上拉电阻,寄存器用于设置是否使用上拉电阻,1为使能,此时与为使能,此时与PxOUT联合设置是上拉还是下拉联合设置是上拉还是下拉 1为上拉,为上拉,0为下拉为下拉uMSP430G2553
52、单片机内部资源单片机内部资源PxSEL寄存器用于设置通用寄存器用于设置通用IO口或是复用功能,口或是复用功能, 0=普通普通IO口,口, 1=第二功能第二功能 ;并与;并与PxSEL2一起对第二功能进行选择设置一起对第二功能进行选择设置uMSP430G2553单片机内部资源单片机内部资源uMSP430G2553单片机内部资源单片机内部资源uMSP430G2553单片机内部资源单片机内部资源uMSP430G2553单片机内部资源单片机内部资源uMSP430G2553单片机内部资源单片机内部资源IO口中断:口中断:IO口中断使能寄存器PxIE,中断沿选择寄存器PxIES,IO口中断标志寄存器PxI
53、FG。P1口、P2口总共16个IO口均能引发中断。 PxIE用于设置每一位IO口的中断允许:0=不允许 1=允许 PxIES用于选择每一个IO口的中断触发沿:0=上升沿 1=下降沿 在使用IO口中断之前,需要先将IO口设置为输入状态,并允许该位IO中断,再通过PxIES寄存器选择上升沿触发还是下降沿触发。 uMSP430G2553单片机内部资源单片机内部资源PxIFG是IO口中断标志寄存器:0=中断标志不成立,1=中断条件曾经成立;无论中断是否被允许,也无论是否可以执行中断服务程序,只要对应IO口满足中断条件,PxIFG中相应位都会立即置1并保持,只能通过软件人工清除。在MSP430系列单片机
54、中,P1口和P2口的8个中断各共用了一个中断入口,因此该寄存器另一重要作用在于判断是哪一位IO产生了中断。 uMSP430G2553单片机内部资源单片机内部资源注意,在退出中断前,一定要人工清除中断标志,否则该中断会注意,在退出中断前,一定要人工清除中断标志,否则该中断会不停被执行。不停被执行。类似的原理,类似的原理,即使即使IO口没有出现中断条件,人工向口没有出现中断条件,人工向PxIFG寄存器寄存器写写“1”,也会引发中断,也会引发中断。更改中断沿选择寄存器也相当于跳变,也会引发中断。所以,更更改中断沿选择寄存器也相当于跳变,也会引发中断。所以,更改改PxIES寄存器应该在关闭中断后进行,
55、并且在打开中断后及时清寄存器应该在关闭中断后进行,并且在打开中断后及时清除中断标示位。除中断标示位。 uMSP430G2553单片机内部资源单片机内部资源编程实例: 使LaunchPad上的LED灯闪烁#include msp430g2553.hvoid main() WDTCTL = WDTPW + WDTHOLD; BCSCTL2=DIVM_2+ SELM_1; DCOCTL=CALDCO_16MHZ; BCSCTL1|=CALBC1_16MHZ; P1DIR|=BIT6; P1SEL=0 x00; P1OUT=0 x00; while(1) P1OUT|=BIT6; _delay_cyc
56、les(10000); P1OUT&=BIT6; _delay_cycles(10000); 系统时钟低功耗模式IO口定时计数器看门狗A转换器比较器中断系统串行通信uMSP430G2553单片机内部资源单片机内部资源系统时钟低功耗模式IO口定时计数器定时计数器看门狗看门狗A转换器比较器中断系统串行通信uMSP430G2553单片机内部资源单片机内部资源定时定时/计数器计数器带有一个16位定时/计数器TIMER_A,用以精确定时或计数。在普通计数器的基础上还添加了3路捕获比较模块,能够在无需CPU的干预的情况下自动根据触发条件捕获定时器的计数值或自动产生输出波形。 功能有:定时功能有:定
57、时/计数(计数(1个),比较个),比较/捕获(捕获(3个)个)uMSP430G2553单片机内部资源单片机内部资源定时定时/计数器部分:输入的时钟源具有计数器部分:输入的时钟源具有4种选择,所选定的时种选择,所选定的时钟源又可以钟源又可以1、2、4或或8分频作为计数频率,分频作为计数频率,Timer_A可可以通过选择以通过选择4种工作模式灵活的完成定时种工作模式灵活的完成定时/计数功能计数功能 捕获捕获/比较器:用于捕获事件发生的时间或产生时间间隔,比较器:用于捕获事件发生的时间或产生时间间隔,捕获比较功能的引入主要是为了提高捕获比较功能的引入主要是为了提高I/O 端口处理事务端口处理事务的能
58、力和速度。每个捕获的能力和速度。每个捕获/比较器的结构完全相同,输入和输比较器的结构完全相同,输入和输出都决定于各自所带的控制寄存器的控制字,捕获出都决定于各自所带的控制寄存器的控制字,捕获/比较器相比较器相互之间工作完全独立。互之间工作完全独立。 输出单元:具有可选的输出单元:具有可选的8种输出模式,用于产生用户需种输出模式,用于产生用户需要的输出信号。支持要的输出信号。支持PWMuMSP430G2553单片机内部资源单片机内部资源全部关于定时器及其操作的控制位都包含在TACTL中TAR :16位计数器该单元就是执行计数的单元,是计数器的主体TACCTLx:捕获/比较模块的控制字TACCRx
59、 :捕获/比较寄存器,在捕获/比较模块中,可读可写。TAIV:保存中断向量uMSP430G2553单片机内部资源单片机内部资源1、定时、定时/计数工作模式计数工作模式时钟源选择,分频选择,初始值设定,计数模式全部关于定时器及其操作的控制位都包含在TACTL中uMSP430G2553单片机内部资源单片机内部资源若选择若选择TACLK作为,定时器实际上成为计数器,累积从作为,定时器实际上成为计数器,累积从TACLK管脚上输入的脉冲,上升沿计数。管脚上输入的脉冲,上升沿计数。若选择若选择TACLK取反作为时钟源,取反作为时钟源,TACLK的下降沿计数。的下降沿计数。 uMSP430G2553单片机内
60、部资源单片机内部资源停止模式:停止模式: 用于定时器暂停,并不发生复位,所有寄用于定时器暂停,并不发生复位,所有寄存器现行的内容在停止模式结束后都可用。当定时器存器现行的内容在停止模式结束后都可用。当定时器暂停后重新计数时,计数器将从暂停时的值开始以暂暂停后重新计数时,计数器将从暂停时的值开始以暂停前的计数方向计数。停前的计数方向计数。例如,停止模式前,例如,停止模式前,Timer_A工作于增工作于增/减计数模式并且处于减计数模式并且处于下降计数方向,停止模式后,下降计数方向,停止模式后,Timer_仍然工作于增仍然工作于增/减计数模减计数模式,从暂停前的状态开始继续沿着下降方向开始计数。式,从暂停前的状态开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人终止劳动协议
- 难治性伤口病因介绍
- 药物滥用性头痛病因介绍
- 7.1《反对党八股(节选)》【中职专用】高一语文(高教版2023基础模块上册)
- 七年级政治知识让人生更美丽2省公开课一等奖全国示范课微课
- 2024-2025学年人教版八年级英语上学期期末真题 专题07 阅读理解(说明文)(安徽专用)
- 2022-2023学年天津四十七中高三(上)期末语文试卷
- 电子装接实36课件讲解
- 2023年旋涡式鼓风机项目融资计划书
- 2023年公路养护项目融资计划书
- T∕CCOA 24-2020 棕榈仁饼(粕)
- 清水饰面混凝土施工工法
- 聚乙烯天然气管道施工技术交底(完整版)
- 道德讲堂制度上墙资料
- 北航飞行力学理论与应用课程大作业第组
- 部编版语文六年级下册16 《表里的生物》阅读专项训练题
- 真空过滤机滤布褶皱问题
- 浑南房地产场发展历程
- 维修电工基础知识课件.ppt
- 工程结算单(样本)
- 日常物业管理服务流程图
评论
0/150
提交评论