📄 measure_frequency.lst
字号:
C51 COMPILER V7.06 MEASURE_FREQUENCY 03/02/2006 23:49:40 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MEASURE_FREQUENCY
OBJECT MODULE PLACED IN measure_frequency.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE measure_frequency.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /******************************************************************
2 本程序只供学习使用,未经作者许可,不得用于其它任何用途
3 我的邮箱:computer-lov@tom.com
4 欢迎访问我的blog: http://computer00.21ic.org
5
6 measure_frequency.c文件 频率测量
7
8 Created by Computer-lov
9 Date: 2004.11.13
10
11 Edit date:2006.3.2
12
13 Version V1.1
14 Copyright(C) Computer-lov 2004-2014
15 All rigths reserved
16 *******************************************************************/
17
18
19 #include "hardware.h"
20 #include "measure_frequency.h"
21 #include "main.h"
22 #include "LCD1602.h"
23 #include "isr.h"
24
25 unsigned char frequency_measure_time;
26 unsigned char frequency_measure_end;
27
28 unsigned char code FREQUENCY_TEXT[]={"FREQUENCY:"};
29
30 void Measure_frequency_and_display(void)
31 {
32 1 unsigned char i;
33 1 CLEAR_HC393=1;
34 1 TVH0=0;
35 1 TH0=0;
36 1 TL0=0;
37 1 CLEAR_HC393=0;
38 1 TR0=1;
39 1 frequency_measure_time=100;
40 1 frequency_measure_end=1;
41 1 while(frequency_measure_end);
42 1 TR0=0;
43 1 ((unsigned char *)&result)[0]=TVH0;
44 1 ((unsigned char *)&result)[1]=TH0;
45 1 ((unsigned char *)&result)[2]=TL0;
46 1 ((unsigned char *)&result)[3]=HC393_DATA;
47 1 buffer[0]=' ';
48 1 buffer[1]=' ';
49 1 for(i=10;i>1;i--)
50 1 {
51 2 buffer[i]=(result%10)+'0';
52 2 result/=10;
53 2 }
54 1 buffer[11]='H';
55 1 buffer[12]='z';
C51 COMPILER V7.06 MEASURE_FREQUENCY 03/02/2006 23:49:40 PAGE 2
56 1 buffer[13]=' ';
57 1 buffer[14]=' ';
58 1 buffer[15]=' ';
59 1 buffer[16]=0x00;
60 1 LCD_cls();
61 1 LCD_prints(FREQUENCY_TEXT);
62 1 LCD_set_position(40);
63 1 LCD_prints(buffer);
64 1 }
65
66 void Measure_frequency(void)
67 {
68 1 LCD_cls();
69 1 LCD_prints(FREQUENCY_TEXT);
70 1 LCD_set_position(40);
71 1 LCD_prints(" 000000000Hz ");
72 1 TMOD=0x15;
73 1 while(status==MEASURE_FREQUENCY)
74 1 {
75 2 if(key)
76 2 {
77 3 if(key==KEY_MENU){TR0=0;FREQUENCY_IN_ENABLE=0;status=MAIN_MENU;Write_a_EEPROM_data(EEPROM_Addr,0x01,s
-tatus);key=0;break;}
78 3 key=0;
79 3 }
80 2 Measure_frequency_and_display();
81 2 }
82 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 221 ----
CONSTANT SIZE = 28 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 1
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -