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

📄 program.lst

📁 AD0809做的电压表 有这方面需要的可以参考参考
💻 LST
字号:
C51 COMPILER V7.06   PROGRAM                                                               11/18/2007 22:35:48 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE PROGRAM
OBJECT MODULE PLACED IN program.OBJ
COMPILER INVOKED BY: C:\Program Files\KeilC\C51\BIN\C51.EXE program.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include<at89x52.h>
   2          unsigned char code dispbitcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
   3                                         0x82,0xf8,0x80,0x90,0xff};
   4          unsigned char dispbuf[6]; //dispbuf[6]必须大于dispbuf[3]  否则相等时,找到的是地址。//用dispbuf[3]不会显示
   5          unsigned int i; 
   6          unsigned int j;
   7          unsigned char getdata;
   8          unsigned int temp;
   9          unsigned int temp1;
  10          unsigned char count;
  11          unsigned char d;
  12          sbit ST=P3^0;
  13          sbit OE=P3^1;
  14          sbit EOC=P3^2;
  15          sbit CLK=P3^3;
  16          
  17          sbit P10=P1^0;
  18          sbit P11=P1^1;
  19          sbit P12=P1^2;
  20          sbit P13=P1^3;
  21          sbit P27=P2^7;
  22          void TimeInitial();
  23          void Delay(unsigned int i);
  24          
  25          void TimeInitial()     //开中断
  26          { TMOD=0x10;
  27   1      TH1=(65536-200)/256;
  28   1      TL1=(65536-200)%256;
  29   1       EA=1;
  30   1       ET1=1;
  31   1      TR1=1;
  32   1       }
  33          void Delay(unsigned int i)     //延时程序
  34          {
  35   1        unsigned int j;
  36   1        for(;i>0;i--)
  37   1        {
  38   2        for(j=0;j<125;j++)
  39   2        {;}
  40   2        }
  41   1      }
  42          
  43          void Display()
  44          
  45          { 
  46   1      P2=dispbitcode[dispbuf[3]]; //如果P2=0xff;  第一位不显示,消隐   //显示第一位
  47   1       P10=1;
  48   1       P11=0;
  49   1       P12=0;
  50   1       P13=0;
  51   1      Delay(10);
  52   1       P2=0xff;
  53   1      
  54   1       P2=dispbitcode[dispbuf[2]]; //显示第二位
  55   1       P27=0;
C51 COMPILER V7.06   PROGRAM                                                               11/18/2007 22:35:48 PAGE 2   

  56   1       P10=0;
  57   1       P11=1;
  58   1       P12=0;
  59   1       P13=0;
  60   1      Delay(10); 
  61   1       P2=0xff;
  62   1      
  63   1       P2=dispbitcode[dispbuf[1]];//显示第三位
  64   1       P10=0;
  65   1       P11=0;
  66   1       P12=1;
  67   1       P13=0;
  68   1      Delay(10);
  69   1       P2=0xff;
  70   1      
  71   1       P2=dispbitcode[dispbuf[0]];//显示第四位
  72   1       P10=0;
  73   1       P11=0;
  74   1       P12=0;
  75   1       P13=1;
  76   1      Delay(10);
  77   1       P2=0xff;
  78   1      
  79   1      
  80   1      
  81   1      }
  82          
  83          void main()
  84          {
  85   1      TimeInitial();
  86   1      while(1)
  87   1      {
  88   2      ST=0;
  89   2      OE=0;
  90   2      ST=1;
  91   2      ST=0;
  92   2      
  93   2      while(EOC==0);  //如果EOC等于0,一直循环,等待转换结束。转换结束EOC等于1,执行下一步。
  94   2      OE=1;
  95   2      getdata=P0;
  96   2      OE=0;
  97   2      temp=getdata*1.0/255*500;
  98   2      dispbuf[0]=temp%10;
  99   2      dispbuf[1]=temp/10%10;
 100   2      dispbuf[2]=temp/100%10;
 101   2      dispbuf[3]=temp/1000;
 102   2      Display();
 103   2      
 104   2      }
 105   1      }
 106          
 107          void t1(void) interrupt 3 using 0
 108          {
 109   1        TH1=(65536-200)/256;
 110   1       TL1=(65536-200)%256;
 111   1       CLK=~CLK;
 112   1        }
 113          
 114          /*temp==489
 115          dispbuf[0]=489%10;  取余运算,结果为9      //个位数运算
 116          dispbuf[1]=489/10%10;   489/10 取商运算,结果为48  ;   48%10=8   //十位数运算
 117          dispbuf[2]=489/100%10;    489/100 取商运算,结果为4     4%10  取余运算。结果为4
C51 COMPILER V7.06   PROGRAM                                                               11/18/2007 22:35:48 PAGE 3   

 118          dispbuf[3]=489/1000;     489/1000  取商运算,结果为0
 119          */


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    257    ----
   CONSTANT SIZE    =     11    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     17    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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