MSP430考试复习内容word文档良心出品.docx
《MSP430考试复习内容word文档良心出品.docx》由会员分享,可在线阅读,更多相关《MSP430考试复习内容word文档良心出品.docx(16页珍藏版)》请在冰豆网上搜索。
MSP430考试复习内容word文档良心出品
复习提纲:
1、MSP430系列单片机的最显著的特点?
如何保证这些特点?
最显著的特点:
超低功耗(其他特点:
强大的处理能力,高性能模拟技术及丰富的片上外设,系统工作稳定,高效灵活的开发环境)
保证:
1•工作电压稳定,电流小2.MSP430单片机具有灵活的时钟系统3.MSP430单片机采
用向量中断
2、RISC和CISC体系结构,MSP430是哪种?
CISC是复杂指令集CPU内部为将较复杂的指令译码,也就是指令较长,分成几个微指令去执行,正是如此开发程序比较容易(指令多的缘故),但是由于指令复杂,执行工作效率较
差,处理数据速度较慢
RISC是精简指令集CPU,指令位数较短,内部还有快速处理指令的电路,使得指令的译码与数据的处理较快,所以执行效率比CISC高,不过,必须经过编译程序的处理,才能发挥
它的效率
3、冯诺依曼结构与哈佛结构,MSP430是哪种?
MSP430是冯诺依曼结构
4、MSP430的CPU和CPUX的区别,主要是在寄存器方面的,存储器寻址范围;
MSP430单片机的CPU采用16位精简指令系统RISC,内部集成有程序计数器、堆栈指针、状态寄存器、常数发生器和通用寄存器等。
与以往的MSP430系列单片机不同,
MSP430F5xx/6xx系列单片机采用了MSP430扩展型的CPU(CPUX),寻址总线从16位扩展到20位,最大寻址可达1MB。
5、SR寄存器中每一位定义都要知道,特别是4个和工作方式相关的位,及GIE位
秋态寄存器SR含育CPU的各扶态位:
•V:
■SCSOli
■SCOO-
■OsicOffz
•ORLJOff-
•GIE:
溢出位Q
系统H寸钟发生器控制仪Io系统日寸钟发主器摂制位Oo品振关河位。
CPLJ关闭位口
通用中破允i午位°
•
•N雷
•c:
员数位a
位<^口
6、中断的基本概念(如中断定义、中断源、中断优先级、断点和中断现场);
MSP430单片机包含3类中断源:
系统复位中断源、不可屏蔽中断源和可屏蔽中断源。
中断嵌套:
由中断响应过程可知,当进入中断入口后,
MSP430单片机会自动清除
总中断允许标志位GIE,也就是说,MSP430单片机的中断默认是不能发生嵌套的。
中断向量表:
中断向量是指中断服务程序的入口地址,每个中断向量被分配给4个连续的字节单元(两个16位存储空间)32位;
MSP430单片机的中断向量表被安排在个32位,具有最大64个中断源。
OFFFFH〜0FF80H空间(128个16位存储空间)64
利用P1.7口外部中断,在低功耗模式下,实现对
#include
voidmain(void)
{
WDTCTL=WDTPW+WDTHOLD;
P1DIR|=BIT0;
P1REN|=BIT7;
P1OUT|=BIT7;
P1IES|=BIT7;
P1IFG&=~BIT7;
P1IE|=BIT7;
__bis_SR_register(LPM4_bits+GIE);
}
//P1口中断服务程序
#pragmavector=PORT1_VECTOR
__interruptvoidPort_1(void)
{
P1OUTA=BIT0;
P1IFG&=~BIT7;
}
利用定时器中断,在低功耗模式0下,实
#includevoidmain(void)
{
WDTCTL=WDTPW+WDTHOLD;
P1DIR|=0x01;
TA0CCTL0=CCIE;
TA0CCR0=50000;
TA0CTL=TASSEL_2+MC_1+TACLR;
__bis_SR_register(LPM0_bits+GIE);
}
//定时器A中断服务程序
#pragmavector=TIMER0_A0_VECTOR
__interruptvoidTIMER0_A0_ISR(void)
{
P1OUTA=0x01;
LED灯亮灭的控制。
//关闭看门狗定时器
//设置P1.0为输出
//以上两句启用P1.7口上拉电阻
//P1.7口下降沿触发中断
//清除P1.7口中断标志位
//P1.7口中断使能
//进入低功耗模式4且启用可屏蔽中断
II反转P1.0口状态
//清除P1.7口中断标志位
LED亮灭的控制。
IICCR0中断使能
IISMCLK,增计数模式,清除TAR
II进入低功耗模式0,使能中断
II反转P1.0口状态
7、系统复位
MSP430F6638的复位信号有3种:
1、掉电复位信号(BOR)
2、上电复位信号(POR)
3、上电清除信号(PUC)。
每个复位信号将产生不同的系统初始状态
8、时钟系统
(1)5个时钟来源时钟系统模块具有5个时钟来源。
1XT1CLK:
低频/高频振荡器,可以使用32768Hz的手表晶振、标准晶体、谐振器或4〜32MHz的外部时钟源;
2VLOCLK:
内部超低功耗低频振荡器,典型频率12kHz;
3REFOCLK:
内部调整低频参考振荡器,典型值为32768Hz;
4DCOCLK:
内部数字时钟振荡器,可由FLL稳定后得到;
5XT2CLK:
高频振荡器,可以是标准晶振、谐振器或4〜32MHz的外部时钟源。
(2)3个时钟信号
时钟系统模块可以产生3个时钟信号供CPU和外设使用。
1ACLK:
辅助时钟。
ACLK主要用于低速外设。
2MCLK:
主时钟。
MCLK专门供CPU使用,MCLK配置得越高,CPU的执行速度就越快,功耗就越高。
一旦关闭MCLK,CPU也将停止工作,因此在超低功耗系统中可以通过间歇启用MCLK的方法降低系统功耗。
3SMCLK:
子系统时钟。
SMCLK主要用于高速外设。
9、时钟模块失效检测
MSP430单片机的时钟模块包含检测XT1、XT2和DCO振荡器故障失效的功能。
10、MSP430系列单片机各种工作模式
MSP430单片机通过软件控制时钟系统可以使其工作在多种模式下,
包括1种活动模式和7种低功耗模式。
MSP430单片机具有3种时钟信号:
辅助时钟ACLK、子系统时钟SMCLK、主系统时钟
MCLK。
MSP430单片机能够实现低功耗的根本原因是在不同的低功耗模式下关闭不同的系统时钟,关闭的系统时钟越多休眠模式越深。
具体是通过CPU状态寄存器SR中的SCG1、
SCG2、OSCOFF和CPUOFF这4个控制位的配置来关闭系统时钟。
通过配置这些控制位,可使MSP430单片机从活动模式进入到相应的低功耗模式。
再通过中断方式从各种低功耗模式回到活动模式。
11、MSP430系列单片机I/O端口端口P1、P2、P3和P4具有输入/输出、中断和外部模块功能,可以通过设置它们各自的9个控制寄存器来实现这些功能。
熟练掌握设置9个控制寄存器的方法。
下面所述Px代表P1、P2、P3和P4。
1.输入寄存器PxIN
2.输出寄存器PxOUT
3.方向寄存器PxDIR
4.上拉/下拉电阻使能寄存器PxREN5.输出驱动能力调节寄存器PxDS
6.功能选择寄存器PxSEL
7.中断使能寄存器PxIE
8.中断触发边沿选择寄存器PxIES9.中断标志寄存器PxIFG
12、MSP430系列单片机I/O端口操作举例(以P4.1为例)
P4DIR|=BIT1;//P4.1设置为输出方式
P2DIR&=BIT2;//P4.1设置为输出方式
P40UTA=BIT1〃异或P4.1,实现I/O输出01翻转
需要注意的是,P1、P2、P3和P4端口的中断为多源中断,即P1端口的8位共用一个中断
向量P1IV,P2端口的8位也共用一个中断向量P2IV,其它一样。
当Px端口上的8个引脚中
的任何一个引脚有中断触发时,都会进入同一个中断服务程序。
在中断服务程序中,首先应该通过PxIFG判断是哪一个引脚触发的中断,再执行相应的程序,最后还要用软件清除相应的PxIFG标志位。
#pragmavector=PORT1_VECTOR//P1口中断源
__interruptvoidPort_1(void)//声明一个中断服务程序,名为Port_1()
{
1看门狗定时器:
基本定时,当程序发生错误时执行一个受控的系统重启动。
2定时器A:
基本定时,支持软件和各种外围模块工作在低频率、低功耗条件下。
3定时器B:
基本定时,功能基本同定时器A,但比定时器A灵活,功能更强大。
4*实时时钟:
基本定时,日历功能。
15、看门狗定时器的作用在工业控制现场,往往会由于供电电源、空间电磁干扰或其他的原因引起强烈的干扰噪声。
这些干扰作用于数字器件,极易使其产生误动作,引起单片机程序跑飞,若不进行有效的处理,程序就不能回到正常的运行状态。
为了保证系统的正常工作,一方面要尽量减少干扰源对系统的影响;另一方面,在系统受到影响之后要能尽快地恢复,看门狗就起到了这个作用。
16、看门狗定时器的用法
在正常工作期间,一次看门狗定时时间将产生一次系统复位。
如果通过编程使看门狗定时时
间稍大于程序中主循环执行一遍所用的时间,并且程序执行过程中都有对看门狗定时器清零
的指令,使计数值重新计数,程序正常运行时,就会在看门狗定时时间到达之前对看门狗清零,不会产生看门狗溢出。
如果由于干扰使程序跑飞,则不会在看门狗定时时间到达之前执
行看门狗清零指令,看门狗就会产生溢出,从而产生系统复位,使CPU重新运行用户程序,这样程序就又可以恢复正常运行。
17、看门狗定时器具有看门狗模式、定时计数模式;
18、定时器A(Timer_A)共有4种工作模式:
停止模式、增计数模式、连续计数模式和增/减计数模式
Timer_A工作模式
描述
停止模式
TimerA停止
增计数模式
TimerA从0到TAxCCR0重复计数
连续计数模式
Timer_A从0到0FFFFh重复计数
增/减计数模式
Timer_A从0增计数到TAxCCR0之后减计数到
0,循环往复
19、捕获/比较模块
7个可配置的捕获/比较寄存器
捕获模式:
捕获模式被用于捕获事件发生的时间。
捕获输入CCIxA和CCIxB可连接外部引脚或内部信
号,这需通过CCIS控制位进行配置。
可通过CM控制位将捕获输入信号触发沿配置为上升沿触发、下降沿触发或两者都触发。
比较模式:
每个捕获/比较模块都包含一个输出单元,用于产生输出信号,例如PWM信号等。
每个输
出单元都有8种工作模式,
20、比较器B可进行如下模拟电压信号的比较:
丸两个外部输入电压信号的比较;
■每个外部输入电压信号与内部基准电压的比较
21、参考电压发生器的原理
ADC12模块中由以下部分组成:
输入的16路模拟开关,ADC内部电压参考源,ADC12内核,ADC时钟源部分,采集与保持/触发源部分,ADC数据输出部分,ADC控制寄存器等组成。
ADC12的模块内核是共用的,通过前端的模拟开关来分别完成采集输入。
ADC12是一个精
度为12位的ADC内核,1位非线性微粉误差,1位非线性积分误差。
内核在转换时会参用到两个参考基准电压,一个是参考相对的最大输入最大值,当模拟开关开关输出的模拟量大
于或等于最大值时ADC内核的输出数字量为满量程,也就是Oxfff;另一个则是最小值,当模拟开关输出的模拟变量小于或等于最大值时,ADC内核输出的数字量为最低值,也就
是0x00。
22、A/D、D/A的基本概念
1•模数转换基本过程
2、ADC的位数
3•分辨率
4•量化误差
5•采样周期
6.采样频率
7•采样保持电路
&多通道同步采样和分时复用
23、MSP430F6XXX只有一个ADC内核
24、可以对16路模拟信号进行转换:
包括:
12路可单独配置的外部输入通道
4路内部输入通道(包括一路芯片内部温度传感器);
每一路对应一个转换结果存储寄存器(共16个);
25、ADC可以调整转换结果的分辨率(8位、10位和12位);
为什么要调整,因为位数越少,转换速度越快;位数越多,转换速度越慢。
26、ADC12的4种工作模式:
单通道单次的转换模式;
单通道多次的转换模式;
序列通道单次的转换模式;
序列通道多次的转换模式;
27、MSP430中的12位DAC模块(DAC12)输出的信号是电压。
28、MSP430F6638单片机具有两个DAC12模块,它们可以组合在一起使用,
并且可以输出同步更新
29、通用串行通信接口(USCI)模块支持多种串行通信模式,主要包括:
UART通信模式;
SPI通信模式;
I2C通信模式;
30、异步串行通信(UART)的特点如下:
•传输7位或8位数据,可采用奇校验、偶校验或者无校验;
-具有独立的发送和接收移位寄存器;
-具有独立的发送和接收缓冲寄存器;
-支持最低位优先或最高位优先的数据发送和接收方式;
-可编程实现分频因子为整数或小数的波特率;
-具有用于检测错误或排除错误的状态标志位;
-具有独立的发送和接收中断能力。
31、异步通信的两个主要内容:
(1)字符格式(又称帧格式)
如图7.1.2所示,异步通信字符格式由5个部分组成:
一个起始位、7位或8位数据位、个奇/偶/无校验位、一个地址位和一个或两个停止位。
其中,用户可以通过软件设置数据位、
停止位的位数,还可以设置奇偶校验位的有无。
通过选择时钟源和波特率寄存器的数据来确
定传输速率。
UCMSB控制位用来设置传输的方向和选择最低位还是最高位先发送。
一般情况下,对于UART通信选择先发送最低位。
[第8位数ffifi.UC7BIT=0]
(2)波特率(bps.):
单位时间传送的位数
需选择一波特率作为发送(/接收)数据的时序,交互双方的波特率必须一致。
32、CCS软件的功能和使用。
具有编辑功能、编译功能和下载调试功能
1、一个发光二极管(LED)亮6秒,停止10秒后,重复。
LED选择P4.4、P4.5、P4.6控制的三个LED中的一个。
代码:
{
WDTCTL=WDTPW+WDTHOLD;P4DIR|=BIT4;
TA0CCTL0=CCIE;
#includevoidmain(void)
//关闭看门(这行代码要死记,往死里记)//控制LED输出
//比较器中断使能
TA0CCR0=50000;//比较值设为50000,相当于50ms的时间间隔
TA0CTL=TASSEL_2+MC_1+TACLR;//时钟为SMCLK,增计数模式,比较模式,
开始时清零计数
}
1、导入参考实验1.2,使led灯实现闪烁效果。
代码;
#includevoidmain(void)
{
volatileunsignedinti;
本实验使用了MSP430F6638中的看门狗定时器模块,运用看门狗定时中断功能实现了对
P4.5的定时亮灭控制代码:
#include
voidmain(void)
{
WDTCTL=WDT_ADLY_1000;//#defineWDT_ADLY_1000
(WDTPW+WDTTMSEL+WDTCNTCL+WDTIS2+WDTSSEL0)
//时钟为ACLK,模式为内部时钟。
SFRIE1|=WDTIE;//开启看门狗中断
P4DIR|=BIT6;
__bis_SR_register(LPM0_bits+GIE);//进入低功耗,开启总中断}
#pragmavector=WDT_VECT0R//中断前必须加这行代码,#pragmavector=XXX_VECTOR(XXX为对应中断源)
__interruptvoidWDT_ISR(void)
{
P40UTA=BIT6;//P4.5口取反
}
实现中断方式控制led灯亮灭效果。
#include"msp430f6638.h"unsignedcharflag;
voidmain(void)
{
//StopWDT
//P4.4,P4.5,P4.6setasoutput
//setledoff
//enableP2.6interrupt
//cleaninterruptflag
//enableinterrupt
WDTCTL=WDTPW+WDTH0LD;
P4DIR&=~(BIT2);
P4DIR|=BIT4+BIT5+BIT6;
P40UT&=~(BIT4+BIT5+BIT6);
P2IE|=BIT6;
P2IFG&=~(BIT6);
__enable_interrupt();
while
(1)
{
if((P4IN&0x04)==0)
{P2IFG|=BIT6;}
else
{P2IFG&=~BIT6;}
}
}
XXX
#pragmavector=PORT2_VECTOR//中断前必须加这行代码,#pragmavector=XXX_VECTOR为对应中断源)
__interruptvoidport_2(void)
{
//setledon
//cleaninterruptflag
P40UTa=(BIT4+BIT5+BIT6);
P2IFG&=~BIT6;
}