?? freqlow.lst
字號:
C51 COMPILER V7.06 FREQLOW 02/07/2004 11:33:45 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE FREQLOW
OBJECT MODULE PLACED IN freqlow.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE freqlow.c OPTIMIZE(6,SPEED) BROWSE INTVECTOR(0X8000) DEBUG OBJECTEXTEND
stmt level source
1 #include "reg52.h"
2 #include "Zlg7290.h" //Zlg7290庫
3 #include "viic_c51.h" //iic庫
4
5 unsigned char scount;
6
7 void timer0_int() interrupt 1
8 {
9 1 TR0=0; //關閉定時器
10 1 TH0=0x4C; //重裝定時器
11 1 TL0=0x19;
12 1 TF0=0; //清除溢出標志
13 1 scount--;
14 1 if(scount>0) //到1s了嗎?
15 1 TR0=1; //沒到,開定時器
16 1 else
17 1 TR1=0; //到了,停止T1的計數
18 1 }
19
20 main()
21 {
22 1 unsigned char a[5];
23 1 unsigned char i,resh,resl;
24 1 unsigned long int freq;
25 1 TMOD=0xD1; //定時器0工作在定時方式1,定時器1工作在計數方式1
26 1 TH0=0x4C; //定時50ms
27 1 TL0=0x19;
28 1 TH1=0; //計數值清0
29 1 TL1=0;
30 1 scount=20; //定時1s
31 1 ET0=1; //開定時器0中斷
32 1 EA=1; //開總中斷
33 1 TR0=1; //啟動定時器和計數器
34 1 TR1=1;
35 1
36 1 for (i=0;i<5;++i)
37 1 a[i]=0;
38 1 ZLG7290_SendBuf(a,5); //在LED上顯示5位0。
39 1 while(1)
40 1 {
41 2 if(!scount) //1s時間到
42 2 {
43 3
44 3 resh=TH1; //取出計數值
45 3 resl=TL1;
46 3 TH1=0; //計數值清零
47 3 TL1=0;
48 3 TH0=0x4C; //重裝定時器0
49 3 TL0=0x19;
50 3 scount=20; //定時1S
51 3 TR0=1; //啟動定時器和計數器
52 3 TR1=1;
53 3 freq=resh*256+resl; //計算頻率值
54 3 a[0]=freq%10; //將各位分離顯示
55 3 a[1]=(freq%100)/10;
C51 COMPILER V7.06 FREQLOW 02/07/2004 11:33:45 PAGE 2
56 3 a[2]=(freq/100)%10;
57 3 a[3]=(freq/100)/10%10;
58 3 a[4]=freq/10000;
59 3 ZLG7290_SendBuf(a,5); //送ZLG7290顯示
60 3 }
61 2 }
62 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 286 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 11
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 + -