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

📄 计价器存储.lst

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


C51 COMPILER V8.02, COMPILATION OF MODULE 计价芲存储
OBJECT MODULE PLACED IN 计价器存储.OBJ
COMPILER INVOKED BY: d:\Keil 8\C51\BIN\C51.EXE 计价器存储.c BROWSE DEBUG OBJECTEXTEND

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          uchar shijian[8]={0,0,16,0,0,16,0,0};                                                                   //时间存储单元
  19          unsigned char lucheng[8]={0,0,18,0,16,0,18,0};                  //路程存储单元
  20          uchar jiage[8]={2,19,17,0,19,17,5,20} ;                          //价格存储单元
  21          uchar zongjia[8]={0,18,17,17,17,0,18,0} ;               //总价存储单元
  22          uchar mima[8]={16,16,16,16,16,16,16,16} ;                        //输密码存储单元
  23          uchar mima1[8]={1,2,3,4,5,6,7,8};                       //原始密码存储单元
  24          uchar lu,x,y,cuo=0,hour1,w=0,m=0,n;                     //定义相关变量
  25          int i;
  26          uchar dis;
  27          char second;
  28          char minite,minite2;
  29          char hour;
  30          uint tcnt,tcnt2,tcnt3;
  31          uchar ms,a,c,jia;
  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          sbit led=P1^4;
  41          sbit res=P3^0;
  42          bit k=0;
  43          
  44          delay(int t)                                                    //延时子程序
  45          {
  46   1              int s,e;
  47   1              for(s=0;s<t;s++)
  48   1                      for(e=0;e<100;e++);
  49   1      }
  50          
  51          void mdelay(uchar j)
  52          {
  53   1              uint i;
  54   1              for(;j>0;j--)
  55   1              {
C51 COMPILER V8.02   计价芲存储                                                            04/22/2007 20:47:35 PAGE 2   

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

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

 180   2                      scl=0;
 181   2                      noack();
 182   2                      stop();
 183   2              }
 184   1      }
 185          
 186          yijian()                                                        //一键是否按下子程序
 187          {
 188   1              char q=0;
 189   1              if(k0==0)
 190   1              {
 191   2                      delay(2);
 192   2                      if(k0==0)
 193   2                      {
 194   3                              q=1;    
 195   3                              while(1)        if(k0==1)  break;
 196   3                      }

⌨️ 快捷键说明

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