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

📄 suzigongfang.lst

📁 包括电源开关判断程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   SUZIGONGFANG                                                          03/21/2006 16:37:17 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE SUZIGONGFANG
OBJECT MODULE PLACED IN suzigongfang.OBJ
COMPILER INVOKED BY: E:\keic3.0\C51\BIN\C51.EXE suzigongfang.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <AT89X51.H>
   2          #include<intrins.h>
   3          #include "diver.h"
   4          /*各种显示的级数为十六级显示格式为如下:
   5          **************************************
   6          *     VOLUE        13                            *
   7          * @@@@@@@@@@@@@@@@@@@@@@@                        *
   8          **************************************/
   9          
  10          /*延时程序*/
  11          void delay(uchar j)
  12          {
  13   1        uchar m,n,s;
  14   1        for(m=j;m>0;m--)
  15   1       { for(n=20;n>0;n--)
  16   2        for(s=248;s>0;s--);}
  17   1      }
  18          
  19          
  20          
  21          
  22          
  23          
  24          /*数据缓冲*/
  25           void KM(uchar vol)  //VOL
  26          {A[0]=0x20;
  27   1       A[1]=0x20;
  28   1       A[2]=DC[(vol/100)];
  29   1       A[3]=DC[((vol%100)/10)];
  30   1       A[4]=DC[(vol%10)];
  31   1      }
  32          
  33          
  34          
  35          
  36          
  37          
  38          /*I2C的开始发送程序*/
  39          I2C_start()     
  40          {SDA=1;
  41   1       SCL=1;
  42   1       _nop_(); _nop_(); _nop_(); _nop_();
  43   1       SDA=0;
  44   1      _nop_(); _nop_(); _nop_(); _nop_();
  45   1      SCL=0;
  46   1           }
  47          
  48          
  49          
  50          
  51          
  52          
  53                   
  54          /*I2C的停止发送程序*/
  55          I2C_stop()    
C51 COMPILER V7.50   SUZIGONGFANG                                                          03/21/2006 16:37:17 PAGE 2   

  56          {SCL=0;
  57   1      SDA=0;
  58   1      _nop_(); _nop_(); _nop_(); _nop_();
  59   1      SCL=1;
  60   1      _nop_(); _nop_(); _nop_(); _nop_();
  61   1      SDA=1;
  62   1          }
  63          
  64          
  65          
  66          
  67          
  68          
  69          
  70          /*I2C等待数码电位
  71                的应答信号*/
  72          wait_ack()         
  73          {SDA=1;
  74   1      _nop_(); _nop_(); _nop_(); _nop_();
  75   1      SCL=1;
  76   1      _nop_(); _nop_(); _nop_(); _nop_();
  77   1      while(SDA==1);   //////////////////////////////////
  78   1       }
  79          
  80          
  81          
  82          
  83          
  84           /*I2C向数字电位器发送一字节得数据*/
  85           I2C_sendbyte(uchar a)      
  86           {
  87   1       uchar i=8;
  88   1       while (i--)
  89   1       {
  90   2       SCL=0;
  91   2       _nop_();
  92   2       SDA=(a&0x80); a<<=1; 
  93   2       _nop_(); _nop_(); _nop_(); _nop_();
  94   2       SCL=1;
  95   2       _nop_(); _nop_(); _nop_(); _nop_();
  96   2       }
  97   1       SCL=0;
  98   1       }
  99           
 100           
 101           
 102           
 103           
 104           
 105           
 106           
 107           /*发送命令到液晶*/
 108           lcd_com(char b)      
 109          
 110          {_nop_();_nop_();_nop_();_nop_();
 111   1      RS=0;
 112   1      RW=0;
 113   1      E=1;
 114   1      _nop_();_nop_();_nop_();_nop_();
 115   1      P0=b;
 116   1      _nop_();_nop_();_nop_();_nop_();
 117   1      _nop_();_nop_();_nop_();_nop_();
C51 COMPILER V7.50   SUZIGONGFANG                                                          03/21/2006 16:37:17 PAGE 3   

 118   1      _nop_();_nop_();_nop_();_nop_();
 119   1      _nop_();_nop_();_nop_();_nop_();
 120   1      E=0;}
 121          
 122          
 123          
 124          
 125          
 126          
 127          
 128          
 129          
 130          
 131          /*发送数据到液晶*/
 132          lcd_data(char a)  
 133          {_nop_();_nop_();_nop_();_nop_();
 134   1      RS=1;
 135   1      RW=0;
 136   1      E=1;
 137   1      
 138   1      _nop_();_nop_();_nop_();_nop_();
 139   1      P0=a;
 140   1      _nop_();_nop_();_nop_();_nop_();
 141   1      _nop_();_nop_();_nop_();_nop_();
 142   1      _nop_();_nop_();_nop_();_nop_();
 143   1      _nop_();_nop_();_nop_();_nop_();
 144   1      E=0;}
 145          
 146          
 147          
 148          
 149          
 150          
 151          
 152          
 153          
 154          /*液晶显示缓冲*/
 155          Lcd_dis(uchar k[],char M)  ////////////////////////////////////////////////////////////
 156          {char i,j;
 157   1      lcd_com(0x01);
 158   1      delay(1);          /////////////////////////////////////
 159   1      for(i=0;i<M;i++)
 160   1      {lcd_data(k[i]);
 161   2      }
 162   1      for(j=0;j<5;j++)
 163   1      {lcd_data(A[j]);}
 164   1      }
 165          
 166          
 167          
 168          
 169          
 170          
 171          
 172          
 173          
 174          
 175          /*电源开程序*/
 176           power_on()           
 177          {char i;
 178   1      lcd_com(0x01);   //清屏
 179   1      delay(10);
C51 COMPILER V7.50   SUZIGONGFANG                                                          03/21/2006 16:37:17 PAGE 4   

 180   1      OFF_ON=0;
 181   1      lcd_com( 0x0c);        //开显示
 182   1      for(i=0;i<14;i++)
 183   1      {lcd_data(ONd[i]);}
 184   1      
 185   1      delay(200);
 186   1      
 187   1      SPEAK=0;
 188   1      K=0;
 189   1      }
 190          
 191          
 192          
 193          
 194          
 195          
 196          
 197          /*电源关程序*/                  //////////////////////////////////////////////////////////////////
 198          power_off()    
 199          {char i;
 200   1      lcd_com(0x01);   //清屏
 201   1      delay(10);
 202   1      SPEAK=1;
 203   1      for(i=0;i<14;i++)
 204   1      {lcd_data(OFFd[i]);}
 205   1      delay(244);
 206   1      OFF_ON=1;
 207   1      //lcd_com( 0x08);
 208   1      K=1;}
 209          
 210          
 211          
 212          
 213          
 214          
 215          
 216          /*电源开关判断程序*/
 217          offon()     
 218          {if(K==1)
 219   1      {power_on();}
 220   1      else
 221   1      {power_off();}
 222   1          }
 223                  
 224                  
 225                  
 226                  
 227                  
 228                  
 229                  
 230                  /*键盘扫描*/
 231          uchar key(void)
 232          {uchar sccode,recode;
 233   1      P1=0xf0;
 234   1      if((P1&0xf0)!=0xf0)
 235   1      {delay(2);       //要更改一下
 236   2      if((P1&0xf0)!=0xf0)
 237   2      {sccode=0xfe;
 238   3      while((sccode&0x10)!=0)
 239   3      {P1=sccode;
 240   4      if((P1&0xf0)!=0xf0)
 241   4      {recode=(P1&0xf0)|0x0f;       /************/
C51 COMPILER V7.50   SUZIGONGFANG                                                          03/21/2006 16:37:17 PAGE 5   

 242   5      P1=0xf0;
 243   5      return((~sccode)+(~recode));
 244   5          }
 245   4       else
 246   4       sccode=(sccode<<1)|0x01;
 247   4       }
 248   3           }
 249   2              }
 250   1      P1=0xf0;
 251   1      return(0);
 252   1              }
 253          
 254                  
 255                  
 256                  
 257                  
 258                  
 259                  
 260                  
 261                  /*I2C发送缓冲*/
 262          I2C_send(uchar a,uchar b,uchar c)   //a为器件地址,b为器件内部地址,c为数据 
 263          {I2C_start();
 264   1       I2C_sendbyte(a);
 265   1       wait_ack();
 266   1      I2C_sendbyte(b);
 267   1      wait_ack();
 268   1      I2C_sendbyte(c);
 269   1      wait_ack();
 270   1      I2C_stop();
 271   1      }
 272          
 273          
 274          
 275                  /*左右声道一起增大*/
 276           all_up()  
 277           {
 278   1         if(Vol_R<=254)       //////////////hu   

⌨️ 快捷键说明

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