📄 key.c.lst
字号:
C51 COMPILER V7.01 KEY_C 12/28/2003 01:48:00 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE KEY_C
OBJECT MODULE PLACED IN .\key.c.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE .\key.c.c DEBUG OBJECTEXTEND
stmt level source
1
2 #include <reg52.h>
3 #include<intrins.h>
4
5 #define lis_f 0x02//累计时分1
6 #define lis_s 0x04//累计时时2
7
8 #define wendu_bj 0x06//温度报警1@
9 #define zasu_bj 0x08//转速报警2
10
11
12 sbit gn_key=P2^0;
13 sbit sezi_key=P2^1;
14 sbit sjj_key=P2^2;
15 sbit sjan_key=P2^3;
16 sbit jisi_key=P2^5;
17 sbit zozi_key=P2^4;
18 sbit xsn_key=P0^2;
19
20
21 sbit s1=P2^6;
22
23 extern void led1_str(unsigned char led_streat1);
24 extern void led2_str(unsigned char led_streat2);
25 void datey(unsigned int i);
26
27 bit gn();
28 bit sezi();
29 bit sjj(bit g);
30 bit sjan(bit g);
31 bit jisi();
32 bit zozi();
33 bit xiaosen();
34
35 void bojinsu_zj();
36
37 unsigned char gnstr;//功能键状态
38 ///0-正常测量显示 1-累计时显示 2-转速报警设置 3-温度报警设置
39 bit jswdstr;//计时温度状态显示 0-温度 1-记时
40 bit wesan;//位闪启动
41 bit set;//设置标志
42 extern unsigned char wsws;//位闪位数0-4
43 unsigned char set_ws;//设置位
44
45
46 extern unsigned char leiji_minf;//累计时间 -分
47 extern unsigned int leiji_mins;//累计时间- 小时
48 extern bit jisiqido1;//启动后计时
49 extern unsigned int zs_bj;//转速报警值
50 extern char wd_bj;//温度报警值
51 extern unsigned char mine1;//启动计时后 定时20次数 *50m秒为1秒
52 extern unsigned char minm1;//启动计时后-秒
53 extern unsigned char minf1;//启动计时后-分
54 extern unsigned char mins1;//启动计时后-时
55 extern bit i2c_write(unsigned char address,unsigned int fb);
C51 COMPILER V7.01 KEY_C 12/28/2003 01:48:00 PAGE 2
56
57 void k_gnkey();//功能
58 void k_sezi();//设置
59 void k_jajn();//设置加减
60 void jswd();//计时温度切换显示
61 void stratcbf();//显示数据刷新
62 void set_gnstr();//设置显示状态
63 extern unsigned char strat_gn;//退出设置状态
64
65
66 void k_gnkey()//功能
67 {
68 1 if(gn())
69 1 {
70 2 gnstr++;
71 2 if(gnstr>3)
72 2 gnstr=0;
73 2 set_gnstr();
74 2 strat_gn=0;
75 2 }
76 1 }
77
78 void bojinsu_zj()
79 {
80 1 unsigned int i;
81 1 led1_str(2); led2_str(1);
82 1 i=0;
83 1 while(!(gn()|sezi()|sjj(1)|sjan(1)|zozi()| jisi()))
84 1 {
85 2 i++;
86 2 if(i>5000)
87 2 return;
88 2 }
89 1 }
90
91 void set_gnstr()
92 {
93 1 switch(gnstr)
94 1 {
95 2 case 0: led1_str(0);wesan=0;set=0;break;
96 2 case 1: led1_str(1);wesan=0;set=0;break;
97 2 case 2: led1_str(2);wesan=1;wsws=3;//转速报警设置 位闪启动
98 2 set=0; set_ws=3; break;
99 2 case 3: led1_str(0); led2_str(2);wesan=1;
100 2 set=1; wsws=4;//温度报警设置 位闪启动
101 2 break;
102 2 default: ;
103 2 }
104 1 }
105 void k_sezi()
106 {
107 1 if((gnstr==2)&sezi())
108 1 {
109 2 set_ws--;//设置位移
110 2 if(set_ws>3)
111 2 set_ws=3;
112 2 wsws=set_ws;
113 2 wesan=1;
114 2 strat_gn=0;
115 2 }
116 1 }
117
C51 COMPILER V7.01 KEY_C 12/28/2003 01:48:00 PAGE 3
118 void k_jajn()
119 {
120 1 unsigned char ya0;
121 1 unsigned char ya1;
122 1 unsigned char ya2;
123 1 unsigned char ya3;
124 1
125 1 if(sjj(1)&((gnstr==2)|(gnstr==3)))//+
126 1 { strat_gn=0;
127 2 switch(gnstr)
128 2 {
129 3 case 2: { ya3=zs_bj/1000;
130 4 ya2=(zs_bj%1000)/100;
131 4 ya1=(zs_bj%100)/10;
132 4 ya0=zs_bj%10;
133 4 switch(set_ws)
134 4 {
135 5 case 0: ya3++;
136 5 if(ya3>9)
137 5 ya3=0; break;
138 5 case 1: ya2++;
139 5 if(ya2>9)
140 5 ya2=0;break;
141 5 case 2: ya1++;
142 5 if(ya1>9)
143 5 ya1=0;break;
144 5 case 3: ya0++;
145 5 if(ya0>9)
146 5 ya0=0;break;
147 5 default: ;
148 5 }
149 4 zs_bj=ya0+ya1*10+ya2*100+ya3*1000;
150 4 i2c_write(zasu_bj, zs_bj);
151 4 led1_str(2);
152 4 wesan=0;
153 4 }
154 3 break;
155 3 case 3:
156 3 {
157 4 wd_bj++;
158 4 if(wd_bj>150)
159 4 wd_bj=150;
160 4 led2_str(1);
161 4 i2c_write(wendu_bj, wd_bj);
162 4 wesan=0;
163 4 }
164 3 break;
165 3 default: ;
166 3 }
167 2 }
168 1
169 1 if(sjan(1)&((gnstr==2)|(gnstr==3)))//-
170 1 { strat_gn=0;
171 2 switch(gnstr)
172 2 {
173 3 case 2: {
174 4 ya3=zs_bj/1000;
175 4 ya2=(zs_bj%1000)/100;
176 4 ya1=(zs_bj%100)/10;
177 4 ya0=zs_bj%10;
178 4 switch(set_ws)
179 4 {
C51 COMPILER V7.01 KEY_C 12/28/2003 01:48:00 PAGE 4
180 5 case 0: ya3--;
181 5 if(ya3>9)
182 5 ya3=9; break;
183 5 case 1: ya2--;
184 5 if(ya2>9)
185 5 ya2=9;break;
186 5 case 2: ya1--;
187 5 if(ya1>9)
188 5 ya1=9;break;
189 5 case 3: ya0--;
190 5 if(ya0>9)
191 5 ya0=9;break;
192 5 default: ;
193 5 }
194 4 zs_bj=ya0+ya1*10+ya2*100+ya3*1000;
195 4 i2c_write(zasu_bj, zs_bj);
196 4 led1_str(2);
197 4 wesan=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -