📄 led1.lst
字号:
115 1 res0=0;
C51 COMPILER V8.05a LED1 09/24/2008 22:18:40 PAGE 3
116 1 }
117 void main(void)
118 {
119 1 unsigned char n=0,l=0,k=0,m=0,h=0,sp=10;
120 1 bit num=0,wd=0,time=0,open=1;
121 1 //ds1302();
122 1 pc_init();
123 1 oe=0;
124 1 do
125 1 {
126 2 if(P1_0==0) //左移,右移
127 2 {
128 3 num=~num;
129 3 wd=0;
130 3 time=0;
131 3 open=1;
132 3 while(!P1_0);
133 3 }
134 2 if(P1_1==0) //温度显示
135 2 {
136 3 wd=1;
137 3 time=0;
138 3 open=0;
139 3 while(!P1_1);
140 3 }
141 2 if(P1_2==0) //时钟显示
142 2 {
143 3 time=1;
144 3 wd=0;
145 3 open=0;
146 3 while(!P1_2);
147 3 }
148 2 if(P1_3==0) //串口通行
149 2 {
150 3 printf("现在温度是%d%d度\n现在时刻是%d%d%时d%d%分%d%d秒\n",x,y,hour[1],hour[0],min[1],min[0],second[1],
-second[0]);
151 3 open=0;
152 3 while(!P1_3);
153 3 }
154 2 if(time) //显示时钟
155 2 {
156 3 dsplay_ds1302(); //读取时钟
157 3 for(l=0;l<30;l++)
158 3 {
159 4 for(n=0;n<16;n++) //扫16行
160 4 {
161 5 oe=1;
162 5 P0=(P0&0xf0)|n;
163 5 write_595(tab[n+16*min[1]]);
164 5 write_595(tab[n+16*min[0]]);
165 5 write_595(tab[n+16*second[1]]);
166 5 write_595(tab[n+16*second[0]]);
167 5 oe=0;
168 5 delay();
169 5 }
170 4 }
171 3 }
172 2 if(wd==0&&time==0&&open==0) //主界面good
173 2 {
174 3 for(l=0;l<30;l++)
175 3 {
176 4 for(n=0;n<16;n++) //扫16行
C51 COMPILER V8.05a LED1 09/24/2008 22:18:40 PAGE 4
177 4 {
178 5 oe=1;
179 5 P0=(P0&0xf0)|n;
180 5 write_595(tab[n+16*15]);
181 5 write_595(tab[n+16*16]);
182 5 write_595(tab[n+16*16]);
183 5 write_595(tab[n+16*13]);
184 5 oe=0;
185 5 delay();
186 5 }
187 4 }
188 3 }
189 2 if(wd) //温度显示
190 2 {
191 3 wd_t();
192 3 for(l=0;l<30;l++)
193 3 {
194 4 for(n=0;n<16;n++) //扫16行
195 4 {
196 5 oe=1;
197 5 P0=(P0&0xf0)|n;
198 5 write_595(tab[n+16*x]);
199 5 write_595(tab[n+16*y]);
200 5 write_595(tab[n+16*14]);
201 5 write_595(tab[n+16*12]);
202 5 oe=0;
203 5 delay();
204 5 }
205 4 }
206 3 }
207 2 if(num&&wd==0&&time==0&&open==1) //左移数字字母
208 2 {
209 3 for(m=0;m<10;m++)
210 3 {
211 4 for(k=0;k<8;k++)
212 4 {
213 5 for(l=0;l<sp;l++)
214 5 {
215 6 for(n=0;n<16;n++) //扫16行
216 6 {
217 7 oe=1;
218 7 P0=(P0&0xf0)|n;
219 7 write_595((tab[n+16*m]<<k)|(tab[n+16*(m+1)]>>(8-k)));
220 7 write_595((tab[n+16*(m+1)]<<k)|(tab[n+16*(m+2)]>>(8-k)));
221 7 write_595((tab[n+16*(m+2)]<<k)|(tab[n+16*(m+3)]>>(8-k)));
222 7 write_595((tab[n+16*(m+3)]<<k)|(tab[n+16*(m+4)]>>(8-k)));
223 7 oe=0;
224 7 delay();
225 7 if(P1_0==0)
226 7 {
227 8 num=1;
228 8 wd=0;
229 8 time=0;
230 8 open=0;
231 8 break;
232 8 }
233 7 if(P1_3==0)
234 7 {
235 8 sp=sp+5;
236 8 if(sp==40) sp=5;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -