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

📄 guiyihua2.lst

📁 基于51单片机的ADC0809工程。在KEIL C中已经编译通过
💻 LST
字号:
C51 COMPILER V8.02   GUIYIHUA2                                                             04/13/2009 20:28:41 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE GUIYIHUA2
OBJECT MODULE PLACED IN guiyihua2.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE guiyihua2.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg52.h>
   2          #define uchar unsigned char
   3          #define uint unsigned int
   4          
   5          sbit Addr0 = P2^0;                       //8通道选择位
   6          sbit Addr1 = P2^1;
   7          sbit Addr2 = P2^2;
   8          sbit OE    = P2^3;                      //转换数据输出位
   9          //sbit CLK   = P2^4;
  10          sbit ST    = P2^5;                 //开始位,地址锁存位
  11          sbit EOC   = P2^6;                 //转换结束位
  12          
  13          uchar code DispTab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,
  14                                                                  0x82,0xF8,0x80,0x90};  //段码0-9
  15          uchar DispBuf[4];     //显示缓存区
  16          sfr LedPort=0x80;         //P0口接段码
  17          sfr DataPort = 0xB0;
  18          
  19          sbit LED0=P1^0;           //数码管控制位
  20          sbit LED1=P1^1;
  21          sbit LED2=P1^2;
  22          sbit LED3=P1^3;
  23          
  24          uint Data,count,Getdata;
  25          
  26          void Delay(uchar i)               //延时
  27          {
  28   1              for(;i>0;i--)
  29   1                      {
  30   2                              uchar j=244;
  31   2                              while(--j);
  32   2                      }
  33   1      }
  34          
  35          
  36          
  37          void Display()           //显示子程序
  38          {
  39   1              P1 = 0xff;       //关所有的位选
  40   1              LedPort = DispBuf[1]&0x7f;                //动态扫态
  41   1              LED1 = 0;
  42   1              Delay(1);
  43   1              LED1 = 1;
  44   1      
  45   1              LedPort = DispBuf[2];
  46   1              LED2 = 0;
  47   1              Delay(1);
  48   1              LED2 = 1;
  49   1      
  50   1              LedPort = DispBuf[3];
  51   1              LED3 = 0;
  52   1              Delay(1);
  53   1              LED3 = 1;       
  54   1      }
  55          
C51 COMPILER V8.02   GUIYIHUA2                                                             04/13/2009 20:28:41 PAGE 2   

  56          
  57          void main()
  58          {
  59   1              TMOD=0x01;                                       //利用定时器,定时1S转换一次数据
  60   1              TH0=(65536-50000)/256;           //对定时器0,赋初值
  61   1              TL0=(65536-50000)%256;
  62   1              TR0=1;
  63   1              ET0=1;
  64   1              EA=1;
  65   1      
  66   1      
  67   1      
  68   1              while(1)
  69   1                      {
  70   2                              Addr0 = 0;                       //选通ADC0809的IN0
  71   2                              Addr1 = 0;
  72   2                              Addr2 = 0;
  73   2      
  74   2                              OE    = 0; 
  75   2                              ST    = 0;
  76   2                              ST    = 1;                       //     初始化ADC0809
  77   2                              Delay(1);
  78   2                              ST    = 0;                      // 开始转换数据
  79   2                              Delay(1);
  80   2                          while(!EOC);          //等待ADC0809转换数完成
  81   2                  OE = 1;                             //送出转换得的数据
  82   2                              Getdata = DataPort;     //将转换得的数据赋值给Getdata
  83   2                  OE = 0;
  84   2                              ST = 1;
  85   2                              Data=Getdata*49/25;                      //将ADC0809送来的数据,转化作对应的电压值
  86   2      //                      Data = Getdata;
  87   2                              Display();
  88   2                                              
  89   2                      }
  90   1      }
  91          
  92          void Timer0() interrupt 1
  93          {
  94   1      
  95   1              TH0 = (65536-50000)/256;                          //再次赋值
  96   1              TL0 = (65536-50000)%256;
  97   1              
  98   1              count++;
  99   1              if(count==20)
 100   1              {
 101   2              count = 0;
 102   2              DispBuf[1]=DispTab[Data/100];
 103   2              DispBuf[2]=DispTab[(Data%100)/10];
 104   2              DispBuf[3]=DispTab[(Data%100)%10];
 105   2              
 106   2              }               
 107   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    302    ----
   CONSTANT SIZE    =     10    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     10       1
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
C51 COMPILER V8.02   GUIYIHUA2                                                             04/13/2009 20:28:41 PAGE 3   

END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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