?? mc145170.lst
字號:
213 2 CLK=1;
214 2 _nop_();
215 2 }
216 1
217 1 //
218 1 ENB=0;
219 1 for(i=0;i<8;i++)
220 1 {
221 2 CLK=0;
222 2 _nop_();
223 2 if(i==4)
224 2 DIN=1;
225 2 else
226 2 DIN=0;
227 2 CLK=1;
228 2 _nop_();
229 2 }
230 1
231 1 ENB=1;
232 1
233 1 }
234 /**************************************
235 名稱:changefrequence
236 功能:改變頻率的任務函數
237 輸入參數:無
238 輸出參數:無
239 *************************************/
C51 COMPILER V8.01 MC145170 03/16/2008 21:34:52 PAGE 5
240 /*void changefrequence(void)
241 {
242 switch(Menu1)
243 { case 1: mc145170reset();
244 Delay5Ms();
245 writec(0x6f);
246 Delay5Ms();
247 write_R24(BaseFre);
248 Delay5Ms();
249 write_N(Frequence);
250 ePutUint(15,1,Frequence);
251 Delay5Ms();
252 Menu1=2;
253
254 break;
255 case 2://輸入的按鍵對應的數碼從顯示屏右端移入
256 switch(MyKey)
257 {case 0:break;
258 case 1:
259 Frequence=Frequence+1;//遞增
260 write_N(Frequence);
261 ePutUint(15,1,Frequence);
262 MyKey=0;
263 break;
264 case 2:
265 Frequence=Frequence-5;//遞減
266 write_N(Frequence);
267 ePutUint(15,1,Frequence);
268 MyKey = 0;//清按鍵緩沖區,表示按鍵值已經取走
269 break;
270 case 3:
271 MyKey = 0;//清按鍵緩沖區,表示按鍵值已經取走
272 Menu1=1;
273 break;
274 }
275 break;
276
277 }
278 } */
279 Set_all_Mc145170()
280 {
281 1 mc145170reset();
282 1 Delay5Ms();
283 1 writec(0x6f);
284 1 Delay5Ms();
285 1 write_R24(BaseFre);
286 1 Delay5Ms();
287 1 write_N(Frequence);
288 1 Delay5Ms();
289 1 }
290
291 //////////////////////////////////////////數字各位分離程序/////////////////////////////
292 void MakeDate(int show_answer)
293 { char i;
294 1 for(i=0;i<7;i++)
295 1 {c[i] = show_answer%10;
296 2 show_answer = show_answer/10;
297 2 }
298 1 if(c[6]==0)
299 1 {c[6]=10;
300 2 if(c[5]==0)
301 2 {c[5]=10;
C51 COMPILER V8.01 MC145170 03/16/2008 21:34:52 PAGE 6
302 3 if(c[4]==0)
303 3 {c[4]=10;
304 4 if(c[3]==0)
305 4 {c[3]=10;
306 5 if(c[2]==0)
307 5 {c[2]=10;
308 6 if(c[1]==0)
309 6 {c[1]=10;}
310 6 }
311 5 }
312 4 }
313 3 }
314 2 }
315 1 }
316
317 display_fre() //顯示頻率
318 {
319 1 char j = 0;
320 1 MakeDate(Frequence) ; //分離數字
321 1 for(j=0;j<8;j++)
322 1 {
323 2 XBYTE[0x8100]=~(0x80>>j); //選擇數碼管顯示位數
324 2 XBYTE[0x8200]=DisplayBuffer[c[j]]; //顯示數字
325 2 delay_1ms();
326 2 }
327 1
328 1 }
329
330 keybord()
331 {
332 1 XBYTE[0x8200] = 0;
333 1 if(P1_0 == 0)
334 1 {
335 2 Delay5Ms();
336 2 Delay5Ms();
337 2 Delay5Ms();
338 2 Delay5Ms();
339 2 Frequence = Frequence + 50;
340 2 write_N(Frequence);
341 2 }
342 1
343 1 else if(P1_1 == 0)
344 1 {
345 2 Delay5Ms();
346 2 Delay5Ms();
347 2 Delay5Ms();
348 2 Delay5Ms();
349 2 Frequence = Frequence - 50;
350 2 write_N(Frequence);
351 2 }
352 1 }
353
354 /**************************************
355 名稱:main
356 功能:主函數
357 輸入參數:無
358 輸出參數:無
359 *************************************/
360 main()
361 {
362 1 //EA = 0;
363 1 Set_all_Mc145170(); //一個函數把mc145170所有寄存器設置好
C51 COMPILER V8.01 MC145170 03/16/2008 21:34:52 PAGE 7
364 1
365 1 while(1)
366 1 {
367 2 display_fre();
368 2 keybord() ;
369 2 }
370 1
371 1 }
372
373
374
375 /*05級單片機板程序
376 main()
377 {
378 EA = 0;
379 Set_all_Mc145170(); //一個函數把mc145170所有寄存器設置好
380
381 while(1)
382 {
383 P3_7 = 1;
384 if(P3_2 == 0)
385 {
386 P3_7 = 0;
387 Delay400Ms() ;
388 Delay400Ms() ;
389 Frequence = Frequence + 100;
390
391 }
392
393 if(P3_3 == 0)
394 {
395 P3_7 = 0;
396 Delay400Ms() ;
397 Delay400Ms() ;
398 Frequence = Frequence - 100;
399
400 }
401 if(P3_4 == 0)
402 {
403 P3_7 = 0;
404 Delay400Ms() ;
405
406 mc145170reset();
407 Delay5Ms();
408 writec(0x6f);
409 Delay5Ms();
410 write_R24(BaseFre);
411 Delay5Ms();
412 write_N(Frequence);
413 // ePutUint(15,1,Frequence);
414 Delay5Ms();
415 }
416 }
417
418 } */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 531 ----
CONSTANT SIZE = 13 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
C51 COMPILER V8.01 MC145170 03/16/2008 21:34:52 PAGE 8
DATA SIZE = 10 2
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 + -