?? frequencymeter.lst
字號:
C51 COMPILER V7.20 FREQUENCYMETER 02/10/2009 18:41:23 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE FREQUENCYMETER
OBJECT MODULE PLACED IN frequencymeter.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE frequencymeter.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*************************************************************************************************
2 * FUNCTION NAME:等精度頻率計(jì) *
3 *`CREATE DATE :2007.7.02 *
4 * CREATED BY :wu zhi zhong ,ChongQing Institute of Technology *
5 * MODEIFY DATE :2007.7.05 *
6 * INPUT :frequency *
7 * OUTPUT :frequency *
8 *
9 /*************************************************************************************************/
10 #include<reg51.h>
11 #include<stdio.h>
12 #include<lcd.c>
13 #include<math.h>
14 sbit p32=P3^2;
15 main()
16 {
17 1 unsigned long int period,k,i=0;
18 1 float f,m;
19 1 char buff[30];
20 1 init_LCD();
21 1 P2=0x00;
22 1 while(1)
23 1 {
24 2 TMOD=0X09;
25 2 TH0=0;
26 2 TL0=0;
27 2 while(p32==1);
28 2 TR0=1;
29 2 while(p32==0);
30 2 while(p32==1);
31 2 TR0=0;
32 2 period=TH0*256+TL0;
33 2 while(period<=500) /*判斷是否分頻及計(jì)算分頻次數(shù)*/
34 2 { P2++;
35 3 i++;
36 3 period=period*10;
37 3 if(i==6)
38 3 {P2=0x00;
39 4 break;
40 4 }
41 3 }
42 2 k=pow(10,i); /* 10的i次方*/
43 2 f=(1000000.0/(2*period))*k;
44 2 if(f<1000)
45 2 sprintf(buff,"f=%8.4fHZ",f);
46 2 else
47 2 {m=f/1000.0;
48 3 sprintf(buff,"f=%8.4fKHZ",m);
49 3 }
50 2 lcdprintf(0,0,buff);
51 2 }
52 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
C51 COMPILER V7.20 FREQUENCYMETER 02/10/2009 18:41:23 PAGE 2
CODE SIZE = 545 ----
CONSTANT SIZE = 45 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 46
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -