全局变量和局部变量

it2022-05-09  17

之前没怎么注意,全局变量和局部变量的真正含义,大概意思明白,但是要我知道概念还真不知道,今天写程序,因此有点疑惑,但是看了一下全局变量和局部变量的定义,就迎刃而解了,呵呵,当局部变量和全局变量的名字一样时,使用局部变量时会自动屏蔽全局变量,因此即使局部变量和全局变量一样也是不冲突的、

代码  1 # include <reg52.h>

  2 # include <intrins.h>   3 # define  uint unsigned  int   4 # define uchar unsigned  char   5  void init();   6  void delay( uint z);   7  void display(uchar aa,uchar bb,uchar cc,uchar ge,uchar shi,uchar bai);   8 uchar i,ii,temp,ge,shi,bai,flag,flag1,aa,bb,cc;   9  uint shu;  10 sbit wela = P2^ 7;  11 sbit dela = P2^ 6;  12 uchar code tablede []=  13 {  14  0x3f, 0x06, 0x5b, 0x4f,  15  0x66, 0x6d, 0x7d, 0x07,  16  0x7f, 0x6f, 0x77, 0x7c,  17  0x39, 0x5e, 0x79, 0x71,  18  0x76, 0x79, 0x38, 0x3f, 0  19 };  20 uchar code tablewe []=  21 {  22  0xfe, 0xfd, 0xfb,  23  0xf7, 0xef, 0xdf  24 };  25  void main()  26 {  27     shu =  432;  28     temp =  0xfe;  29     init();  30      while( 1)  31     {  32          if(flag1 !=  1)  33         {  34             display( 7, 6, 5,ge,shi,bai);  35         } else  36          {  37               display( 16, 17, 18, 20, 19, 18);  38          }  39     }  40   41 }             42  void display(uchar aa,uchar bb,uchar cc,uchar ge,uchar shi,uchar bai)  43 {  44    wela =  1;  45    P0 = tablewe[ 0];  46    wela =  0;  47    P0 = 0xff;  48    dela =  1;  49    P0  = tablede[aa];  50    dela =  0;  51     delay( 5);     52   53    wela =  1;  54    P0 = tablewe[ 1];  55    wela =  0;  56    P0 = 0xff;  57    dela =  1;  58    P0  = tablede[bb];  59    dela =  0;  60    delay( 5);  61   62    wela =  1;  63    P0 = tablewe[ 2];  64    wela =  0;  65    P0 = 0xff;  66    dela =  1;  67    P0  = tablede[cc];  68    dela =  0;  69    delay( 5);  70   71    wela =  1;  72    P0 = tablewe[ 3];  73    wela =  0;  74    P0 = 0xff;  75    dela =  1;  76    P0  = tablede[bai];  77    dela =  0;  78    delay( 5);  79   80    wela =  1;  81    P0 = tablewe[ 4];  82    wela =  0;  83    P0 = 0xff;  84    dela =  1;  85    P0  = tablede[shi];  86    dela =  0;  87    delay( 5);  88   89    wela =  1;  90    P0 = tablewe[ 5];  91    wela =  0;  92    P0 = 0xff;  93    dela =  1;  94    P0  = tablede[ge];  95    dela =  0;  96    delay( 5);  97 }  98   99  void init() 100 { 101     TMOD =  0x11; 102     TH1 = ( 65536- 50000)/ 256; 103     TL1 = ( 65536- 50000)% 256; 104     EA =  1; 105     ET1 =  1; 106     TR1 =  1; 107     TH0 = ( 65536- 50000)/ 256; 108     TL0 = ( 65536- 50000)% 256; 109     EA =  1; 110     ET0 =  1; 111     TR0 =  1; 112 } 113  void timer1() interrupt  3 114 { 115     TH1 = ( 65536- 50000)/ 256; 116     TL1 = ( 65536- 50000)% 256; 117     i++; 118      if(i ==  2) 119     { 120          i =  0; 121         shu --; 122          if(shu ==  398) 123         { 124              TR1 =  0; 125              TR0 =  0; 126              TH0 = ( 65536- 50000)/ 256; 127              TL0 = ( 65536- 50000)% 256; 128              TR0 =  1; 129              flag =  1; 130              P1 =  0xff; 131              ii  =  0; 132         } 133         bai = shu/ 100; 134         shi = shu% 100/ 10; 135         ge = shu% 10; 136     } 137      138 } 139  void timer0 () interrupt  1 140 { 141     TH0 = ( 65536- 50000)/ 256; 142     TL0 = ( 65536- 50000)% 256; 143     ii++; 144  145      if(flag !=  1) 146     { 147          if(ii ==  10) 148         { 149             ii =  0; 150             P1 = temp; 151             temp = _crol_(temp, 1); 152         } 153     } else 154     {     155           if(ii %  4 == 0) 156         { 157             P1=~P1; 158         } 159          if(ii ==  60) 160         { 161             TR0 =  0; 162             P1 =  0xff; 163             flag1 =  1; 164         } 165          166     } 167  168 } 169  void delay( uint z) 170 { 171     uint x,y; 172     for(x = z; x> 0;x--) 173    { 174         for(y =  110;y> 0; y--); 175    }

176 } 

转载于:https://www.cnblogs.com/yelcoved/p/3194582.html


最新回复(0)