全局变量和局部变量

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

代码  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 } 

posted on 2013-07-16 23:03  yelcoved  阅读(299)  评论(0)    收藏  举报