智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1124|回复: 2
打印 上一主题 下一主题

求助一个定时计数的程序,望各位大侠指教

[复制链接]

16

主题

124

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3239
威望
1778
贡献
929
兑换币
803
注册时间
2009-11-25
在线时间
266 小时
跳转到指定楼层
1#
发表于 2011-4-17 08:20:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求助一个定时计数的程序,望各位大侠指教

4

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
396
QQ
威望
301
贡献
63
兑换币
0
注册时间
2011-3-3
在线时间
16 小时
2#
发表于 2011-4-17 11:44:30 | 只看该作者
用PT7计数吧
回复 支持 反对

使用道具 举报

16

主题

124

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3239
威望
1778
贡献
929
兑换币
803
注册时间
2009-11-25
在线时间
266 小时
3#
 楼主| 发表于 2011-4-19 22:26:17 | 只看该作者
回复 2# m254366401

#include <hidef.h>      /* common defines and macros */
#include <MC9S12XS128.h>     /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12xs128"
int num;                     
void initPIT(void)//定时中断初始化函数 50MS定时中断设置
{
    PITCFLMT_PITE=0;  //定时中断通道0关
    PITCE_PCE0=1;     //定时器通道0使能
    PITMTLD0=240-1;   //8位定时器初值设定。240分频,在24MHzBusClock下,为0.1MHz。即10us.
    PITLD0=310-1;     //16位定时器初值设定。PITTIME*0.01MS,1ms读取一次ATD_value
    PITINTE_PINTE0=1; //定时器中断通道0中断使能
    PITCFLMT_PITE=1;  //定时器通道0使能
}
void PIT1S(void)
{
    if(num==10)
        {
            
            PORTA=~PORTA;
            num=0;
      }
}
void main(void)
{ EnableInterrupts;
  initPIT();
  //DDRB=0XFF;
  //DDRE=0X70;
  DDRA=0XFF;  
  PORTA=0X00;

for(;;) {} /* wait forever */
  /* please make sure that you never leave this function */
}  

void interrupt 66 PIT0(void)
{  
    num++;
    PIT1S();
    PITTF_PTF0=1;                    
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED //指示该程序在不分页区
           这是我的程序但是下载后要等很久小灯才会有现象
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-23 05:27 , Processed in 0.195944 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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