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

📄 bbbb.lst

📁 用于测试步进电机
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.00  BBBB                                                                   09/14/2006 16:35:49 PAGE 1   


C51 COMPILER V7.00, COMPILATION OF MODULE BBBB
OBJECT MODULE PLACED IN bbbb.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE bbbb.c OPTIMIZE(9,SIZE) BROWSE ORDER DEBUG OBJECTEXTEND

stmt level    source

   1          /*********************************************
   2          *    文件名:bbbb.c
   3          *********************************************/
   4          #include <REG51STC.H>
   5          #include <ABSACC.H>
   6          #include "CMD16887.H"
   7          #include <INTRINS.H>
   8          #include "externxy.h"
   9          /***************************************************************
  10          *  功能:显示锁机b
  11          *  输入密码过程中是从右到左,即第1个输入的在最右边--个位。
  12          ***************************************************************/
  13          void disp_lock_b(void)
  14          {       void  *ptr;
  15   1              uchar i,j;
  16   1              uchar  dispmem[16];
  17   1              if(menu2==4) 
  18   1              {
  19   2                      if(temp_memb!=4)
  20   2                      {
  21   3                              keyb_num[0]=keynumdata[temp_memb];
  22   3                              keyb_num[1]=keynumdata[27];
  23   3                              keyb_num[2]=keynumdata[3];
  24   3                              keyb_num[3]=keynumdata[0];
  25   3                      }
  26   2                      else
  27   2                      {  ptr=&ration_num_b;
  28   3                              writebyteseq(PASSSTARTADD+4,ptr,4);
  29   3                              keyb_num[0]=keynumdata[3];
  30   3                              keyb_num[1]=keynumdata[3];
  31   3                              keyb_num[2]=keynumdata[3];
  32   3                              keyb_num[3]=keynumdata[3];
  33   3                      }
  34   2              }
  35   1              else 
  36   1              {
  37   2                      keyb_num[0]=keynumdata[19];
  38   2                      keyb_num[1]=keynumdata[27];
  39   2                      keyb_num[2]=keynumdata[3];
  40   2                      keyb_num[3]=keynumdata[0];
  41   2              }
  42   1              if(locknooil_b) keyb_num[4]=0x01;
  43   1              else keyb_num[4]=0x02;
  44   1      
  45   1         if(multiple_b==1)j=0;
  46   1              else if(multiple_b==10)j=1;
  47   1              else if(multiple_b==100)j=2;
  48   1              else if(multiple_b==1000)j=3;
  49   1              else j=4;
  50   1              for(i=0;i<j;i++)
  51   1              {
  52   2                      dispmem[i]=0x0e;  //'-'
  53   2              }
  54   1              for(i=j;i<16;i++)
  55   1              {
C51 COMPILER V7.00  BBBB                                                                   09/14/2006 16:35:49 PAGE 2   

  56   2                      dispmem[i]=0x0f;
  57   2              }
  58   1              
  59   1      
  60   1              ptr=&dispmem;
  61   1              disp_updata_lcd(LCDBADD,ptr);
  62   1              disp_dot2(5);   //LCD1小数点--无
  63   1      }
  64          /**************************************************
  65          *  功能: ;  显示定量加油数据b
  66          ***************************************************/
  67          void disp_vip_b(void)
  68          {       uchar  i,j,temp;
  69   1              uchar  dispmem[6];
  70   1              uchar lcdadd,dotdata;
  71   1              bit   bymem;
  72   1              disp_ration_ending_b();
  73   1              if(ration_mode_b)
  74   1              {
  75   2                      keyb_num[4]=0x04;  //定升
  76   2              dispmem[5]=0x0a;  //L
  77   2                      lcdadd=0x04;
  78   2                      dotdata=dotmode[decimal_b];
  79   2                      dotdata&=0x36;
  80   2                      disp_lcd2(ration_num_b,0x0a);  //公升
  81   2              }
  82   1              else
  83   1              {
  84   2                      keyb_num[4]=0x08;  //定元
  85   2                      dispmem[5]=0x0c;  //L
  86   2                      lcdadd=0x0a;
  87   2                      dotdata=dotmode[decimal_b];
  88   2                      dotdata&=0x2d;
  89   2                      disp_lcd2(ration_num_b,0x04);  
  90   2              }
  91   1              disp_dot2(dotdata);   //LCD2小数点    
  92   1              dispmem[4]=0x0f;dispmem[3]=0x0f;dispmem[2]=0x0f;dispmem[1]=0x0f;dispmem[0]=0x0f;
  93   1              AUXR |=0x02;
  94   1              for(i=6;i>0;i--)
  95   1              {  ACC=0x38;
  96   2                      XBYTE[LCDBADD]=ACC;   //ST
  97   2                      bbyte=dispmem[i-1];     
  98   2                      temp=bbyte*16+i+lcdadd-1;
  99   2                      for(j=8;j>0;j--)
 100   2                      {  bbyte=temp;
 101   3                         bymem=(bit)(bbyte&0x80);
 102   3                              temp<<=1;
 103   3                              bbyte=0x38;
 104   3                              a1= bymem;   //DS-->DATA
 105   3                              XBYTE[LCDBADD]=bbyte; 
 106   3                              ACC|=0x01;  
 107   3                              XBYTE[LCDBADD]=ACC;   //CP-->CLK ↑
 108   3                              ACC&=0xfe;
 109   3                              XBYTE[LCDBADD]=ACC;   //CP-->CLK ↓ 
 110   3                      } 
 111   2                      ACC=0x3c;
 112   2                      XBYTE[LCDBADD]=ACC;   //ST-->INH           
 113   2              }       
 114   1          AUXR &=0xfd;
 115   1               
 116   1      }
 117          /***********************************************************
C51 COMPILER V7.00  BBBB                                                                   09/14/2006 16:35:49 PAGE 3   

 118          *  功能:计算、显示定量加油结局b
 119          ***********************************************************/
 120          void  disp_ration_ending_b(void)
 121          {  
 122   1         xdata uchar tt[6];
 123   1              ulong  ma;
 124   1              uint aa,bb;
 125   1              uchar i;        
 126   1              uchar  strdot;   //小数点位置
 127   1              bbyte=dotmode[decimal_b];   //小数点
 128   1      
 129   1              if(ration_mode_b)       
 130   1              {   //升
 131   2                      if(a4){ma=ration_num_b*120/100; strdot=2;}
 132   2                      else if(a1){ma=ration_num_b*120/1000;strdot=3;}
 133   2                      else  {ma=ration_num_b*120;strdot=0;}
 134   2              }
 135   1              else
 136   1              {       
 137   2                      if(a5)aa=100;  //单价小数点
 138   2                      else if(a2)aa=1000;
 139   2                      else aa=1;
 140   2      
 141   2                      if(a3){bb=100;strdot=2;}  //金额小数点
 142   2                      else if(a0){bb=10;strdot=1;}
 143   2                      else {bb=1;strdot=0;}   
 144   2                      ma=ration_num_b*120*aa/bb/price_b;
 145   2              }
 146   1              
 147   1              //ma=nn;
 148   1              //ration_pulse_a=ma;  //定量脉冲
 149   1              calculate_ration(1);
 150   1              ma=ration_num_b;
 151   1              tt[5]=ma%10;ma/=10;
 152   1              tt[4]=ma%10;ma/=10;
 153   1              tt[3]=ma%10;ma/=10;
 154   1              tt[2]=ma%10;ma/=10;
 155   1              tt[1]=ma%10;ma/=10;
 156   1              tt[0]=ma%10;ma/=10;
 157   1              
 158   1              for(i=0;i<5;i++)
 159   1              {  if(i==(5-strdot))break;
 160   2                      if(tt[i]==0x00)  tt[i]=28;
 161   2                      else  break;
 162   2              }
 163   1              if(multiple_b==1000)

⌨️ 快捷键说明

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