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