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

📄 touch.lst

📁 51单片机及其C语言程序开发实例光盘资料.rar
💻 LST
字号:
C51 COMPILER V7.09   TOUCH                                                                 08/24/2007 09:37:40 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE TOUCH
OBJECT MODULE PLACED IN Touch.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE Touch.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h>
   2          #include"Config.h"
   3          #include"IOCfg.c"
   4          #include"TimeDLY.h"
   5          #include"IIC_PCA8574.h"
   6          #include"Touch.h"
   7          
   8          //判断触发其处理函数:Touch_Sample()
   9          bit Touch_Sample(INT8U tmode,INT32U tword,INT8U n,INT16U freq)
  10          {
  11   1              bit x;
  12   1              INT16U addr=0;
  13   1              INT8U singl;
  14   1              INT8U temp,i,j;
  15   1              INT8U temp1,temp2,temp3,k,m;
  16   1              INT32U trig;
  17   1              INT8U Flag[8]={1,1,1,1,1,1,1,1};
  18   1              bit Touch_EN=1;
  19   1              INT8U sel=0x01;
  20   1              if(tmode==SINGLE)
  21   1              {
  22   2                      do
  23   2                      {
  24   3                              singl = tword & 0xff;
  25   3                              x=PCA8574_GetOne(0x43,temp);
  26   3                              for(i=0;i<8;i++)
  27   3                              {
  28   4                                      if(n&sel) Flag[i]=(bit)((temp&0x01)^(singl&0x01));
  29   4                                      sel = sel<<1;
  30   4                                      singl >>= 1;
  31   4                                      }
  32   3                              for(j=0;j<8;j++) Touch_EN=Touch_EN | Flag[i];
  33   3                              Touch_EN &= n;
  34   3                              }
  35   2                      while(Touch_EN);
  36   2                      do
  37   2                      {
  38   3                              RAM_CS = 1;
  39   3                              RAM_WE = 1;
  40   3                              RAM_ADDR_L = addr&0xff;
  41   3                              RAM_ADDR_L = (addr>>8)&0xff;
  42   3                              RAM_CS = 0;
  43   3                              RAM_WE = 0;
  44   3                              T0_Delay(freq); 
  45   3                              addr += 1;
  46   3                              }
  47   2                      while(addr<400);
  48   2                      return 1;               
  49   2                      }
  50   1              else if(tmode==TRI_T)
  51   1              {
  52   2                      do
  53   2                      {
  54   3                              trig = (tword >> 8)&0xfff;
  55   3                              x=PCA8574_GetOne(0x43,temp1);
C51 COMPILER V7.09   TOUCH                                                                 08/24/2007 09:37:40 PAGE 2   

  56   3                              T0_Delay(freq);
  57   3                              x=PCA8574_GetOne(0x43,temp2);
  58   3                              T0_Delay(freq);
  59   3                              x=PCA8574_GetOne(0x43,temp3);
  60   3                              for(k=0;k<8;k++)
  61   3                              {
  62   4                                      if(n&sel) 
  63   4                                              Flag[k]=(bit)((((temp1&0x01)<<2)|((temp2&0x01)<<1)|(temp3&0x01))^(trig&0x03));
  64   4                                      sel = sel<<1;
  65   4                                      trig >>= 3;
  66   4                                      }
  67   3                              for(m=0;m<8;m++) Touch_EN=Touch_EN | Flag[m];
  68   3                              Touch_EN &= n;
  69   3                              }
  70   2                      while(Touch_EN);
  71   2                      do
  72   2                      {
  73   3                              RAM_CS = 1;
  74   3                              RAM_WE = 1;
  75   3                              RAM_ADDR_L = addr&0xff;
  76   3                              RAM_ADDR_L = (addr>>8)&0xff;
  77   3                              RAM_CS = 0;
  78   3                              RAM_WE = 0;
  79   3                              T0_Delay(freq); 
  80   3                              addr += 1;
  81   3                              }
  82   2                      while(addr<400);
  83   2                      return 1;
  84   2                      }
  85   1              }


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