📄 task.lst
字号:
160 3 }
161 2 c_sun=0;
162 2 //y=R1302(0x8c+1)/16*10+R1302(0x8c+1)%16 ;
163 2 nian_sun=Year;
164 2 // y=R1302(0x88+1)/16*10+R1302(0x88+1)%16 ;
165 2 yue_sun=Month;
166 2 // y=R1302(0x86+1)/16*10+R1302(0x86+1)%16 ;
167 2 ri_sun=Day;
168 2 Conver_xingqi(c_sun,nian_sun,yue_sun,ri_sun); //农历星期转换
169 2 Conversion(c_sun,nian_sun,yue_sun,ri_sun); //农历转换
170 2 zimuo=0;
171 2 if ((key_moda==0)||(IRcord[0]==0x15)) //设置和选择项目键
172 2 {
173 3 DelayMs();
174 3 if((key_moda==0)||(IRcord[0]==0x15))
175 3 {
176 4 if(id++==12)
177 4 {
178 5 id=0;
179 5 }
C51 COMPILER V8.08 TASK 11/20/2012 17:36:10 PAGE 4
180 4 ha=0;
181 4 msec=0; //清闪烁标志
182 4 while((key_moda==0)||(IRcord[0]==0x15))
183 4 {
184 5 Show_word();
185 5 IRcord[0]=0x00;
186 5 }
187 4 }
188 3
189 3 }
190 2 if(id!=0)
191 2 {
192 3 if ((key_up==0)||(IRcord[0]==0x40)) //增加
193 3 {
194 4 DelayMs();
195 4 if((key_up==0)||(IRcord[0]==0x40))
196 4 {
197 5 while((key_up==0)||(IRcord[0]==0x40))
198 5 {
199 6 Show_word();
200 6 IRcord[0]=0x00;
201 6 } //调用显示
202 5 ha=0;
203 5 msec=0; //清闪烁标志
204 5 Set(id,0);
205 5 //调用时间调调整
206 5 }
207 4
208 4 }
209 3
210 3 if ((key_Down==0)||(IRcord[0]==0x19)) //减少
211 3 {
212 4 DelayMs();
213 4 if((key_Down==0)||(IRcord[0]==0x19))
214 4 {
215 5 while((key_Down==0)||(IRcord[0]==0x19))
216 5 {
217 6 Show_word();
218 6 IRcord[0]=0x00;
219 6 } //调用显示
220 5 ha=0;
221 5 msec=0; //清闪烁标志
222 5 Set(id,1); //调用时间调调整
223 5 }
224 4
225 4 }
226 3 }
227 2 else
228 2 {
229 3 if ((key_up==0)||(IRcord[0]==0x40)) //增加
230 3 {
231 4 DelayMs();
232 4 if((key_up==0)||(IRcord[0]==0x40))
233 4 {
234 5 while((key_up==0)||(IRcord[0]==0x40))
235 5 {
236 6 Show_word();
237 6 IRcord[0]=0x00;
238 6 } //调用显示
239 5 ha=0;
240 5 msec=0; //清闪烁标志
241 5 if(b!=0) //手动调整显示的内容
C51 COMPILER V8.08 TASK 11/20/2012 17:36:10 PAGE 5
242 5 {
243 6 if(f++==6) //f为显示转换标志
244 6 f=0;
245 6 }
246 5 }
247 4
248 4 }
249 3 }
250 2 //------------------------
251 2 if (nn==1) //调用温湿度读取子程序
252 2 {
253 3 RH();
254 3 }
255 2 //串口显示程序
256 2 //--------------------------
257 2 Show_word(); //待机显示按三秒间隔分别显示年、月日、星期、时分秒。
258 2 IRcord[0]=0x00;
259 2
260 2
261 2 }
262 1 }
263 /****************************************************************************/
264 void timer_0(void) interrupt 1 //中断入口,闪烁
265 {
266 1
267 1 TH0 = 0x92; //18.432M 18.2ms
268 1 TL0 = 0x0CD;
269 1 zz=1;
270 1 TR0=0;
271 1
272 1 }
273 /******************************************************************/
274 void PCA_interrupt(void) interrupt 7 //PCA0引起此中断
275 {
276 1
277 1 if(CCF0)
278 1 {
279 2 CCF0 = 0;
280 2 if(msec++==18)//1s
281 2 {
282 3 msec=0;
283 3 if(mm++==3)
284 3 {
285 4 nn=1;
286 4 }
287 3 x++;
288 3 if(x>=a)
289 3 {
290 4 x=0;
291 4 if(b==0) //自动模式
292 4 {
293 5 if(f++==6)
294 5 f=0; //f显示转换计数器 ,d为用户设置的自动转换时间的值。
295 5 }
296 4 }
297 3 if(ha++==10) //5秒后进入正常走时。
298 3 {
299 4 id=0;
300 4 ha=0;
301 4 }
302 3 }
303 2 if(msec<10)
C51 COMPILER V8.08 TASK 11/20/2012 17:36:10 PAGE 6
304 2 Flicker=0; //闪烁标志反转
305 2 else
306 2 Flicker=1;
307 2
308 2 }
309 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 810 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 7 ----
IDATA SIZE = ---- ----
BIT SIZE = 8 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -