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

单片机开发

开发平台:

MultiPlatform

  1. C51 COMPILER V8.08   MT8880                                                                06/13/2008 14:48:05 PAGE 1   
  2. C51 COMPILER V8.08, COMPILATION OF MODULE MT8880
  3. OBJECT MODULE PLACED IN MT8880.OBJ
  4. COMPILER INVOKED BY: C:KeilC51BINC51.EXE MT8880.C BROWSE DEBUG OBJECTEXTEND
  5. line level    source
  6.    1          #include <reg52.h>
  7.    2          #include"type.h"
  8.    3          #include"MT8880.h"
  9.    4          
  10.    5          
  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 MT8880_INIT(void)
  21.   16          {
  22.   17   1              MT8880_RSO=1;
  23.   18   1              MT8880_RW=1; 
  24.   19   1              delay(2);
  25.   20   1              MT8880_RSO=1;
  26.   21   1              MT8880_RW=0; 
  27.   22   1              MT8880_D0=0;
  28.   23   1              MT8880_D1=0;
  29.   24   1              MT8880_D2=0;
  30.   25   1              MT8880_D3=0;
  31.   26   1              delay(2);
  32.   27   1              MT8880_RSO=1;
  33.   28   1              MT8880_RW=0; 
  34.   29   1              MT8880_D0=0;
  35.   30   1              MT8880_D1=0;
  36.   31   1              MT8880_D2=0;
  37.   32   1              MT8880_D3=1;
  38.   33   1              delay(2);
  39.   34   1              MT8880_RSO=1;
  40.   35   1              MT8880_RW=0; 
  41.   36   1              MT8880_D0=0;
  42.   37   1              MT8880_D1=0;
  43.   38   1              MT8880_D2=0;
  44.   39   1              MT8880_D3=0;
  45.   40   1              delay(2);
  46.   41   1      //      MT8880_RSO=1;
  47.   42   1      //      MT8880_RW=1; 
  48.   43   1      //      P1=0x3f;/* 读SR */
  49.   44   1      //      P1=0x20;/* CRA=0000 */
  50.   45   1      //      P1=0x20;/* CRA=0000 */
  51.   46   1      //      P1=0x28;/* CRA=1000 */
  52.   47   1      //      P1=0x20; 
  53.   48   1      }/* CRB=0000 */
  54.   49          /* 发送初始化子函数 */
  55.   50          void tran_init(void)
  56.   51          { 
  57.   52   1              MT8880_RSO=1;
  58.   53   1              MT8880_RW=0; 
  59.   54   1              MT8880_D0=1;
  60.   55   1              MT8880_D1=0;
  61. C51 COMPILER V8.08   MT8880                                                                06/13/2008 14:48:05 PAGE 2   
  62.   56   1              MT8880_D2=0;
  63.   57   1              MT8880_D3=1;
  64.   58   1              delay(2);
  65.   59   1              MT8880_RSO=1;
  66.   60   1              MT8880_RW=0; 
  67.   61   1              MT8880_D0=1;
  68.   62   1              MT8880_D1=0;
  69.   63   1              MT8880_D2=0;
  70.   64   1              MT8880_D3=0;
  71.   65   1              delay(2);
  72.   66   1      //      P1=0x29;/* CRA=1001 */
  73.   67   1      //      P1=0x21;
  74.   68   1      } /* CRB=0001 */
  75.   69          /* 发送操作子函数 */
  76.   70          void transmit(UCHAR data *p,UCHAR count)
  77.   71          {
  78.   72   1              UCHAR i;
  79.   73   1              
  80.   74   1      
  81.   75   1              for (i=0;i<count;i++,p++)
  82.   76   1              {
  83.   77   2                       P2=*p>>8; /* 发送数码 */
  84.   78   2                       delay(6000); /* 延时 */
  85.   79   2                      // P1=0x3f;
  86.   80   2                       MT8880_RSO=1;
  87.   81   2               MT8880_RW=1;   
  88.   82   2              }
  89.   83   1      }/* 读SR */
  90.   84          // 接收程序
  91.   85          //程序利用单片机的INT0以中断方式接收DTMF信号,接收的7位数码存入数组R_BUF中。
  92.   86          
  93.   87          
  94.   88          /* 接收初始化子函数 */
  95.   89          void rece_init(void)
  96.   90          { 
  97.   91   1              P1=0x24;/* CRA=0100 */
  98.   92   1              IT0=1;/* 边沿触发 */
  99.   93   1              IE=0x81; 
  100.   94   1      }/* 允许中断,开中断 */
  101.   95          /* 接收中断服务程序 */
  102.   96          void int0(void) interrupt 0 using 1
  103.   97          { 
  104.   98   1              UCHAR i;
  105.   99   1              UCHAR data r_buf[7];
  106.  100   1              SP=0X5F;
  107.  101   1              P1=0x3f;/* 读SR */
  108.  102   1              P1=0x1f;/* 读RDR */
  109.  103   1              r_buf[i++]=P1&0x0f;
  110.  104   1      } /* 保存 */
  111. MODULE INFORMATION:   STATIC OVERLAYABLE
  112.    CODE SIZE        =    183    ----
  113.    CONSTANT SIZE    =   ----    ----
  114.    XDATA SIZE       =   ----    ----
  115.    PDATA SIZE       =   ----    ----
  116.    DATA SIZE        =   ----       8
  117.    IDATA SIZE       =   ----    ----
  118.    BIT SIZE         =   ----    ----
  119. END OF MODULE INFORMATION.
  120. C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)