📄 main.c
字号:
#include "zero.h"
#include "SPCE061V004.H"
#define p (unsigned int*)0x0050
unsigned int num,u,u1,uu,uu1,j,num2;
int shu[]={'0','1','2','3','4','5','6','7','8','9'};
main()
{
//////////////初始化//////////////////
unsigned int uiData,i;
*P_IOA_Dir=0x0000;
*P_IOA_Attrib=0x0000;
*P_IOA_Data=0x0000;
chushi();
__asm("int off"); //disable interrupt
*P_INT_Ctrl=C_IRQ1_TMA; //开中断TMA
*P_TimerA_Ctrl=C_SourceA_1+C_SourceB_1024Hz; //TimerA:1024Hz
*P_TimerA_Data=0xFEFF; //0.25 Second
while(1)
{
num=0;
/////////////////频率计数/////////////////////
while(1)
{*P_Watchdog_Clear =0x0001;
u=*P_IOA_Data;
u1=u&0x8000;
while(1)
{*P_Watchdog_Clear =0x0001;
uu=*P_IOA_Data;
uu1=uu&0x8000;
if((u1!=uu1)||(*P_INT_Ctrl&C_IRQ1_TMA)) break; //a15电平改变时跳出
}
num++;
if(*P_INT_Ctrl&C_IRQ1_TMA) //定时时间到
{
*P_INT_Clear=C_IRQ1_TMA; //clear INT flag
break;
}
}
num2=num+(int)(num*0.049);
num2*=2; //频率计算,修正
*p=(unsigned int)(num2/10000)%10;
*(p+1)=(unsigned int)(num2/1000)%10;
*(p+2)=(unsigned int)(num2/100)%10;
*(p+3)=(unsigned int)(num2/10)%10;
*(p+4)=(unsigned int)(num2)%10;
//qp();
////////////////////////显示频率/////////////////////
Address1();
xianshi('f');
xianshi(':');
for(j=0;j<5;j++)
xianshi(shu[*(p+j)]);
xianshi('H');
xianshi('z');
*P_Watchdog_Clear=0x0001;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -