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

📄 voidce.lst

📁 2008年山东省大学生电子设计大赛 c题 多功能电子计价秤 单片机用的 c8051f005
💻 LST
字号:
C51 COMPILER V7.20   VOIDCE                                                                09/18/2008 18:08:22 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE VOIDCE
OBJECT MODULE PLACED IN voidce.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE voidce.c LARGE BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          #include "include.h"
   3          
   4          
   5          unsigned char code dizhibiao[]={
   6          0x00,0x00,0x00,0x4b,0x00,0x96,0x00,0xe1,0x01,0x2c,0x01,0x77,0x01,0xc2,0x02,0x0d,
   7          0x02,0x58,0x02,0xa3,0x02,0xee,0x03,0x39,0x03,0x84,0x03,0xcf,0x04,0x1a,0x04,0x65,
   8          0x04,0xb0,0x04,0xfb,0x05,0x46,0x05,0x91,0x05,0xdc,0x06,0x27,0x06,0x72,0x06,0xbd,
   9          0x07,0x08,0x07,0x53,0x07,0x9e,0x07,0xe9,0x08,0x34,0x08,0x7f,0x08,0xca,0x09,0x15};
  10          
  11          
  12          unsigned int duanhaozub[32];
  13          //unsigned int duanhaozu[32]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0
             -x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f};
  14          
  15          int a,b,c,i;
  16          /*--------------------------------------------
  17          金额 9999.99
  18          将一个浮点数按位拆开放入一个数组的第i位起
  19          x:金额0x0f 总金额0x10
  20          ----------------------------------------------*/
  21          
  22          uchar voice_yuan(uchar x,float num)
  23          {
  24   1              uchar i=0;
  25   1              uint num_int;                                                   //整数部分
  26   1              uint num_fra;                                                   //小数部分
  27   1              num_int=(uint)num;
  28   1              num_fra=(uint)((num-num_int)*100);
  29   1      //--------------------------------------------转换整数部分
  30   1              duanhaozub[i]=x;                                                                        //"金额"
  31   1              i++;
  32   1              if(num_int>=1000)
  33   1              {
  34   2                      duanhaozub[i]=num_int/1000;             //转换千位
  35   2                      i++;
  36   2                      duanhaozub[i]=(num_int%1000)/100;//转换百位
  37   2                      i++;
  38   2                      duanhaozub[i]=(num_int%100)/10; //转换十位
  39   2                      i++;
  40   2                      duanhaozub[i]=num_int%10;               //转换个位
  41   2              }
  42   1              else if(num_int>=100)
  43   1              {
  44   2                      duanhaozub[i]=num_int/100;              //转换百位
  45   2                      i++;
  46   2                      duanhaozub[i]=(num_int%100)/10; //转换十位
  47   2                      i++;
  48   2                      duanhaozub[i]=num_int%10;               //转换个位
  49   2              }
  50   1              else if(num_int>=10)
  51   1              {
  52   2                      duanhaozub[i]=num_int/10;               //转换十位
  53   2                      i++;
  54   2                      duanhaozub[i]=num_int%10;               //转换个位
C51 COMPILER V7.20   VOIDCE                                                                09/18/2008 18:08:22 PAGE 2   

  55   2              }
  56   1              else
  57   1              {
  58   2                      duanhaozub[i]=num_int;                  //转换个位
  59   2              }
  60   1              i++;
  61   1              duanhaozub[i]=0x0b;                                     //转换小数点
  62   1              i++;
  63   1      //-----------------------------------------------转换小数部分
  64   1              duanhaozub[i]=num_fra/10;                       //转换十分位
  65   1              i++;
  66   1              duanhaozub[i]=num_fra%10;                       //转换千分位
  67   1              i++;
  68   1      
  69   1              duanhaozub[i]=0x0c;                             //"元"
  70   1              i++;
  71   1              return i;
  72   1      }
  73          
  74          /*--------------------------------------------
  75          重量 99.999
  76          将一个浮点数按位拆开放入一个数组的第i位起
  77          
  78          ----------------------------------------------*/
  79          
  80          uchar voice_zhong(float num)
  81          {
  82   1              uchar i=0;
  83   1              uint num_int;                                                   //整数部分
  84   1              uint num_fra;                                                   //小数部分
  85   1              num_int=(uint)num;
  86   1              num_fra=(uint)((num-num_int)*1000);
  87   1      //--------------------------------------------转换整数部分
  88   1              duanhaozub[i]=0x0e;                                                                     //"金额"
  89   1              i++;
  90   1      
  91   1              if(num_int>=10)
  92   1              {
  93   2                      duanhaozub[i]=num_int/10;               //转换十位
  94   2                      i++;
  95   2                      duanhaozub[i]=num_int%10;               //转换个位
  96   2              }
  97   1              else
  98   1              {
  99   2                      duanhaozub[i]=num_int;                  //转换个位
 100   2              }
 101   1              i++;
 102   1              duanhaozub[i]=0x0b;                                     //转换小数点
 103   1              i++;
 104   1      //-----------------------------------------------转换小数部分
 105   1              duanhaozub[i]=num_fra/100;                      //转换十分位
 106   1              i++;
 107   1              duanhaozub[i]=(num_fra%100)/10;
 108   1              i++;
 109   1              duanhaozub[i]=num_fra%10;                       //转换千分位
 110   1              i++;
 111   1      
 112   1              duanhaozub[i]=0x0d;                             //"元"
 113   1              i++;
 114   1              return i;
 115   1      }
 116          
C51 COMPILER V7.20   VOIDCE                                                                09/18/2008 18:08:22 PAGE 3   

 117          
 118          
 119          //***************************
 120          //串行发送子程序 8BIT
 121          void send(unsigned char isdx)
 122          { unsigned char isxcounter;
 123   1        SS=0;
 124   1        SCLK=0;
 125   1        for(isxcounter=0;isxcounter<8;isxcounter++)
 126   1        {if((isdx&0x01)==1)
 127   2         MOSI=1;
 128   2         else
 129   2         MOSI=0;
 130   2         isdx=isdx>>1;
 131   2         SCLK=1;
 132   2         delay(24);
 133   2         SCLK=0;
 134   2         delay(24);
 135   2        }
 136   1      }
 137          //****************************
 138          //发送STOP指令,延时50MS
 139          void isdstop(void)
 140          {
 141   1        delay(120);
 142   1        send(0x30);
 143   1        SS=1;
 144   1        delay_ms(600);
 145   1      }
 146          //****************************
 147          //发送上电指令,延时50MS
 148          void isdpwrup(void)
 149          {
 150   1        delay(120);
 151   1        SS=0;
 152   1        send(0x20);
 153   1        SS=1;
 154   1        delay_ms(600);  
 155   1      }
 156          //****************************
 157          //发送掉电指令,延时50MS
 158          void isdpwrdown(void)
 159          {
 160   1        delay(120);
 161   1        send(0x10);
 162   1        SS=1;
 163   1        delay_ms(600);  
 164   1      }
 165          //****************************
 166          
 167          //****************************
 168          //发送setplay指令
 169          void setplay(unsigned char adh,unsigned char adl)
 170          {
 171   1       delay_ms(24);
 172   1       send(adl);
 173   1       delay(24);
 174   1       send(adh);
 175   1       delay(24);
 176   1       send(0xe0);
 177   1       SS=1;
 178   1       send(0xf0);
C51 COMPILER V7.20   VOIDCE                                                                09/18/2008 18:08:22 PAGE 4   

 179   1       SS=1;  
 180   1      }
 181          //****************************
 182          //PALY 全部的函数
 183          void play(uchar n)
 184          {
 185   1        for(i=0;i<n;i++)
 186   1         {  
 187   2      //      a=duanhaozu[i]*2;//调用数组duanhaozu
 188   2         a=duanhaozub[i]*2;//或者数组duanhaozub
 189   2               _nop_();
 190   2           b=dizhibiao[a];
 191   2               _nop_();
 192   2               a=a+1;
 193   2           c=dizhibiao[a];
 194   2               _nop_();
 195   2           setplay(b,c);
 196   2           delay(20);
 197   2               while(ISDINT==1)//EOM未中断
 198   2           {;}//若''中断‘’,向下执行
 199   2           LED=1;
 200   2           isdstop();
 201   2          }  
 202   1      }
 203          
 204          
 205          //************************************
 206          
*** WARNING C316 IN LINE 206 OF voidce.c: unterminated conditionals


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1272    ----
   CONSTANT SIZE    =     64    ----
   XDATA SIZE       =     72      20
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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