dianya.lst

来自「数字电压表.rar」· LST 代码 · 共 128 行

LST
128
字号
C51 COMPILER V7.50   DIANYA                                                                05/04/2009 22:05:19 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE DIANYA
OBJECT MODULE PLACED IN dianya.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE dianya.c DEBUG OBJECTEXTEND

line level    source

   1           #include"reg52.h"
   2          #include"intrins.h"
   3          #define ad_con  P2
   4          #define addata  P0
   5          #define Disdata P1
   6          #define uchar unsigned char
   7          #define uint  unsigned int
   8          //sbit button_C=P2^7;
   9          sbit   ALE=P2^3;
  10          sbit   START=P2^4;
  11          sbit   OE=P2^5;
  12          sbit   EOC=P2^6;
  13          sbit AddA=P2^0;
  14          sbit AddB=P2^1;
  15          sbit AddC=P2^2;
  16          bit keynum;
  17          bit keyon;
  18          unsigned char add_howl;
  19          uchar code dis_7[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  20          /*共阳7段LED断码表 “0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”,“不亮”*/
  21          uchar code scan_con[4]={0xfe,0xfd,0xfb,0xf7};                           //4位列扫描控制字
  22          uchar data ad_data;        //定义数据内存单元
  23          uint  data dis[5]={0x00,0x00,0x00,0x00,0x00}; 
  24          uchar ledcode[4]; 
  25          uint n,m;              //定义4个显示数据单元和1个数据占存单元
  26          /********************1ms延时子函数*************/
  27          /*delay1ms(uint t)
  28          {
  29           uint i,j;
  30           for(i=0;i<t;i++)
  31              for(j=0;j<120;j++)
  32                  ;
  33          }
  34          */
  35          void delayms(unsigned char ms)    // 延时毫秒@12M,ms最大值255  精确度高  
  36          {    
  37   1          unsigned char i;    
  38   1          while(ms--)    
  39   1              for(i = 0; i < 124; i++);    
  40   1      }   
  41          
  42          
  43          
  44          scan(unsigned char dat,bit mv) //数码管显示 
  45          {
  46   1         uchar data i=0x00,j=0x00; 
  47   1         dis[2]=dat/51;
  48   1         dis[4]=dat%51;
  49   1         dis[4]=dis[4]*10;
  50   1         dis[1]=dis[4]/51;
  51   1         dis[4]=dis[4]%51;
  52   1         dis[4]=dis[4]*10;
  53   1         dis[0]=dis[4]/51;
  54   1         if(mv==0)
  55   1         {
C51 COMPILER V7.50   DIANYA                                                                05/04/2009 22:05:19 PAGE 2   

  56   2              ledcode[0]=dis_7[dis[0]];
  57   2              ledcode[1]=dis_7[dis[1]];
  58   2              ledcode[2]=dis_7[dis[2]]-0x80;  //共阳极
  59   2              ledcode[3]=dis_7[dis[3]];
  60   2         }
  61   1       
  62   1                  for(i = 0; i < 4; i++)    //扫描
  63   1          {    
  64   2                P3 = scan_con[j];            
  65   2                P1 = ledcode[i];     
  66   2                delayms(1);    
  67   2                j++;
  68   2          } 
  69   1          j=0;
  70   1       }        
  71          test(unsigned char Add) //输入通道 Add=0 通道0;    Add=1  通道1;
  72          {
  73   1      AddA=Add;
  74   1      AddB=0;
  75   1      AddC=0;
  76   1      ALE=1;_nop_();_nop_();ALE=0;
  77   1      START=1;_nop_();_nop_();START=0;
  78   1      _nop_();_nop_();_nop_();_nop_();
  79   1      while(EOC==0);
  80   1      OE=1;ad_data=addata;OE=0;
  81   1      ad_con=0xc0;
  82   1      }       
  83          main()
  84          { 
  85   1      dis[3]=0;
  86   1      P0=0xff;
  87   1      P2=0xc0;
  88   1      P1=0xff;
  89   1      P3=0xff;
  90   1      while(1)
  91   1         { 
  92   2         
  93   2          
  94   2          if(keynum==0)
  95   2          {  
  96   3              test(0);
  97   3              scan(ad_data,keynum); 
  98   3          }
  99   2        
 100   2          
 101   2              }
 102   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    232    ----
   CONSTANT SIZE    =     15    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     20    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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