小弟新手,求大虾帮我编个定时1S,P1.0输出50HZ方波程序

2019-03-24 11:59发布

本帖最后由 hxyzg007 于 2013-12-23 10:25 编辑

RT....小弟产品上需要加个自检程序,功能就是1S内 P1.0输出一个50HZ方波,不知道怎么循环了,求指教。void selftest(void)
{
  ConfigTimerA0();
  _EINT()  // Enter interrupt


//TIMER0_A0 interrupt service routine
#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer_A (void)
{
  t++;
  if(t==50);
{
  t=0;         
  P1OUT ^= BIT5;
}
  _EXIT_INT()
}


此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
hxyzg007
1楼-- · 2019-03-24 16:35
 精彩回答 2  元偷偷看……
huixianfxt
2楼-- · 2019-03-24 19:56
< :TI_MSP430_内容页_SA7 --> 两次进入中断(计数达到TACCR1 时进入中断,你说的方波应该占空比是50%吧!那么TACCR0=2 TACCR1)的间隔时间就是一个周期呢!中断中来一个计数,这个计数值和你的PWM周期有一定关系!然后算一下有几个计数值可以达到1s.。 判断一下达到1s的话,停止计数器!
jqh_111
3楼-- · 2019-03-24 21:29
如果是430的话,可参考这两篇帖子。
定时器A的http://bbs.eeworld.com.cn/thread-421820-1-1.html
定时器B的http://bbs.eeworld.com.cn/thread-427132-1-1.html
hxyzg007
4楼-- · 2019-03-24 22:23
 精彩回答 2  元偷偷看……
huixianfxt
5楼-- · 2019-03-24 22:54
本帖最后由 huixianfxt 于 2013-12-23 10:24 编辑
hxyzg007 发表于 2013-12-23 09:12
占空比是50%,方波周期怎么设置呢?50HZ这个。。。我使用内部DC0=MCLK=TACLK=0.58MHZ,TACCRx好像最大只能 ...

TACCR0=f taclock / f pulse , TACCR0=2TACCR1 。TACCRO最大是65535。580 000  / 50=11600=TACCR0,TACCR1=5800。看看书,书上都有的怎么配置!还有这是理论上实际TACCR1可能稍微大点!

一周热门 更多>

相关问题

    相关文章