📄 measure_frequency.c
字号:
/******************************************************************
本程序只供学习使用,未经作者许可,不得用于其它任何用途
我的邮箱:computer-lov@tom.com
欢迎访问我的blog: http://computer00.21ic.org
measure_frequency.c文件 频率测量
Created by Computer-lov
Date: 2004.11.13
Edit date:2006.3.2
Version V1.1
Copyright(C) Computer-lov 2004-2014
All rigths reserved
*******************************************************************/
#include "hardware.h"
#include "measure_frequency.h"
#include "main.h"
#include "LCD1602.h"
#include "isr.h"
unsigned char frequency_measure_time;
unsigned char frequency_measure_end;
unsigned char code FREQUENCY_TEXT[]={"FREQUENCY:"};
void Measure_frequency_and_display(void)
{
unsigned char i;
CLEAR_HC393=1;
TVH0=0;
TH0=0;
TL0=0;
CLEAR_HC393=0;
TR0=1;
frequency_measure_time=100;
frequency_measure_end=1;
while(frequency_measure_end);
TR0=0;
((unsigned char *)&result)[0]=TVH0;
((unsigned char *)&result)[1]=TH0;
((unsigned char *)&result)[2]=TL0;
((unsigned char *)&result)[3]=HC393_DATA;
buffer[0]=' ';
buffer[1]=' ';
for(i=10;i>1;i--)
{
buffer[i]=(result%10)+'0';
result/=10;
}
buffer[11]='H';
buffer[12]='z';
buffer[13]=' ';
buffer[14]=' ';
buffer[15]=' ';
buffer[16]=0x00;
LCD_cls();
LCD_prints(FREQUENCY_TEXT);
LCD_set_position(40);
LCD_prints(buffer);
}
void Measure_frequency(void)
{
LCD_cls();
LCD_prints(FREQUENCY_TEXT);
LCD_set_position(40);
LCD_prints(" 000000000Hz ");
TMOD=0x15;
while(status==MEASURE_FREQUENCY)
{
if(key)
{
if(key==KEY_MENU){TR0=0;FREQUENCY_IN_ENABLE=0;status=MAIN_MENU;Write_a_EEPROM_data(EEPROM_Addr,0x01,status);key=0;break;}
key=0;
}
Measure_frequency_and_display();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -