📄 main.c
字号:
//==============================================================
//==============================================================
// 工程名称: 频率计
//==============================================================
// 功能描述: 利用"61板"完成各项功能:
// 1、测频范围:0.1HZ~100KHZ;
// 2、误差范围:a.0.1~100HZ -0.1HZ<误差<0.1HZ;
// b.100HZ~9999HZ -1HZ<误差<1HZ;
// c.9999HZ~100000HZ -10HZ<误差<10HZ;
// 3、自动换挡;
// IDE环境: SUNPLUS u'nSPTM IDE 1.8.0(or later)
//===============================================================
// 涉及的库: (a) C-Lib: (CMacro1016.lib);
// 硬件连接: 针对配合SPCE061A精简开发板使用;
// 组成文件: 1、main.c;
// 2、inout.c;
// 3、delay.c;
// 4、isr.c;
// 5、Resource.h/Resource.inc;
// 日期: 2008-4-14(建立)
//===============================================================
//===============================================================
#include"spce061a.h"
unsigned int count=0; // 定义取中断计数的变量并初始化
unsigned int num; //定义中断时间选择标志位
unsigned int flag; //定义是否进入中断的标志位
void show(unsigned int n); //定义输出显示的函数
void inout(void); //定义初始化函数
void text(void); //根据num标志位选择合理的运算
void choose(void); //定义中断时间选择函数
void delay(void); //定义延时函数,主要用于显示
int main() //主函数
{
inout(); //初始化函数
while(1)
{
if(flag==1) //判断flag标志位是否为1,为1则执行以下的操作
{
choose(); //关中断,选择定时中断时间10s,1s,0.1s,并且重新打开中断
text(); //根据新选择的中断时间所计的数,根据标志位num的数值得知是哪一个中断时间,然后计算真实的频率值
flag=0; //标志位清零
show(count); //把text()函数所计算的出的count值送显示
}
*P_Watchdog_Clear=0x0001; //看门狗清1
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -