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

📄 main.lst

📁 数字电话调试源代码
💻 LST
字号:
C51 COMPILER V7.06   MAIN                                                                  09/01/2008 20:48:35 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include<reg52.h>
   2          #include<intrins.h> // 声明了void _nop_(void);
   3          #define uchar unsigned char 
   4          #define uint  unsigned int  
   5          sbit CS = P3^2;
   6          
   7          void Delay(uint t);
   8          void Send_command(uchar addr,uchar dat);
   9          uchar Read_command(uchar addr);
  10          void Send_byte(uchar dat);
  11          uchar Read_byte();
  12          
  13          /*******************************************************
  14          函数名称:Delay(uint t);
  15          功    能:延时
  16          参    数:无
  17          返 回 值:无
  18          ********************************************************/
  19          void Delay(uint t){
  20   1              while(t--);
  21   1              
  22   1      
  23   1      }
  24          
  25          
  26          /*******************************************************
  27          函数名称:Send_byte(uchar dat);
  28          功    能:发送一个字节
  29          参    数:无符号字符型
  30          返 回 值:无
  31          ********************************************************/
  32          void Send_byte(uchar dat){
  33   1              TI = 0;
  34   1              SBUF = dat;
  35   1              while(!TI);
  36   1      
  37   1      }
  38          
  39          /*******************************************************
  40          函数名称:Rend_byte();
  41          功    能:接收一个字节
  42          参    数:无
  43          返 回 值:无符号字符型
  44          ********************************************************/
  45          uchar Read_byte(){
  46   1              uchar dat = 0;
  47   1              RI = 0;
  48   1              dat = SBUF;
  49   1              while(!RI);
  50   1              return dat;
  51   1      }
  52          
  53          /*******************************************************
  54          函数名称:Send_command(uchar addr,uchar dat);
  55          功    能:发送一个命令
C51 COMPILER V7.06   MAIN                                                                  09/01/2008 20:48:35 PAGE 2   

  56          参    数:无符号字符型   地址   数据
  57          返 回 值:无
  58          ********************************************************/
  59          void Send_command(uchar addr,uchar dat){
  60   1              CS = 0;
  61   1              Delay(3);
  62   1              addr <<= 1;
  63   1              addr &= 0x7e;                   //写
  64   1              Send_byte(addr);
  65   1              CS = 1;
  66   1              Delay(30);
  67   1              Send_byte(dat);
  68   1              Delay(3);
  69   1              
  70   1              
  71   1      }
  72          
  73          /*******************************************************
  74          函数名称:Rend_command(uchar addr);
  75          功    能:接收一个命令
  76          参    数:无符号字符型   地址
  77          返 回 值:无符号字符型   数据
  78          ********************************************************/
  79          uchar Read_command(uchar addr){
  80   1              uchar dat = 0;
  81   1              CS = 0;
  82   1              Delay(3);
  83   1              addr <<= 1;
  84   1              addr &= 0x7e;                   
  85   1              addr += 1;                              //读
  86   1              Send_byte(addr);
  87   1              CS = 1;
  88   1              Delay(30);
  89   1              dat = Read_byte();
  90   1              Delay(3);
  91   1              
  92   1              return dat;
  93   1      }
  94          
  95          
  96          
  97          //产生音调函数
  98          void yindiao()
  99          {
 100   1       Send_command(0x15,0x0c);//选择通道
 101   1       Send_command(0x1E,0x00);//复位DSP
 102   1       Send_command(0x1D,0x70);//设置接收增益
 103   1       Send_command(0x20,0x30);//设置发送增益
 104   1       Send_command(0x23,0x59);//写音调系数1
 105   1       Send_command(0x24,0xAB);//写音调系数2
 106   1       Send_command(0x26,0x10);//写颤音系数
 107   1       Send_command(0x1E,0x61);//开始音调编程
 108   1       Send_command(0x0E,0x82);//选择扬声器和滤波器
 109   1       Send_command(0x1E,0x61);//控制振铃节奏
 110   1      }
 111          //产生拨号音函数
 112          void bohao()
 113          {
 114   1       Send_command(0x15,0x04);//选择通道
 115   1       Send_command(0x1E,0x00);//复位DSP
 116   1       Send_command(0x1D,0x22);//设置DTMF接收增益
 117   1       Send_command(0x20,0x30);//设置音频发送增益
C51 COMPILER V7.06   MAIN                                                                  09/01/2008 20:48:35 PAGE 3   

 118   1       Send_command(0x21,0x2E);//设置DTMF发送增益
 119   1       Send_command(0x23,0x59);//写音调系数1
 120   1       Send_command(0x24,0xAB);//写音调系数2
 121   1       Send_command(0x1E,0x41);//开始DTMF编程
 122   1       Send_command(0x0E,0x82);//选择扬声器和滤波器
 123   1       
 124   1      }
 125          
 126          //听筒通话
 127          void tingtong()
 128          {
 129   1       Send_command(0x15,0x04);//选择通道
 130   1       Send_command(0x1E,0x00);//复位DSP
 131   1       Send_command(0x1D,0x70);//设置接收增益
 132   1       Send_command(0x20,0x30);//设置发送增益
 133   1       Send_command(0x1E,0x21);//开始接收增益编程
 134   1       Send_command(0x0E,0x99);//选择通话设备和上电   ???不能读出
 135   1       Send_command(0x0B,0x04);//设置消侧音增益
 136   1      }
 137          
 138          //免提通话
 139          void mianti()
 140          {
 141   1       Send_command(0x15,0x0c);//选择通道    ???默认读出0x08
 142   1       Send_command(0x1E,0x00);//复位DSP
 143   1       Send_command(0x1D,0x38);//设置接收增益
 144   1       Send_command(0x20,0x30);//设置发送增益
 145   1       Send_command(0x1E,0x81);//开始免提编程
 146   1       Send_command(0x0E,0x1E);//设置消侧音增益
 147   1      }
 148          
 149          
 150          
 151          void main(){
 152   1      
 153   1       uchar dat = 0;
 154   1       SCON = 0x10;
 155   1       P0 = 0xf0;
 156   1       //yindiao();
 157   1       //bohao();
 158   1       //mianti();
 159   1       //tingtong();
 160   1       //Send_command(0x1E,0x00);//复位DSP
 161   1       //Send_command(0x15,0x0f);//临时调试命令
 162   1      
 163   1      /****************************调试段*********************************/
 164   1      
 165   1      
 166   1      /*
 167   1       Send_command(0x15,0x0c);//选择通道
 168   1       Send_command(0x1E,0x00);//复位DSP
 169   1       Send_command(0x1D,0x70);//设置接收增益
 170   1       Send_command(0x20,0x30);//设置发送增益
 171   1       Send_command(0x23,0x59);//写音调系数1
 172   1       Send_command(0x24,0xAB);//写音调系数2
 173   1       Send_command(0x26,0x16);//写颤音系数
 174   1      
 175   1      
 176   1       Send_command(0x1E,0x61);//开始音调编程
 177   1       Send_command(0x0E,0x8f);//选择扬声器和滤波器
 178   1       Send_command(0x1E,0x61);//控制振铃节奏
 179   1       Send_command(0x0B,0x00);//
C51 COMPILER V7.06   MAIN                                                                  09/01/2008 20:48:35 PAGE 4   

 180   1       Send_command(0x0A,0x07);//
 181   1       Send_command(0x03,0x61);//
 182   1      */
 183   1       //Send_command(0x1E,0x00);//复位DSP
 184   1      
 185   1      /*******************************************************************/
 186   1      
 187   1      
 188   1      
 189   1      
 190   1      
 191   1       while(1){
 192   2              
 193   2              //P0 = ~Read_command(0x15);
 194   2              P0 = 0xff;
 195   2              _nop_(); // 产生一条NOP指令
 196   2              P0 = 0x00;
 197   2              //Delay(4);
 198   2              //NOP();
 199   2              
 200   2              _nop_(); // 产生一条NOP指令
 201   2              _nop_(); // 产生一条NOP指令
 202   2              _nop_(); // 产生一条NOP指令
 203   2              _nop_(); // 产生一条NOP指令
 204   2              _nop_(); // 产生一条NOP指令
 205   2              _nop_(); // 产生一条NOP指令
 206   2              _nop_(); // 产生一条NOP指令
 207   2              _nop_(); // 产生一条NOP指令
 208   2              _nop_(); // 产生一条NOP指令
 209   2              _nop_(); // 产生一条NOP指令
 210   2              _nop_(); // 产生一条NOP指令
 211   2              _nop_(); // 产生一条NOP指令
 212   2              _nop_(); // 产生一条NOP指令
 213   2              _nop_(); // 产生一条NOP指令
 214   2              _nop_(); // 产生一条NOP指令
 215   2              _nop_(); // 产生一条NOP指令
 216   2              _nop_(); // 产生一条NOP指令
 217   2              _nop_(); // 产生一条NOP指令
 218   2              _nop_(); // 产生一条NOP指令
 219   2              _nop_(); // 产生一条NOP指令
 220   2              _nop_(); // 产生一条NOP指令
 221   2              _nop_(); // 产生一条NOP指令
 222   2              _nop_(); // 产生一条NOP指令
 223   2              _nop_(); // 产生一条NOP指令
 224   2              _nop_(); // 产生一条NOP指令
 225   2              _nop_(); // 产生一条NOP指令
 226   2              _nop_(); // 产生一条NOP指令
 227   2              _nop_(); // 产生一条NOP指令
 228   2              _nop_(); // 产生一条NOP指令
 229   2              _nop_(); // 产生一条NOP指令
 230   2              _nop_(); // 产生一条NOP指令
 231   2              _nop_(); // 产生一条NOP指令
 232   2              _nop_(); // 产生一条NOP指令
 233   2              _nop_(); // 产生一条NOP指令
 234   2              _nop_(); // 产生一条NOP指令
 235   2              _nop_(); // 产生一条NOP指令
 236   2              _nop_(); // 产生一条NOP指令
 237   2              _nop_(); // 产生一条NOP指令
 238   2              _nop_(); // 产生一条NOP指令
 239   2              _nop_(); // 产生一条NOP指令
 240   2              _nop_(); // 产生一条NOP指令
 241   2              _nop_(); // 产生一条NOP指令
C51 COMPILER V7.06   MAIN                                                                  09/01/2008 20:48:35 PAGE 5   

 242   2              _nop_(); // 产生一条NOP指令
 243   2              _nop_(); // 产生一条NOP指令
 244   2              _nop_(); // 产生一条NOP指令
 245   2              _nop_(); // 产生一条NOP指令
 246   2              _nop_(); // 产生一条NOP指令
 247   2              _nop_(); // 产生一条NOP指令
 248   2              _nop_(); // 产生一条NOP指令
 249   2              _nop_(); // 产生一条NOP指令
 250   2              _nop_(); // 产生一条NOP指令
 251   2              _nop_(); // 产生一条NOP指令
 252   2      
 253   2      
 254   2      
 255   2      
 256   2       }
 257   1              
 258   1      
 259   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    364    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       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 + -