msp430 TIMER实验报告.docx
- 文档编号:481200
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:14
- 大小:689.21KB
msp430 TIMER实验报告.docx
《msp430 TIMER实验报告.docx》由会员分享,可在线阅读,更多相关《msp430 TIMER实验报告.docx(14页珍藏版)》请在冰豆网上搜索。
msp430TIMER实验报告
Msp430系列单片机的定时器实验
1.看门狗定时器(WDT)
1.1实验介绍
计数单元WDTCNT:
不能直接通过软件存取,必须通过WDTCTL来控制。
控制寄存器WDTCTL高8位为口令:
写5AH,读69H低8位为WDT操作的控制命令
HOLD:
停止看门狗定时器工作。
0:
激活;1:
停止
WDTSSEL:
时钟源选择
TMSEL:
工作模式选择。
0:
看门狗;1:
定时
CNTCL:
该位为1时,WDTCNT清除
IS2、IS1、IS0:
选择看门狗定时器的定时长度
1.2实验目的
学会使用看门狗定时器(WDT)。
熟悉WDT相关寄存器
1.3实验原理
1.4实验步骤
(1)将PC和板载仿真器通过USB线相连;
(2)打开CCS集成开发工具,选择Project->ImportExistingCCSEclipseProject,导入
MSP430F6638_DemoV2.0\11.WTD文件夹中的工程;
(3)选择
对该工程进行编译链接,生成.out文件。
然后选择
,将程序下载
到实验板中。
程序下载完毕之后,可以选择
全速运行程序,也可以选择
单步调试程序,选择F3查看具体函数。
也可以程序下载之后,按下
,软件界面恢复到原编辑程序的画面。
再按下实验板的复位键,运行程序。
(调试方式下的全速运行和直接上电运行程序在时序有少许差别,建议上电运行程序)。
1.5实验现象
实验板上对应的LED灯以一定周期闪烁。
1.6关键代码
实验一:
#include
voidmain(void)
{
volatileunsignedinti;
volatileunsignedintcount=0;
WDTCTL=WDTPW+WDTHOLD;//StopWDT
P4DIR|=BIT1+BIT2+BIT3;//P4.1,P4.2,P4.3setasoutput
P4OUT&=~(BIT1+BIT2+BIT3);//P4.1,P4.2,P4.3set"0"
for(i=0;i<60000;i++);//延时大约60ms
P4OUT|=(BIT1+BIT2+BIT3);//P4.1,P4.2,P4.3set"1"
for(i=0;i<60000;i++);//延时大约60ms
WDTCTL=WDTPW+WDTIS_4;//启动看门狗
while
(1);//continuousloop
}
实验二:
#include
voidmain(void)
{
volatileunsignedinti;
volatileunsignedintcount=0;
WDTCTL=WDTPW+(WDTCTL&0xff)+WDTHOLD;//StopWDT
P4DIR|=BIT1+BIT2+BIT3;//P4.1,P4.2,P4.3setasoutput
P4OUT&=~(BIT1+BIT2+BIT3);//P4.1,P4.2,P4.3set"0"
for(i=0;i<60000;i++);//延时大约60ms
P4OUT|=(BIT1+BIT2+BIT3);//P4.1,P4.2,P4.3set"1"
for(i=0;i<60000;i++);//延时大约60ms
WDTCTL=WDTPW+(WDTCTL&0xff)-WDTHOLD;//启动看门狗
while
(1)
{
//WDTCTL=WDTPW+WDTCTL&0xff+WDTCNTCL;//计数器清零
};
分析:
实验一与实验二结果相同,只不过在每个周期结束启动看门狗定时器时修改的寄存器参数不同。
如果把实验二循环中的语句去掉,则有可能使输出的信号周期不稳定。
通过改变循环语句中的循环次数可以改变输出信号的频率。
2.Timer_A的时钟源和计数模式实验
2.1实验介绍
MSP430系列有丰富定时器资源:
看门狗定时器(WDT),基本定时器(Basictimer1),定时器A(Timer_A),定时器B(Timer_B)等。
器件因系列不同可能包含这些模块的全部或者部分。
这些模块除了具有定时功能外,各自还有一些特定功能。
在应用中根据需求选择多种定时器模块。
本实验以定时A(Timer_A)为基础。
在MSP430F6638中,例化了3个定时器A(Timer_A),1个定时器B(Timer_B)。
2.3实验原理
Timer_A的时钟源:
Timer_A的计数模式:
2.4实验步骤
(1)将PC和板载仿真器通过USB线相连;
(2)打开CCS集成开发工具,选择Project->ImportExistingCCSEclipseProject,导入
MSP430F6638_DemoV2.0\11.Timer_A1文件夹中的工程;
(3)选择
对该工程进行编译链接,生成.out文件。
然后选择
,将程序下载
到实验板中。
程序下载完毕之后,可以选择
全速运行程序,也可以选择
单步调试程序,选择F3查看具体函数。
也可以程序下载之后,按下
,软件界面恢复到原编辑程序的画面。
再按下实验板的复位键,运行程序。
(调试方式下的全速运行和直接上电运行程序在时序有少许差别,建议上电运行程序)。
2.5实验现象
对应的LED灯以一定频率和占空比闪烁。
2.6关键代码
#include
voidmain(void)
{
WDTCTL=WDTPW+WDTHOLD;//StopWDT
while(BAKCTL&LOCKIO)//UnlockXT1pinsforoperation
BAKCTL&=~(LOCKIO);
UCSCTL6&=~(XT1OFF);//XT1On
UCSCTL6|=XCAP_3;//Internalloadcap
//LoopuntilXT1faultflagiscleared
do
{
UCSCTL7&=~(XT2OFFG+XT1LFOFFG+DCOFFG);
//ClearXT2,XT1,DCOfaultflags
SFRIFG1&=~OFIFG;//Clearfaultflags
}while(SFRIFG1&OFIFG);//Testoscillatorfaultflag
P4DIR|=BIT1+BIT2+BIT3;
TA0CTL=TASSEL_1+MC_2+TACLR+TAIE;//ACLK,continuemode,clearTAR
//enableinterrupt
__bis_SR_register(LPM3_bits+GIE);//EnterLPM3,enableinterrupts
__no_operation();//Fordebugger
}
//Timer0_A5InterruptVector(TAIV)handler
#pragmavector=TIMER0_A1_VECTOR
__interruptvoidTIMER0_A1_ISR(void)
{
switch(__even_in_range(TA0IV,14))
{
case0:
break;//Nointerrupt
case2:
break;//CCR1notused
case4:
break;//CCR2notused
case6:
break;//reserved
case8:
break;//reserved
case10:
break;//reserved
case12:
break;//reserved
case14:
P4OUT^=BIT1+BIT2+BIT3;//overflow
break;
default:
break;
}
}
2.7思考题
(1)Timer_A的捕获比较功能是如何实现的?
答:
在连续计数模式下,当计数器计数到0xffff时,会产生一个中断,即可以实现定时功能。
在增计数模式下,计数器计数到CCR0时,计数器自动清零,且产生一个中断,即可实现捕获比较功能。
(2)如何修改LED灯闪烁的频率?
答:
只需将MC_2改为MC_1,再修改TA0CCR0的值即可。
(3)MSP430F6638有哪些定时器资源?
答:
看门狗定时器(WDT),基本定时器(Basictimer1),定时器A(Timer_A),定时器B(Timer_B)等。
Timer0_A5、Timer1_A3、Timer2_A3、Timer0_B7
(4)基本定时器是否可以定时任意的时间?
答:
不可以,因为当计数器从0计数到0FFFFH到之后,发生溢出中断,CCR0的值不可以超过0xffffh
(5)MSP430系列单片机中实现定时和计数的方法有什么,每种方法的特点是什么?
答:
MC_0:
停止计数。
MC_1:
递增计数,计数器从0计数到TAxCCR0。
MC_2:
连续计数,计数器从0计数到0xffffh。
MC_3:
计数器从0计数到TAxCCR0,然后再递减计数到0。
3.Timer_A的PWM实验
3.1实验介绍
实验程序产生两路PWM波形输出。
CCR0中的值定义了PWM信号的周期,CCR1,
CCR2中的值定义了PWM信号的占空比。
定时器使用32KHz的ACLK作为输入时钟源。
时钟周期为:
15.6ms。
P1.2上的占空比为75%,P1.3上的占空比为25%。
3.2实验目的
(1)了解PWM技术;
(2)掌握PWM控制技术的原理;
(3)掌握MSP430F6638产生PWM输出的方法;
(4)掌握示波器测量频率的方法。
3.3实验原理
PWM技术的三个要素:
(1)Frequency时钟频率
(2)Dutycycle占空比
(3)Amplitude信号幅度
3.4实验步骤
(1)将PC和板载仿真器通过USB线相连;
(2)打开CCS集成开发工具,选择Project->ImportExistingCCSEclipseProject,导入
MSP430F6638_DemoV2.0\11.Timer_A2文件夹中的工程;
(3)选择
对该工程进行编译链接,生成.out文件。
然后选择
,将程序下载
到实验板中。
程序下载完毕之后,可以选择
全速运行程序,也可以选择
单步调试程序,选择F3查看具体函数。
也可以程序下载之后,按下
,软件界面恢复到原编辑程序的画面。
再按下实验板的复位键,运行程序。
(调试方式下的全速运行和直接上电运行程序在时序有少许差别,建议上电运行程序)。
3.5实验现象
将示波器的两个探头连接到MCU的P1.2和P1.3上,调整好示波器,会观察到如下类
似波形。
3.6关键代码
#include
voidmain(void)
{
WDTCTL=WDTP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- msp430 TIMER实验报告 TIMER 实验 报告