智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1323|回复: 0
打印 上一主题 下一主题

[软件类] HCS08AW60

[复制链接]

17

主题

97

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2209
QQ
威望
1093
贡献
652
兑换币
638
注册时间
2012-12-1
在线时间
232 小时
跳转到指定楼层
1#
发表于 2013-1-13 20:30:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大侠看一下我的程序TPM中断哪出了问题?功能是每隔0.5s亮一次,但一直都亮,不灭?:Q
#include <hidef.h> /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */
#define unsigned int uint

uint n=0;

/****
函数名?timer_500ms_Init
功能:利用 TPM1精确定时500ms
参数:无
返回:无
****/
void timer_500ms_Init (void)
{
   TPM1SC=0x4E;
   //计数寄存器初值
   TPM1CNTH=0x00;
   TPM1CNTL=0x00;
   //预置寄存器设定值
   TPM1MODH=0x7A;
   TPM1MODL=0x12;
}

/***
函数名:delay
功能:延时
参数:uint i
返回:无
***/
void delay(uint i)
{
   uint n;
   for(n=0;n<i;n++)
   {
       __RESET_WATCHDOG();
   }
}

/****
函数名:timer_500ms_OnInterrupt
功能:控制LED的亮灭
参数:无
返回:无
****/
void timer_500ms_Init_OnInterrupt (void)
{  
   
      PTAD=0x00;
      delay(50000);
   
}


void main(void) {

   EnableInterrupts; /* enable interrupts */
   /* include your code here */
   PTADD=0xFF;
   PTBDD=0XFF;
   PTCDD=0XFF;
   PTDDD=0XFF;
   PTEDD=0XFF;
   PTFDD=0XFF;
   PTGDD=0XFF;


  for(;;)
  {
    __RESET_WATCHDOG(); /* feeds the dog */
    PTAD=0xff;
   
  } /* loop forever */
  /* please make sure that you never leave main */
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2025-1-10 02:35 , Processed in 0.040584 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表