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

📄 key7279.lst

📁 找了很久,这里的C8051F020的UCOS移植.020没有SFRPAGE. KEIL下的C8051F040的UCOS的源代码,用YY的改写的,增加了对页寄存器SFRPAGE和PSBANK寄存器的保
💻 LST
字号:
C51 COMPILER V8.08   KEY7279                                                               03/20/2008 12:09:20 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE KEY7279
OBJECT MODULE PLACED IN KEY7279.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE KEY7279.c LARGE BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "KEY7279.h"
   2          void delay(unsigned int cnt);
   3          uchar ab[8];
   4          void delay(unsigned int cnt)    
   5          {
   6   1         while(cnt--);        
   7   1      }
   8          void wbyte(uchar x)
   9          {uchar i;
  10   1       SFRPAGE=0x0f;
  11   1       delay(25);
  12   1       delay(50);
  13   1       for(i=0;i<8;i++)
  14   1       {
  15   2       dat=(bit)(x&0x80);
  16   2       clk7279 =1;
  17   2       delay(6);
  18   2       clk7279 =0;
  19   2        x<<=1;
  20   2        delay(2);
  21   2       }
  22   1        dat=1;
  23   1      }
  24          void write7279b(uchar x)
  25          {//cs=0;
  26   1      wbyte(x);
  27   1      //cs=1;
  28   1      }
  29          void write7279w(uchar com,uchar shu)
  30          {//cs=0;
  31   1       wbyte(com);
  32   1       wbyte(shu);
  33   1       delay(50);
  34   1      // cs=1;
  35   1      }
  36          uchar readkey()
  37          {uchar i,x;
  38   1       SFRPAGE=0x0f;
  39   1       //cs=0;
  40   1       //delay(25);
  41   1       delay(50);
  42   1       wbyte(0x15);
  43   1      // delay(12);
  44   1      delay(20);
  45   1       clk7279=1;
  46   1      // delay(4);
  47   1      delay(6);
  48   1       for(i=0;i<8;i++)
  49   1       {  x<<=1;
  50   2         if(dat)x|=0x01;
  51   2              clk7279=0;
  52   2      //      delay(4);
  53   2          delay(7);
  54   2              clk7279=1;
  55   2              delay(7);
C51 COMPILER V8.08   KEY7279                                                               03/20/2008 12:09:20 PAGE 2   

  56   2       }
  57   1      //  clk7279=0;
  58   1      //      cs=1;
  59   1              return x;
  60   1      }
  61          
  62          void ddtq()
  63          {uchar i,j,k=160;
  64   1       while(k)
  65   1       { j=250;
  66   2         while(j)
  67   2          { i=250;
  68   3                while(i){if(key)return;i--;}
  69   3                j--;
  70   3              }
  71   2              k--;
  72   2       }
  73   1        return;
  74   1      }
  75          void play7279(uchar *p)
  76          {uchar i;
  77   1       for(i=0;i<8;i++)
  78   1       {write7279w(i|0x80,p[i]);
  79   2       }
  80   1      }
  81          void qp7279(uchar *p)
  82          {uchar i;
  83   1        for(i=0;i<8;i++)
  84   1       { p[i]=0x0f;    
  85   2       }
  86   1      }
  87          void displ(uchar *p,uchar x)
  88          {uchar i;
  89   1      for(i=7;i>0;i--)
  90   1       { p[i]=p[i-1];
  91   2       }
  92   1       p[i]=x;
  93   1      } 
  94          void keypend()
  95          {
  96   1        key=1;
  97   1        if(!key)
  98   1      { delay(5000);//去抖动   
  99   2        if(!key)
 100   2        { displ(ab,readkey());
 101   3      //      write7279b(0xa4);
 102   3              play7279(ab);
 103   3          ddtq();
 104   3        }
 105   2      }
 106   1      }
 107          /*
 108          void main()
 109          {uchar ab[8];
 110          //P2=0xff;
 111                  SFRPAGE=0x0f;
 112          
 113          //cs=1;
 114          clk=0;
 115          write7279b(0xa4);
 116          //delayms(10);
 117          Delay(6000);
C51 COMPILER V8.08   KEY7279                                                               03/20/2008 12:09:20 PAGE 3   

 118          //write7279b(0xbf);
 119          qp7279(ab);
 120          play7279(ab);
 121          write7279w(0x84,9);
 122          write7279w(0x85,7);
 123          write7279w(0x86,2);
 124          write7279w(0x87,7);
 125          
 126          //while(1);
 127          
 128          while(1)
 129          {key=1;
 130           while(key);
 131          // delayms(100);
 132          Delay(25000);
 133             if(!key)
 134            { displ(ab,readkey());
 135                  write7279b(0xa4);
 136                  play7279(ab);
 137              ddtq();
 138            }
 139          }
 140          
 141          }*/


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