#ifndef main_c //test ok
#define main_c
#endif
#include "main.h"
//************************全局变量
volatile uint t0_cont;
volatile uint t1_cont;
volatile uchar flg1; //
//-------------------------------------------------------------------------
// 测试函数 用来初始化
//-------------------------------------------------------------------------
void test()
{
send_str( "pinlvji" ); //完成后把所有串口去掉
showstr( "cymometer", 1, 1, 9 ); //液晶显示
// showstr( "1KHz", 12, 1, 4 );
showstr( "Hz", 14, 2, 2 );
}
//-------------------------------------------------------------------------
//mcu初始化 端口 定时器 中断 外中断 变量
//-------------------------------------------------------------------------
void mcu_init()
{
//******************端口
data_direc = out; //输出
DDRB = out; //输出
DDRC = out; //输出
PORTC = 0X00; //输出0
DDRB=0XE0; //输入口
PORTB=0XE9;
//********************定时器
TIMSK |= 0x12; //定时中断允许位 只允许两个匹配
}
//-------------------------------------------------------------------------
// 主函数
//-------------------------------------------------------------------------
int main()
{
uchar f_t; //用测频还是测周
//******************
mcu_init(); //初始化
usart_init( 57600 ); //初始化
send_str( "com ok" ); //完成后把所有串口去掉
yj_set( 0x38, 0x0f, 0x06 ); //初始化
clearall(); //初始化
mzd_on(); //开中断
#if debug
test();
#endif
while ( 1 )
{
if ( !( PINB& ( 1 << 3 )))
{
refish(); //刷新所有的东西
f_t = hz_try(); //估计范围 1k
if ( f_t )
{
cl_f(); //频率法
}
else
{
cl_t(); //周期法
}
}
}
return 1;
}