📄 定时器.lst
字号:
C51 COMPILER V7.06 __蔩器 12/23/2003 08:42:57 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE __蔩器
OBJECT MODULE PLACED IN .\定时器.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE .\定时器.c DEBUG OBJECTEXTEND
stmt level source
1 #include <reg52.h>
2
3 #define miao 6000//时间精度调节
4 #define bojintime_l 4//报警声时间长短-低电平开始
5 #define bojintime_h 6//报警声时间长短-低电平结束
6 #define setdelet 50//设置状态退出时间
7
8
9
10
11 #define lis_f 0x02//累计时分1
12 #define lis_s 0x04//累计时时2
13
14 unsigned int mine;//累计时间定时20次数 *50m秒为1秒
15 unsigned char minm;//累计时间 -秒
16 unsigned char leiji_minf;//累计时间 -分
17 unsigned int leiji_mins;//累计时间- 小时
18
19 unsigned int mine1;//启动计时后 定时20次数 *50m秒为1秒
20 unsigned char minm1;//启动计时后-秒
21 unsigned char minf1;//启动计时后-分
22 unsigned char mins1;//启动计时后-时
23 sbit le1=P1^6;
24 sbit le2=P2^6;
25
26 sbit time_led=P2^7;
27 extern bit time_ledbz;
28 bit jisiqido1;//启动后计时
29 extern bit wesan;//位闪启动
30 extern bit seziws;//设置位闪标志
31
32 extern bit wd_bojin_se;//温度报警位
33 extern bit zs_bojin_se;//转速报警位
34 extern bit wd_ds;//温度显示状态
35 extern bit zs_ds;//转速显示状态
36 extern bit wd_ws;//温度位闪标志
37 extern bit zs_ws;//转速位闪标志
38 extern unsigned char gnstr;//功能键状态
39 unsigned char bose;
40 unsigned char strat_gn;//退出设置状态
41 extern void set_gnstr();//设置显示状态
42 extern bit i2c_write(unsigned char address,unsigned int fb);
43 void time_qd();
44
45 void time2() interrupt 5 using 1
46 {
47 1 mine++;
48 1 if(jisiqido1)
49 1 mine1++;
50 1 }
51
52
53 void time_qd()
54 {
55 1 if(mine>=miao)
C51 COMPILER V7.06 __蔩器 12/23/2003 08:42:57 PAGE 2
56 1 {
57 2 mine=0;
58 2 if(gnstr!=0)
59 2 {
60 3 strat_gn++;
61 3 if(strat_gn>=setdelet)
62 3 {
63 4 gnstr=0;
64 4 set_gnstr();
65 4 }
66 3 }
67 2 else strat_gn=0;
68 2
69 2 if(wd_bojin_se|zs_bojin_se)
70 2 {
71 3 le1=!le1;
72 3 bose++;
73 3 if(bose==bojintime_l)
74 3 le2=0;
75 3 else if(bose>=bojintime_h)
76 3 {
77 4 bose=0;
78 4 le2=1;
79 4 }
80 3 }
81 2 else {le2=1;bose=0;le1=0;}
82 2
83 2 if(wd_bojin_se&wd_ds)
84 2 wd_ws=!wd_ws;
85 2 else wd_ws=0;
86 2 if(zs_bojin_se&zs_ds)
87 2 zs_ws=!zs_ws;
88 2 else zs_ws=0;
89 2
90 2 if(time_ledbz&jisiqido1)
91 2 time_led=!time_led;
92 2 else if(time_ledbz)time_led=0;
93 2 else time_led=1;
94 2
95 2 if(wesan)
96 2 seziws=!seziws;
97 2 else seziws=0;
98 2
99 2 minm++;
100 2 if(minm>=125)
101 2 {
102 3 minm=0;
103 3 leiji_minf++;
104 3 i2c_write(lis_f, leiji_minf);
105 3 if(leiji_minf>=60)
106 3 {
107 4 leiji_minf=0;
108 4 leiji_mins++;
109 4 i2c_write(lis_s, leiji_mins);
110 4 }
111 3 }
112 2 }
113 1
114 1 if(mine1>=miao)
115 1 {
116 2 mine1=0;
117 2 minm1++;
C51 COMPILER V7.06 __蔩器 12/23/2003 08:42:57 PAGE 3
118 2 if(minm1>=125)
119 2 {
120 3 minm1=0;
121 3 minf1++;
122 3 if(minf1>=60)
123 3 {
124 4 minf1=0;
125 4 mins1++;
126 4 if(mins1>100)
127 4 mins1=0;
128 4 }
129 3 }
130 2 }
131 1 }
132
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 259 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 13 ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -