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

📄 计价器存储.lst

📁 刚学时编的小程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
C51 COMPILER V8.02   计价芲存储                                                            03/12/2007 20:08:55 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE 计价芲存储
OBJECT MODULE PLACED IN .\计价器存储.obj
COMPILER INVOKED BY: d:\Keil 8\C51\BIN\C51.EXE ..\7\计价器存储.c BROWSE DEBUG OBJECTEXTEND PRINT(.\计价器存储.lst) OBJEC
                    -T(.\计价器存储.obj)

line level    source

   1          #include <AT89X51.H>
   2          #include<intrins.h>
   3          
   4          #define uchar unsigned char
   5          #define uint unsigned int 
   6          #define addwr 0xa0
   7          #define addrd 0xa1
   8          
   9          unsigned char code duanma[]={0x3f,0x06,0x5b,0x4f,                                 //定义段码
  10          0x66,0x6d,0x7d,0x07,
  11          0x7f,0x6f,0x77,0x7c,
  12          0x39,0x5e,0x79,0x71,
  13          0x40,0x00,0xbf,0x86,
  14          0xdb,0xcf,0xe6,0xed,
  15          0xfd,0x87,0xff,0xef};                                                                                                                                                                           
  16          unsigned char weima[]={0xfe,0xfd,0xfb,0xf7,                     //定义扫描位码
  17          0xef,0xdf,0xbf,0x7f};
  18          unsigned char shijian[8]={0,0,16,0,0,16,0,0};                                                                   //时间存储单元
  19          unsigned char lucheng[8]={0,0,18,0,16,0,18,0};                  //路程存储单元
  20          char jiage[8]={2,19,17,0,19,17,5,20} ;                          //价格存储单元
  21          unsigned char zongjia[8]={0,18,17,17,17,0,18,0} ;               //总价存储单元
  22          char mima[8]={16,16,16,16,16,16,16,16} ;                        //输密码存储单元
  23          unsigned char mima1[8]={1,2,3,4,5,6,7,8};                       //原始密码存储单元
  24          unsigned char lu,x,y,cuo=0,hour1,w=0,m=0,n;                     //定义相关变量
  25          int i;
  26          unsigned char dis;
  27          char second;
  28          char minite,minite2;
  29          char hour;
  30          unsigned int tcnt,tcnt2;
  31          unsigned char ms,a,c;
  32          
  33          sbit k0=P1^0;
  34          sbit k1=P1^1;
  35          sbit k2=P1^2;
  36          sbit k3=P1^3;
  37          sbit sda=P1^7;
  38          sbit scl=P1^6;
  39          sbit wp=P1^5;
  40          bit k=0;
  41          
  42          delay(int t)                                                    //延时子程序
  43          {
  44   1              int s,e;
  45   1              for(s=0;s<t;s++)
  46   1                      for(e=0;e<100;e++);
  47   1      }
  48          
  49          void mdelay(uchar j)
  50          {
  51   1              uint i;
  52   1              for(;j>0;j--)
  53   1              {
  54   2                      for(i=0;i<125;i--)
C51 COMPILER V8.02   计价芲存储                                                            03/12/2007 20:08:55 PAGE 2   

  55   2                      {;}
  56   2              }
  57   1      }
  58          
  59          void start(void)
  60          {
  61   1              sda=1;
  62   1              scl=1;
  63   1              _nop_();_nop_();_nop_();_nop_();
  64   1              sda=0;
  65   1              _nop_();_nop_();_nop_();_nop_();
  66   1      }
  67          
  68          void stop(void)
  69          {
  70   1              sda=0;
  71   1              scl=1;
  72   1              _nop_();_nop_();_nop_();_nop_();
  73   1              sda=1;
  74   1              _nop_();_nop_();_nop_();_nop_();
  75   1      
  76   1      }
  77          
  78          void ack(void)
  79          {
  80   1              sda=0;
  81   1              _nop_();_nop_();_nop_();_nop_();
  82   1              scl=1;
  83   1              _nop_();_nop_();_nop_();_nop_();
  84   1              scl=0;
  85   1      }
  86          
  87          void noack(void)
  88          {
  89   1              sda=1;
  90   1              _nop_();_nop_();_nop_();_nop_();
  91   1              scl=1;
  92   1              _nop_();_nop_();_nop_();_nop_();
  93   1              scl=0;
  94   1      }
  95          
  96          void send(uchar Data)
  97          {
  98   1              uchar bitcounter=8;
  99   1              uchar temp;
 100   1              do
 101   1              {
 102   2                      temp=Data;
 103   2                      scl=0;
 104   2                      _nop_();_nop_();_nop_();_nop_();
 105   2                      if((temp&0x80)==0x80)
 106   2                      sda=1;
 107   2                      else
 108   2                      sda=0;
 109   2                      scl=1;
 110   2                      temp=Data<<1;
 111   2                      Data=temp;
 112   2                      bitcounter--;
 113   2              }while(bitcounter);
 114   1              scl=0;
 115   1      }
 116          
C51 COMPILER V8.02   计价芲存储                                                            03/12/2007 20:08:55 PAGE 3   

 117          uchar read(void)
 118          {
 119   1              uchar temp=0;
 120   1              uchar temp1=0;
 121   1              uchar bitcounter=8;
 122   1              sda=1;
 123   1              do
 124   1              {
 125   2                      scl=0;
 126   2                      _nop_();_nop_();_nop_();_nop_();
 127   2                      scl=1;
 128   2                      _nop_();_nop_();_nop_();_nop_();
 129   2                      if(sda)
 130   2                      temp=temp|0x01;
 131   2                      else
 132   2                      temp=temp&0xfe;
 133   2                      if(bitcounter-1)
 134   2                      {
 135   3                              temp1=temp<<1;
 136   3                              temp=temp1;
 137   3                      }
 138   2                      bitcounter--;
 139   2              }while(bitcounter);
 140   1              return(temp);
 141   1      }
 142          
 143          void wrtorom(uchar Data[],uchar address,uchar num)
 144          {
 145   1              uchar i;
 146   1              uchar *pData;
 147   1              pData=Data;
 148   1              for(i=0;i<num;i++)
 149   1              {
 150   2                      start();
 151   2                      send(0xa0);
 152   2                      ack();
 153   2                      send(address+i);
 154   2                      ack();
 155   2                      send(*(pData+i));
 156   2                      ack();
 157   2                      stop();
 158   2                      mdelay(20);
 159   2              }
 160   1      }
 161          
 162          void rdfromrom(uchar Data[],uchar address,uchar num)
 163          {
 164   1              uchar i;
 165   1              uchar *pData;
 166   1              pData=Data;
 167   1              for(i=0;i<num;i++)
 168   1              {
 169   2                      start();
 170   2                      send(0xa0);
 171   2                      ack();
 172   2                      send(address+i);
 173   2                      ack();
 174   2                      start();
 175   2                      send(0xa1);
 176   2                      ack();
 177   2                      *(pData+i)=read();
 178   2                      scl=0;
C51 COMPILER V8.02   计价芲存储                                                            03/12/2007 20:08:55 PAGE 4   

 179   2                      noack();
 180   2                      stop();
 181   2              }
 182   1      }
 183          
 184          yijian()                                                        //一键是否按下子程序
 185          {
 186   1              char q=0;
 187   1              if(k0==0)
 188   1              {
 189   2                      delay(2);

⌨️ 快捷键说明

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