⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 isd1420.lst

📁 ISD1420语音程序
💻 LST
字号:
C51 COMPILER V8.02   ISD1420                                                               08/18/2008 18:35:14 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE ISD1420
OBJECT MODULE PLACED IN ISD1420.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ISD1420.c BROWSE DEBUG OBJECTEXTEND TABS(2)

line level    source

   1          #include "ISD1420.h"
   2          /*****************************************************************
   3          **说明:能录,放6段2秒短时间和2段4秒长时间的语音(时间可以改)
   4          **连接图:使用兰兴电路,只是P2_4代替WR,故芯片地址为0xcfff,直接用XBYTE[0xCFFF]会有错误,
   5          **         故采用分离方式赋值,即P2=0XCF;P0=  ;P2=0XFF;
   6          **时间:2008.8.17
   7          **作者:馒头
   8          *****************************************************************/
   9          //#define  ISD1420_SEL XBYTE[0xCFFF]     /*语音芯片地址*/
  10          //sbit Record = P1^2;      //录音控制端,低电平有效
  11          //sbit Play   = P1^3;      //放音控制端,低电平有效
  12          
  13          
  14          //*******前4段时间是1秒,后4段为2秒时间 *******************************
  15          //***************************语音信号说明************************************
  16          //*******各用1秒时间*******************************************
  17          //ISD1420_Section =0    :“停”;
  18          //ISD1420_Section =1    :“前进”;
  19          //ISD1420_Section =2    :“后退”;
  20          //ISD1420_Section =3    :“左转”;
  21          //ISD1420_Section =4    :“右转”;
  22          //*******************************************************************
  23          //*******各用2秒时间***************************************
  24          //ISD1420_Section =5    :“有障碍物”;
  25          //ISD1420_Section =6    :“发现光源”;
  26          //ISD1420_Section =7    :“找到目标”;
  27          //ISD1420_Section =8    :“结束任务”;
  28          //ISD1420_Section =9    :  录歌曲
  29          
  30          unsigned char ISD1420address[10] ={0x00,0x08,0x10,0x18,0x20, 0x28,0x38,0x48,0x58,0x68} ;
  31          char ISD1420_Counter = 0;
  32          
  33          bit Record_En = 0;      //录音使能
  34          bit Play_En = 0;        //放音使能
  35          char Second_1s = 0;     //控制录,放音时间
  36          int Counter_1s = 0;
  37          
  38          //===================================================================
  39          //*****************录音函数******************************************
  40          //**作者:馒头
  41          //**时间:2008.8.16
  42          //===================================================================
  43          void ISD1420_Record(void)               
  44          {
  45   1          Counter_1s = 0;     //重新计时
  46   1          Second_1s = 0;
  47   1          Record = 0;        //录音控制
  48   1          Record_En = 1;
  49   1          DisplayBuffer[4] = HexChar[1];       //用于指示
  50   1          Play = 1;
  51   1          Play_En = 0;
  52   1      }
  53          
  54          //===================================================================
  55          //*****************录音函数******************************************
C51 COMPILER V8.02   ISD1420                                                               08/18/2008 18:35:14 PAGE 2   

  56          //**作者:馒头
  57          //**时间:2008.8.16
  58          //===================================================================
  59          void ISD1420_Play(void)
  60          {
  61   1         Counter_1s = 0;     //重新计时
  62   1         Second_1s = 0;
  63   1         Play = 0;          //放音使能键
  64   1         Play_En = 1;
  65   1         DisplayBuffer[5] = HexChar[1];          //用于指示
  66   1         Record = 1;
  67   1         Record_En = 0;
  68   1      
  69   1      }
  70          void ISD1420_Task(void)
  71          {
  72   1          if(KeyValue)
  73   1          {
  74   2               switch(KeyValue)
  75   2               {
  76   3                 case 1 :ISD1420_Counter = 0;
  77   3                         P2 = 0xCF;                            //初始化
  78   3                         P0 = ISD1420address[ISD1420_Counter];
  79   3                         P2 = 0xFF;
  80   3                         break;
  81   3                 case 2: ISD1420_Record();       //录音
  82   3                         break;
  83   3                 
  84   3                 case 3: ISD1420_Play();         //放音
  85   3                         break;
  86   3                 
  87   3                 case 4: ISD1420_Counter++;       //语音段选择
  88   3                         if(ISD1420_Counter >= 10)
  89   3                         {ISD1420_Counter = 0;}
  90   3                         P2 = 0xCF;
  91   3                         P0 = ISD1420address[ISD1420_Counter];
  92   3                         P2 = 0xFF;
  93   3                         break;
  94   3                 default:break;
  95   3               }
  96   2              DisplayBuffer[2] = HexChar[ISD1420_Counter];
  97   2              DisplayBuffer[7] = HexChar[KeyValue];
  98   2              KeyValue = 0;
  99   2          }
 100   1      
 101   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    138    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     14    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -