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

📄 key.lst

📁 18b20的c程序+串口通讯+595显示温度
💻 LST
字号:
C51 COMPILER V6.23a  KEY                                                                   11/26/2006 16:12:14 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN key.OBJ
COMPILER INVOKED BY: d:\tools\Keil\C51\BIN\C51.EXE key.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <reg52.h>
   2          #include <stdio.h>
   3          #include <absacc.h>
   4          #include <intrins.h>
   5          #include <iccard.h>
   6          #define nop _nop_()
   7          bit key_flag;
   8          uchar key_value;
   9          void wt_dog()
  10          {
  11   1              x5045_cs=1;
  12   1              nop;nop;nop;
  13   1              x5045_cs=0;
  14   1              nop;nop;nop;
  15   1              x5045_cs=1;
  16   1      }
  17          void delay(uint16 x)
  18          {
  19   1              uint16 i,k;
  20   1              for(i=x;i>0;i--)
  21   1              {
  22   2                              for(k=5000;k>0;k--);
  23   2                              wt_dog();
  24   2              }
  25   1      }
  26          void delayns()
  27          {
  28   1              uchar i;
  29   1              for(i=0;i<10;i++);
  30   1      }
  31          void init_7289()
  32          {
  33   1              IT1=0;//设置为电平出发
  34   1              EA=1;
  35   1              EX1=1;
  36   1              key_cs=1;
  37   1              key_flag=0;
  38   1              key_value=0xaa;
  39   1      }
  40          void send_key(uchar cmd)
  41          {
  42   1              uchar i,k;
  43   1              k=cmd;
  44   1              for(i=8;i>0;i--)
  45   1              {       
  46   2                      
  47   2                      key_clk=0;
  48   2                      delayns();
  49   2                      if(k&0x80)key_dat=1;
  50   2                      else key_dat=0;
  51   2                      key_clk=1;
  52   2                      delayns();
  53   2                      key_clk=0;
  54   2                      delayns();
  55   2                      k<<=1;
C51 COMPILER V6.23a  KEY                                                                   11/26/2006 16:12:14 PAGE 2   

  56   2              }
  57   1      }
  58          void sendcmd_key(uchar cmd)
  59          {
  60   1              key_cs=0;
  61   1              send_key(cmd);
  62   1              key_cs=1;
  63   1      }
  64          void senddat_key(uchar cmd,uchar dat)
  65          {
  66   1              key_cs=0;
  67   1              send_key(cmd);
  68   1              delayns();
  69   1              send_key(dat);
  70   1              key_cs=1;
  71   1      }
  72          uchar getkey_key()//
  73          {
  74   1              uchar j,key;
  75   1              key=0;
  76   1              key_cs=0;
  77   1              send_key(getkey_7289);
  78   1              key_dat=1;
  79   1              for(j=8;j>0;j--)
  80   1              {
  81   2                      
  82   2                      key_clk=0;
  83   2                      delayns();
  84   2                      
  85   2                      key_clk=1;
  86   2                      delayns();
  87   2                      if(key_dat)key=key*2+1;
  88   2                      else key=key*2;
  89   2                      key_clk=0;
  90   2                      delayns();
  91   2      
  92   2                      
  93   2              }
  94   1              
  95   1              key_cs=1;
  96   1              return(key);
  97   1      }
  98          
  99          void disp_key(uchar x)
 100          {
 101   1              uchar i;
 102   1              i=x;
 103   1              sendcmd_key(reset_7289);
 104   1              senddat_key(disp1_7289|7,i&0x0f);
 105   1              i>>=4;
 106   1              senddat_key(disp1_7289|6,i&0x0f);
 107   1      }
 108          
 109          void key_disp(uint32 dat)
 110          {
 111   1              uchar i;
 112   1              uint32 k;
 113   1              k=dat;
 114   1              i=(uchar)k;
 115   1              sendcmd_key(reset_7289);
 116   1              senddat_key(disp1_7289|7,i&0x0f);
 117   1              k>>=4;
C51 COMPILER V6.23a  KEY                                                                   11/26/2006 16:12:14 PAGE 3   

 118   1              i=(uchar)k;
 119   1              senddat_key(disp1_7289|6,i&0x0f);
 120   1              k>>=4;
 121   1              i=(uchar)k;
 122   1              senddat_key(disp1_7289|5,i&0x0f);
 123   1              k>>=4;
 124   1              i=(uchar)k;
 125   1              senddat_key(disp1_7289|4,i&0x0f);
 126   1              k>>=4;
 127   1              i=(uchar)k;
 128   1              senddat_key(disp1_7289|3,i&0x0f);
 129   1              k>>=4;
 130   1              i=(uchar)k;
 131   1              senddat_key(disp1_7289|2,i&0x0f);
 132   1              k>>=4;
 133   1              i=(uchar)k;
 134   1              senddat_key(disp1_7289|1,i&0x0f);
 135   1              k>>=4;
 136   1              i=(uchar)k;
 137   1              senddat_key(disp1_7289|0,i&0x0f);
 138   1      
 139   1      }
 140          
 141          void Getkey_IRQ() interrupt 2
 142          {
 143   1              EX1=0;
 144   1              if(key_flag==0)
 145   1              {
 146   2                      key_value=getkey_key();
 147   2                      key_flag=1;
 148   2              }
 149   1              while(INT1==0);
 150   1              EX1=1;
 151   1      }
 152          
 153          void key_main (void)
 154          {       
 155   1              delay(5);
 156   1              init_7289();
 157   1              sendcmd_key(reset_7289);
 158   1              sendcmd_key(test_7289);
 159   1              delay(20);
 160   1              delay(20);
 161   1              sendcmd_key(reset_7289);
 162   1              senddat_key(disp1_7289|0,0x00);
 163   1              senddat_key(disp1_7289|1,0x01);
 164   1              senddat_key(disp1_7289|2,0x02);
 165   1              senddat_key(disp1_7289|3,0x03);
 166   1              senddat_key(disp1_7289|4,0x04);
 167   1              senddat_key(disp1_7289|5,0x05);
 168   1              senddat_key(disp1_7289|6,0x06);
 169   1              senddat_key(disp1_7289|7,0x07);
 170   1              delay(20);
 171   1              delay(20);
 172   1              delay(20);
 173   1              delay(20);
 174   1              sendcmd_key(reset_7289);
 175   1              while(1)
 176   1              {
 177   2      
 178   2                      if(key_flag==1)
 179   2                      {
C51 COMPILER V6.23a  KEY                                                                   11/26/2006 16:12:14 PAGE 4   

 180   3                              key_flag=0;
 181   3                              disp_key(key_value);
 182   3                              delay(20);
 183   3                      }
 184   2                      wt_dog();
 185   2              }
 186   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    616    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1       4
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -