C51 COMPILER V8.02 D 07/02/2010 17:07:43 PAGE 1 C51 COMPILER V8.02, COMPILATION OF MODULE D OBJECT MODULE PLACED IN d.OBJ COMPILER INVOKED BY: D:\处理软件\keil\C51\BIN\C51.EXE d.c BROWSE DEBUG OBJECTEXTEND line level source 1 /**************************************************************************** 2 “天祥电子” 倾情奉献 3 www.txmcu.cn 4 www.txmcu.com 5 ***************************************************************************** 6 程序功能: 通过程序说明while与do...while间区别: 7 前者是先比较判断后执行,后者是先执行再比较判断。 8 故后者的循环体至少会执行一次,而前者有可能一次也不执行。 9 ****************************************************************************/ 10 #include 11 12 sbit s2=P3^4; 13 14 void main() 15 { 16 1 char m=3; 17 1 P1=0xff; 18 1 while(1) 19 1 { 20 2 if(s2) //s2未被按下时,将执行下面大括弧中的程序,但是,由于在刚开始进行的是判别 21 2 //操作,而3>4肯定为假,故不会执行P1=0xaa;操作。 22 2 //所以,此时,P1口相连的led不亮,P1各管脚的值还是刚开始赋的0xff。 23 2 { 24 3 while(m>4) 25 3 P1=0xaa; 26 3 } 27 2 else //当s2被按下后,执行该段程序,此时,虽然3>4仍然是假的,但是do...while 28 2 //是先执行一次,然后再判断,故在比较判断之前,已经执行了P1=0xaa;故此时 29 2 //P1口各led会被交替点亮。 30 2 { 31 3 do 32 3 { 33 4 P1=0xaa; 34 4 } 35 3 while(m>4); 36 3 } 37 2 } 38 1 } MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 34 ---- CONSTANT SIZE = ---- ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- DATA SIZE = ---- ---- IDATA SIZE = ---- ---- BIT SIZE = ---- ---- END OF MODULE INFORMATION. C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)