TM8880.LST
上传用户:woden7206
上传日期:2015-11-28
资源大小:14486k
文件大小:3k
源码类别:

单片机开发

开发平台:

MultiPlatform

  1. C51 COMPILER V8.08   TM8880                                                                04/28/2008 14:56:24 PAGE 1   
  2. C51 COMPILER V8.08, COMPILATION OF MODULE TM8880
  3. OBJECT MODULE PLACED IN TM8880.OBJ
  4. COMPILER INVOKED BY: C:KeilC51BINC51.EXE TM8880.C BROWSE DEBUG OBJECTEXTEND
  5. line level    source
  6.    1          #include <reg52.h>
  7.    2          #include"type.h"
  8.    3          #include"TM8880.h"
  9.    4          
  10.    5          UCHAR data r_buf[7];
  11.    6          /* 延时子函数 */
  12.    7          void delay(UINT l)
  13.    8          { 
  14.    9   1              UINT i;
  15.   10   1              for (i=0;i<l;i++);
  16.   11   1      }
  17.   12          /* 主函数(主程序) */
  18.   13          
  19.   14          /* MT8880初始化子函数 */
  20.   15          void TM8880_INIT(void)
  21.   16          {
  22.   17   1              P1=0x3f;/* 读SR */
  23.   18   1              P1=0x20;/* CRA=0000 */
  24.   19   1              P1=0x20;/* CRA=0000 */
  25.   20   1              P1=0x28;/* CRA=1000 */
  26.   21   1              P1=0x20; 
  27.   22   1      }/* CRB=0000 */
  28.   23          /* 发送初始化子函数 */
  29.   24          void tran_init(void)
  30.   25          { 
  31.   26   1              P1=0x29;/* CRA=1001 */
  32.   27   1              P1=0x21;
  33.   28   1      } /* CRB=0001 */
  34.   29          /* 发送操作子函数 */
  35.   30          void transmit(UCHAR data *p,UCHAR count)
  36.   31          {
  37.   32   1              UCHAR i;
  38.   33   1              UCHAR data w_buf[7];
  39.   34   1              
  40.   35   1              SP=0x5f;
  41.   36   1      /* 预存数码5135535 */
  42.   37   1              w_buf[0]=5;
  43.   38   1              w_buf[1]=1;
  44.   39   1              w_buf[2]=3;
  45.   40   1              w_buf[3]=5;
  46.   41   1              w_buf[4]=5;
  47.   42   1              w_buf[5]=3;
  48.   43   1              w_buf[6]=5;
  49.   44   1      
  50.   45   1              for (i=0;i<count;i++,p++)
  51.   46   1              {
  52.   47   2                       P1=*p; /* 发送数码 */
  53.   48   2                       delay(6000); /* 延时 */
  54.   49   2                       P1=0x3f;
  55.   50   2              }
  56.   51   1      }/* 读SR */
  57.   52          // 接收程序
  58.   53          //程序利用单片机的INT0以中断方式接收DTMF信号,接收的7位数码存入数组R_BUF中。
  59.   54          
  60.   55          
  61. C51 COMPILER V8.08   TM8880                                                                04/28/2008 14:56:24 PAGE 2   
  62.   56          /* 接收初始化子函数 */
  63.   57          void rece_init(void)
  64.   58          { 
  65.   59   1              P1=0x24;/* CRA=0100 */
  66.   60   1              IT0=1;/* 边沿触发 */
  67.   61   1              IE=0x81; 
  68.   62   1      }/* 允许中断,开中断 */
  69.   63          /* 接收中断服务程序 */
  70.   64          void int0(void) interrupt 0 using 1
  71.   65          { 
  72.   66   1              UCHAR i;
  73.   67   1              P1=0x3f;/* 读SR */
  74.   68   1              P1=0x1f;/* 读RDR */
  75.   69   1              r_buf[i++]=P1&0x0f;
  76.   70   1      } /* 保存 */
  77. MODULE INFORMATION:   STATIC OVERLAYABLE
  78.    CODE SIZE        =    136    ----
  79.    CONSTANT SIZE    =   ----    ----
  80.    XDATA SIZE       =   ----    ----
  81.    PDATA SIZE       =   ----    ----
  82.    DATA SIZE        =      7       8
  83.    IDATA SIZE       =   ----    ----
  84.    BIT SIZE         =   ----    ----
  85. END OF MODULE INFORMATION.
  86. C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)