历史上的今天
今天是:2025年01月30日(星期四)
2018年01月30日 | MSP430单片机16 位定时器Timer_A 操作
2018-01-30 来源:eefocus
/**********(一)定时器A 比较模式*************/
int main( void )
{
WDTCTL=WDTPW+WDTHOLD; //关看门狗
BCSCTL1 =CALBC1_1MHz; //设定DCO 为1MHZ
DCOCTL =CALBC1_1MHZ;
P1DIR |=BIT0; //LED 使能
TACTL=TASSEL1+TACLR; //定时器A 时钟源为SMCLK,并清TAR
CCTL0 |=CCIE; //CCR0 中断使能
CCR0 =50000; //计数值为50000 个SMCLK 周期
TACTL |=MC1; //启动定时器A 为连续计数模式
_BIS_SR(GIE+CPUOFF);
return 0;
}
#pragma vector = TIMERA0_VECTOR //ccr0 中断服务
__interrupt void ta0_isr(void)
{
P1OUT ^=BIT0; //LED 翻转
CCR0 +=50000; //定时补偿
}
/**********(二)定时器A 捕获模式************/
volatile unsigned int cap_value; //存两次捕值之差
int main( void )
{
volatile unsigned int first_value,second_value,n;
WDTCTL=WDTPW+WDTHOLD; //关看门狗
BCSCTL1 =CALBC1_8MHZ; //设定DCO 为1MHZ
DCOCTL =CALBC1_8MHZ;
BCSCTL1 |=DIVA_3; //ACLK 输入八分频
do //等待晶振稳定
{
IFG1 &=~OFIFG;
for(n=5000;n>0;n--);
} while(OFIFG&IFG1);
TACCTL2=CM1+CCIS_1+CAP; //捕获模式,捕获上升沿,捕获内部ACLK
TACTL=TASSEL_2+MC_2+TACLR; //定时器时钟源为SMCLK,启动连续计数,清TAR
TACCTL2 &=~CCIFG; //清CCR2 的标志位
while(!(CCIFG&TACCTL2)); //查CCR2 标志位
first_value=TACCR2; //第一个捕获值存入first_value
TACCTL2 &=~CCIFG; //清CCR2 的标志位
while(!(CCIFG&TACCTL2)); //查CCR2 标志位
second_value=TACCR2; //第二个捕获值存入second_value
TACCTL2 &=~CCIFG; //清CCR2 的标志位
TACCTL2 &=~MC1; //关定时器A
cap_value=(second_value-first_value);
return 0;
}
/************(三)定时器PWM 输出程序*****************/
int main( void )
{
WDTCTL=WDTPW+WDTHOLD; //关看门狗
BCSCTL1 =CALBC1_1MHZ; //设定DCO 为1MHZ
DCOCTL =CALBC1_1MHZ;
TACTL=TASSEL1+TAR; //SMCLK 为时钟源,清TAR
CCR0=512; //设定PWM 周期
CCTL1 |=OUTMOD_7; //CCR1 输出为reset/set 模式
CCR1=384; //CCR1 的PWM 占空比设定
CCTL2 |=OUTMOD_7; //CCR2 输出为reset/set 模式
CCR2=128; //CCR2 的PWM 占空比设定
P1SEL |=BIT2+BIT3; //TA1,TA2 输出功能
P1DIR |=BIT2+BIT3;
TACTL |=MC0; //启动定时器A 增计数模式
_BIS_SR(CPUOFF);
return 0;
}
上一篇:ADC10 测量单通道单次模式
下一篇:MSP430单片机之看门狗的作用
史海拾趣
|
ENH038QD1-450/650 尺寸大小: 3.8" 分辨率: QVGA 320 x 240 接口: 6-bits TTL interface 亮度 : 450/650nit(cd/m2) 对比度:高对比度、大开口率 显示模式:Normally White 响应时间:Rise 30ms/ Fall 50ms 功耗:3.4W 工作温度: -30℃--- ...… 查看全部问答> |
|
EMS 2009 Call for Papers: Sept. 20-22, 2009, Beijing, China ====================================================================== The 3rd Int’l Conference on Engineering Management and Service Sciences (EMS 2009) CALL FOR PAP ...… 查看全部问答> |
|
TTL触发器芯片的主要参数 集成触发器的参数也可以分为直流参数和开关参数两大类。 下面以TTL集成JK触发器为例来简单介绍。 开关参数 1.最高时钟频率fmax fmax就是触 ...… 查看全部问答> |
|
在EVC下用win32方式编程. 功能是从strong1盘的所有数据全部copy到strong2\\\\file1下面. 怎么样用C写代码让copy动作最高效地执行?… 查看全部问答> |
|
我已经安装了EVT3.0,现想将其中的EVC升级到4.0,我从网上下载了EVC4.0安装程序安装后运行不了提示no CE platform SDK 于是我从网上去下载wince 5.0 SDK 可是无法安装,不是程序错误,像是缺少了什么东西 请问怎么才能安装EVC4.0 谢谢!… 查看全部问答> |
|
1、为什么我用NdisAllocateMemoryWithTag申请内存后,在NdisFreeMemory释放!有时候会蓝屏 我用 NdisAllocateMemoryWithTag(&pPacketContent,TotalPacketLength,TAG); 申请后 在释放的时候用 if(pPacketContent) NdisFreeMemory(pPacketConte ...… 查看全部问答> |




