注册会员
- 积分
- 175
- 威望
- 203
- 贡献
- 62
- 兑换币
- 0
- 注册时间
- 2012-1-22
- 在线时间
- 13 小时
|
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的出现 就是相当于调用所有的中断函数啊
求解释
|
|