📄 1730.lst
字号:
276 {
277 1 ISD_SendData(0x41);
278 1 ISD_SendData(0x00);
279 1 SS=1;
280 1 delay_ms(10);
281 1 }
282 /****************************************************************************
283 *函数类型:void ISD_WR_APC2(void);
284 *写APC寄存器,
285 ******************************************************************************/
286 void ISD_WR_APC2(void)
287 {
288 1 ISD_SendData(0x75);
289 1 ISD_SendData(0x47);
290 1 ISD_SendData(0x04);
291 1 SS=1;
292 1 delay_ms(20);
293 1 ISD_WR_NVCFG();
294 1 }
295
296
297 /****************************************************************************
298 *函数类型:void ISD_PLAY(void);
299 *播放当前端语音
300 ******************************************************************************/
301 void ISD_PLAY(void)
302 {
303 1 ISD_SendData(0x40);
C51 COMPILER V7.06 1730 11/26/2008 23:50:30 PAGE 6
304 1 ISD_SendData(0x00);
305 1 SS=1;
306 1 delay_ms(10);
307 1 }
308
309
310
311 /**************************************************************************
312 * 函数原型: void ISD_PU(void);
313 * 功 能: 上电
314 **************************************************************************/
315 void ISD_PU(void)
316 {
317 1 ISD_SendData(0x11);
318 1 ISD_SendData(0x00);
319 1 SS=1;
320 1 delay_ms(50);
321 1 }
322
323 /**************************************************************************
324 * 函数原型: void ISD_PD(void);
325 * 功 能: 掉电
326 **************************************************************************/
327
328 void ISD_PD(void)
329 {
330 1 ISD_SendData(PD);
331 1 ISD_SendData(0x00);
332 1 SS=1;
333 1 }
334
335 /**************************************************************************
336 * 函数原型: void ISD_SendData(uchar BUF_ISD);
337 * 功 能: 发送数据
338 **************************************************************************/
339 uchar ISD_SendData(uchar BUF_ISD)
340 {
341 1 uchar i,dat=BUF_ISD;
342 1 SCLK=1;
343 1 SS=0;
344 1 for(i=0;i<8;i++){
345 2 SCLK=0;
346 2 I_delay();
347 2 if(dat&0x01){
348 3 MOSI=1;
349 3 }
350 2 else{
351 3 MOSI=0;
352 3 }
353 2 dat>>=1;
354 2 if(MISO){
355 3 dat|=0x80;
356 3 }
357 2 SCLK=1;
358 2 I_delay();
359 2 }
360 1 MOSI=0;
361 1 return(dat);
362 1 }
363
364 /**************************************************************************
365 * 函数原型: void RdStatus(void);
C51 COMPILER V7.06 1730 11/26/2008 23:50:30 PAGE 7
366 * 功 能: 读取状态
367 **************************************************************************/
368 void RdStatus(void)
369 {
370 1 ISD_SendData(RD_STATUS);
371 1 ISD_SendData(0x00);
372 1 ISD_SendData(0x00);
373 1 SS=1;
374 1 delay_ms(10); //延迟10ms
375 1 SR0_L =ISD_SendData(RD_STATUS);
376 1
377 1 SR0_H =ISD_SendData(0x00);
378 1 SR1 =ISD_SendData(0x00);
379 1 SS=1;
380 1 delay_ms(10);
381 1
382 1 /* SBUF=SR0_H;
383 1 delay_ms(500);
384 1 ES=1;
385 1 SBUF=SR0_L;
386 1 delay_ms(500);
387 1 ES=1;
388 1 SBUF=SR1; */
389 1
390 1
391 1
392 1
393 1 }
394 /**************************************************************************
395 * 函数原型: void ISD_RD_PLAY_PTR(void)
396 * 功 能: 读取状态寄存器,当前地址和播放指针;
397 **************************************************************************/
398 void ISD_RD_PLAY_PTR(void)
399 {
400 1 uchar APCH,APCL;
401 1 ISD_SendData(0X16);
402 1 ISD_SendData(0X00);
403 1 ISD_SendData(0X00);
404 1 ISD_SendData(0X00);
405 1 SS=1;
406 1
407 1 SBUF=SR0_H;
408 1 delay_ms(500);
409 1 SBUF=SR0_L;
410 1 delay_ms(500);
411 1 SBUF=APCH;
412 1 delay_ms(500);
413 1 SBUF=APCL;
414 1 // while(1);
415 1
416 1 }
417
418
419
420 /**************************************************************************
421 * 函数原型: void ClrInt(void);
422 * 功 能: 清除中断
423 **************************************************************************/
424 void ClrInt(void)
425 {
426 1 ISD_SendData(CLI_INT);
427 1 ISD_SendData(0x00);
C51 COMPILER V7.06 1730 11/26/2008 23:50:30 PAGE 8
428 1 SS=1;
429 1 delay_ms(10); //延迟10ms
430 1 }
431
432 /**************************************************************************
433 * 函数原型: void Erase_All(void);
434 * 功 能: 全部删除
435 **************************************************************************/
436 void Erase_All(void)
437 {
438 1 ISD_SendData(G_ERASE);
439 1 ISD_SendData(0x00);
440 1 SS=1;
441 1 delay_ms(100); //延迟10ms
442 1 }
443
444 /**************************************************************************
445 * END
446 * END
447 **************************************************************************/
448 void com(void) interrupt 4 using 2
449 {
450 1
451 1 TI=0;
452 1 ES=0;
453 1
454 1 }
455
456
457
458
459 void main(void)
-
460 {
461 1 delay_ms(10);
462 1 ISD_PU();
463 1 delay_ms(50);
464 1
465 1 do {
466 2 ISD_PU();
467 2 RdStatus();
468 2
469 2 }while((SR0_L&0x01)||(!(SR1&0x01)));
470 1
471 1 ISD_REC();
472 1 /* do {
473 1 ISD_REC();
474 1
475 1 }while(SR0_L&0x01);
476 1
477 1 do {
478 1 RdStatus();
479 1
480 1 }while((SR0_L&0x01)||(!(SR1&0x08)));*/
481 1
482 1 delay_ms(100000);
483 1 ISD_STOP();
484 1
485 1 delay_ms(3000);
486 1
487 1 ISD_PLAY();
488 1
C51 COMPILER V7.06 1730 11/26/2008 23:50:30 PAGE 9
489 1
490 1
491 1
492 1
493 1 delay_ms(3000);
494 1
495 1 // ISD_ERASE();
496 1
497 1
498 1
499 1
500 1
501 1
502 1
503 1
504 1
505 1
506 1
507 1
508 1
509 1 // ISD_STOP();
510 1
511 1
512 1 while(1);
513 1
514 1
515 1
516 1
517 1
518 1
519 1
520 1
521 1 }
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 812 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 11
IDATA SIZE = ---- ----
C51 COMPILER V7.06 1730 11/26/2008 23:50:30 PAGE 10
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 + -