📄 starled.lst
字号:
165 3
166 3 }
167 2
168 2
169 2 }
170 1 if(s1num!=0)
171 1 {
172 2 if(s2==0)
173 2 {
174 3 delay(1);
175 3 if(s2==0)
176 3 {
177 4 while(!s2);
178 4 if(s1num==1)
179 4 {
C51 COMPILER V8.02 STARLED 03/03/2009 18:51:24 PAGE 4
180 5 miao++;
181 5 if(miao==60)
182 5 miao=0;
183 5 write_sfm(10,miao);
184 5 write_com(0x80+0x40+10);
185 5
186 5
187 5 }
188 4 if(s1num==2)
189 4 {
190 5 fen++;
191 5 if(fen==60)
192 5 fen=0;
193 5 write_sfm(7,fen);
194 5 write_com(0x80+0x40+7);
195 5 }
196 4 if(s1num==3)
197 4 {
198 5 shi++;
199 5 if(shi==24)
200 5 shi=0;
201 5 write_sfm(4,shi);
202 5 write_com(0x80+0x40+4);
203 5 }
204 4 }
205 3 }
206 2 if(s3==0)
207 2 {
208 3 delay(1);
209 3 if(s3==0)
210 3 {
211 4 while(!s3);
212 4 if(s1num==1)
213 4 {
214 5 miao--;
215 5 if(miao==-1)
216 5 miao=59;
217 5 write_sfm(10,miao);
218 5 write_com(0x80+0x40+10);
219 5 }
220 4 if(s1num==2)
221 4 {
222 5 fen--;
223 5 if(fen==-1)
224 5 fen=59;
225 5 write_sfm(7,fen);
226 5 write_com(0x80+0x40+7);
227 5 }
228 4 if(s1num==3)
229 4 {
230 5 shi--;
231 5 if(shi==-1)
232 5 shi=23;
233 5 write_sfm(4,shi);
234 5 write_com(0x80+0x40+4);
235 5 }
236 4 }
237 3 }
238 2 }
239 1 }
240 /*******************************************************************/
241 /* */
C51 COMPILER V8.02 STARLED 03/03/2009 18:51:24 PAGE 5
242 /* ds128c87程序 */
243 /* */
244 /*******************************************************************/
245
246 void write_ds(uchar add,uchar date)//在指定地址写入数据
247 {
248 1 dscs=0;
249 1 dsas=1;
250 1 dsds=1;
251 1 dsrw=1;
252 1 P0=add;
253 1 dsas=0;
254 1 dsrw=0;
255 1 P0=date;
256 1 dsrw=1;
257 1 dsas=1;
258 1 dscs=1;
259 1 }
260
261 uchar read_ds(uchar add) //读取指定地址的数据
262 {
263 1 uchar ds_date;
264 1 dsas=1;
265 1 dsds=1;
266 1 dsrw=1;
267 1 dscs=0;
268 1 P0=add;
269 1 dsas=0;
270 1 dsds=0;
271 1 P0=0xff; //单片机读取数据之前赋高
272 1 ds_date=P0;
273 1 dsds=1;
274 1 dsas=1;
275 1 dscs=1;
276 1 return ds_date;
277 1 }
278
279 /*void set_time() //初始化定时
280 {
281 write_ds(4,10);
282 write_ds(2,32);
283
284 } */
285
286 void set_alarm(uchar ashi,uchar afen,uchar amiao) //闹钟定时 时\分\秒
287 {
288 1 write_ds(1,amiao);
289 1 write_ds(3,afen);
290 1 write_ds(5,ashi);
291 1 }
292 void main()
293 {
294 1 init();
295 1 while(1)
296 1 {
297 2 keyscan();
298 2 if(flag1==1)
299 2 didi();
300 2 if(flag==0)
301 2 //flag=1时调表调好后写入887,然后flag置0重新读取887内数据
302 2 {
303 3 miao=read_ds(0);
C51 COMPILER V8.02 STARLED 03/03/2009 18:51:24 PAGE 6
304 3 fen=read_ds(2);
305 3 shi=read_ds(4);
306 3 write_sfm(10,miao);
307 3 write_sfm(7,fen);
308 3 write_sfm(4,shi);
309 3 }
310 2 }
311 1 }
312
313 void exter() interrupt 0 //19脚接P3.2
314 { uchar c;
315 1 flag1=1;
316 1 c=read_ds(0x0c); //重读C寄存器,消除中断标志以备响应下一次中断
317 1 }
318
319
320
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 700 ----
CONSTANT SIZE = 29 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 7 1
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -