📄 key.lst
字号:
C51 COMPILER V8.05a KEY 09/27/2008 09:32:26 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN .\hex\key.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE src\key.c BROWSE INCDIR(.\h) DEBUG OBJECTEXTEND PRINT(.\key.lst) OBJECT(.\h
-ex\key.obj)
line level source
1 #include<reg52.h>
2 #include"global_var.h"
3 #include"my_type.h"
4 #include"function.h"
5 #include"interface.h"
6 uint k,n,m,m1=0,m2=0,w=2,w1=2,w2=3;
7
8 uchar reg_ds1307;
9 /*********按键处理子程序***********/
10 void key1();
11 void ge_h();
12 void shi_h();
13 void bai_h();
14 void high();
15 void low();
16 void ge_l();
17 void shi_l();
18 void bai_l();
19 void year_mon();
20 void dat_shi();
21 void min_sec();
22
23 void ge_1307();
24 void shi_1307();
25 void bai_1307();
26 void qian_1307();
27
28 /*********按键处理子程序**********/
29 void key()
30 {
31 1 if(KEY_1==0)
32 1 {
33 2 key1() ;
34 2 }
35 1 }
36
37 /*********按键1处理子程序**********/
38 void key1()
39 {
40 1 delay(10); //消抖
41 1 if(KEY_1==0)
42 1 {
43 2 m1++;
44 2 if(m1==3) m1=1;
45 2
46 2 if(m1==1) high();
47 2
48 2 if(m1==2) low(); //第一个键 按下两次
49 2
50 2 // if(m1==3) year_mon();
51 2
52 2 // if(m1==4) dat_shi();
53 2
54 2 // if(m1==5) min_sec();
C51 COMPILER V8.05a KEY 09/27/2008 09:32:26 PAGE 2
55 2
56 2 }
57 1 }
58 // if(m1==3) // 1键按三次
59 // {
60
61 // }
62
63 /*************高报警值的设置***************/
64 void high()
65 {
66 1 read_nbyte(0xa0,0x03,sh,3);
67 1 delay(10);
68 1 set_high=sh[0]+sh[1]*10+sh[2]*100;
69 1 // set_high=238;
70 1 display_set_H();
71 1 while(KEY_4)
72 1 {
73 2 for(k=0;k<10;k++)
74 2 {
75 3 display();
76 3 }
77 2 if(KEY_1==0)
78 2 break;
79 2 }
80 1 while(KEY_1&KEY_2&KEY_3) //在其他键没有按下的情况下,闪烁显示SET_H
81 1 {
82 2 display();
83 2 delay(15);
84 2 }
85 1 while(KEY_1&KEY_4) //在第四个按键没按下的情况下,选择要增减的位
86 1 {
87 2 w++;
88 2 while(KEY_4)
89 2 {
90 3 if(w==3) w=0;
91 3 if(w==0) ge_h();
92 3 if(w==1) shi_h();
93 3 if(w==2) bai_h();
94 3
95 3 while(KEY_4&KEY_3)
96 3 {
97 4 display_set_H();
98 4 display();
99 4 if(KEY_2==0)
100 4 {
101 5 delay(80); //消抖
102 5 if(KEY_2==0)
103 5 break;
104 5 }
105 4 }
106 3
107 3 if(KEY_3==0)
108 3 {
109 4 delay(80); //消抖
110 4 if(KEY_3==0)
111 4 break;
112 4 }
113 3 delay(80);
114 3 }
115 2 }
116 1 sh[0]=(uchar)(set_high%10);
C51 COMPILER V8.05a KEY 09/27/2008 09:32:26 PAGE 3
117 1 sh[1]=(uchar)(set_high/10%10);
118 1 sh[2]=(uchar)(set_high/100);
119 1 write_nbyte(0xa0,0x03,sh,3);
120 1 delay(5);
121 1 }
122 /*************低报警值的设置***************/
123 void low()
124 {
125 1 read_nbyte(0xa0,0x10,sl,3);
126 1 delay(10);
127 1 set_low=sl[0]+sl[1]*10+sl[2]*100;
128 1 // set_high=238;
129 1 display_set_L();
130 1 while(KEY_4)
131 1 {
132 2 for(k=0;k<10;k++)
133 2 {
134 3 display();
135 3 }
136 2 if(KEY_1==0)
137 2 break;
138 2 }
139 1 while(KEY_1&KEY_2&KEY_3) //在其他键没有按下的情况下,闪烁显示SET_H
140 1 {
141 2 display();
142 2 delay(15);
143 2 }
144 1 while(KEY_1&KEY_4) //在第四个按键没按下的情况下,选择要增减的位
145 1 {
146 2 w1++;
147 2 while(KEY_4)
148 2 {
149 3 if(w1==3) w1=0;
150 3 if(w1==0) ge_l();
151 3 if(w1==1) shi_l();
152 3 if(w1==2) bai_l();
153 3
154 3 while(KEY_4&KEY_3)
155 3 {
156 4 display_set_L();
157 4 display();
158 4 if(KEY_2==0)
159 4 {
160 5 delay(80); //消抖
161 5 if(KEY_2==0)
162 5 break;
163 5 }
164 4 }
165 3
166 3 if(KEY_3==0)
167 3 {
168 4 delay(80); //消抖
169 4 if(KEY_3==0)
170 4 break;
171 4 }
172 3 delay(80);
173 3 }
174 2 }
175 1 sl[0]=(uchar)(set_low%10);
176 1 sl[1]=(uchar)(set_low/10%10);
177 1 sl[2]=(uchar)(set_low/100);
178 1 write_nbyte(0xa0,0x10,sl,3);
C51 COMPILER V8.05a KEY 09/27/2008 09:32:26 PAGE 4
179 1 delay(5);
180 1 }
181 /*********低报警值个十百处理子程序**********/
182
183 void ge_l()
184 {
185 1 set_low++;
186 1 if(set_low%10==0)
187 1 set_low-=10;
188 1 }
189 void shi_l()
190 {
191 1 set_low+=10;
192 1 if(set_low%100<10)
193 1 set_low-=100;
194 1 }
195
196 void bai_l()
197 {
198 1 set_low+=100;
199 1 if(set_low>1000)
200 1 set_low-=1000;
201 1 }
202
203
204
205
206
207
208 /*********高报警值个十百处理子程序**********/
209 void ge_h()
210 {
211 1 set_high++;
212 1 if(set_high%10==0)
213 1 set_high-=10;
214 1 }
215 void shi_h()
216 {
217 1 set_high+=10;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -