📄 counter.lst
字号:
C51 COMPILER V8.08 COUNTER 09/23/2008 07:30:53 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE COUNTER
OBJECT MODULE PLACED IN counter.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE counter.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #include<counter.h>
3 unsigned long INT0_count=0;
4 uchar Cflag;
5 uchar Kflag=1;
6 unsigned long counter(uchar gate_time)
7 { unsigned long count=0;
8 1 uint stop;
9 1 Kflag=1;
10 1
11 1
12 1 stop=gate_time*20;
13 1 TH1=0x46; /*定时器1装处初值*/
14 1 TL1=0x00;
15 1 EX1=1;
16 1 ET1=1; /*开定时器中断*/
17 1 EX0=1;/*开外部中断*/
18 1 TR1=1; /*开定时器1*/
19 1 EA=1; /*开总中断*/
20 1
21 1 while(Kflag&&(Cflag<=stop));
22 1 EX0=0; /*关外部中断*/
23 1 TR1=0;
24 1 EA=0;
25 1 Cflag=0;
26 1 count=INT0_count; /*闸门时间内中断次数*/
27 1 INT0_count=0;
28 1 return count;
29 1 }
30 void time1() interrupt 3 using 1
31 {
32 1 TR1=0;
33 1 Cflag++;
34 1 TH1=0x46;
35 1 TL1=0x00;
36 1 TR1=1;
37 1 }
38
39 void int0() interrupt 0 using 0
40 {
41 1 EX0=0;
42 1 INT0_count++;
43 1 EX0=1;
44 1 }
45
46 void int1() interrupt 2 using 2
47 {
48 1 Kflag=0;
49 1 INT0_count=0;//若产生中断则返回值为0,在measure_F函数中检测出有键按下
50 1 EX1=0;
51 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 151 ----
C51 COMPILER V8.08 COUNTER 09/23/2008 07:30:53 PAGE 2
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 4
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 + -