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