智能车制作

 找回密码
 注册

扫一扫,访问微社区

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

[编程类] code warrior的中断程序解释

[复制链接]

1

主题

3

帖子

0

精华

注册会员

Rank: 2

积分
175
威望
203
贡献
62
兑换币
0
注册时间
2012-1-22
在线时间
13 小时
跳转到指定楼层
1#
发表于 2012-2-25 13:22:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
试验目的:通过连续记录输入信号的两个上升沿,用该程序可以计算出输入信号的频率;同时,利用脉冲累加器可以记录输入脉冲数。

#include <hidef.h> /* common defines and macros */
#include <mc9s12dp256.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dp256b"
int count=0;
float f;
double f1=2000000,first=0,second=0,n,N;
void main(void)
{
DisableInterrupts;
TSCR2=0X82;
PACTL=0X20;
TIOS=0XFE; //设定pt0输入捕捉口
37
TCTL4=0X01;
ICSYS=0X0A;
PBCTL_PBEN=0X00;
ICPAR=0X01;
TIE=0X01;
TSCR1=0X80;
EnableInterrupts;
for(;;)
{; }
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt void CH0IC(void)
{
first=TC0H;
second=TC0;
n=count*65535+second-first;//这句咱们解释啊
f=f1/n;//这句怎么理解
N=PA0H;
TFLG1=0X01;
count=0;
}
从main函数的 disableinterrupt 和 enableinterrupt 这两句的必要性  
和解释  
mian函数中没有看见调用interrupt函数啊
是不是enableinterrupt的出现 就是相当于调用所有的中断函数啊  
求解释


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

本版积分规则

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

GMT+8, 2024-9-21 01:29 , Processed in 0.040998 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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