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

📄 chengxu.lst

📁 MQ8氢气检测传感器说明书V1.1
💻 LST
字号:
C51 COMPILER V8.05a   CHENGXU                                                              07/08/2009 00:10:01 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE CHENGXU
OBJECT MODULE PLACED IN chengxu.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE chengxu.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg52.h>             //头文件
   2          #define uchar unsigned char        //宏定义无符号字符型
   3          #define uint  unsigned  int        //宏定义无符号整型
   4          code uchar seg7code[10]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //显示段码 数码管字跟
   5          uchar wei[4]={0XEf,0XDf,0XBf,0X7f};  //位的控制端                                                                //位控制码
   6          sbit ST=P3^0;   //A/D启动转换信号
   7          sbit OE=P3^1;   //数据输出允许信号
   8          sbit EOC=P3^2;  //A/D转换结束信号
   9          sbit CLK=P3^3;  //时钟脉冲  
  10          uint z,x,c,v,AD0809, date;      //定义数据类型
  11          /******************************************************************
  12          延时函数
  13          ******************************************************************/
  14          void delay(uchar t)
  15          {
  16   1        uchar i,j;
  17   1         for(i=0;i<t;i++)
  18   1         {
  19   2               for(j=13;j>0;j--);
  20   2               { ;
  21   3               }
  22   2         }
  23   1      }
  24          /**********************************************************************
  25                          数码管动态扫描
  26          *********************************************************************/
  27          void xianshi() //显示函数
  28           { 
  29   1      uint z,x,c,v;
  30   1        z=date/1000;                   //求千位
  31   1        x=date%1000/100;               //求百位
  32   1        c=date%100/10;                 //求十位
  33   1        v=date%10;                     //求个位
  34   1      
  35   1            P2=0XFF;
  36   1                P0=seg7code[z]&0x7f;
  37   1                P2=wei[0];
  38   1                delay(80);
  39   1                P2=0XFF;  
  40   1            P0=seg7code[x];
  41   1                P2=wei[1];
  42   1                delay(80);
  43   1                P2=0XFF;  
  44   1                P0=seg7code[c];
  45   1                P2=wei[2];
  46   1                delay(80);
  47   1                P2=0XFF;  
  48   1            P0=seg7code[v];
  49   1                P2=wei[3];
  50   1                delay(80); 
  51   1                P2=0XFF;
  52   1        }
  53           /*************************************************************************
  54                                          CLK振荡信号     
  55          **************************************************************************/
C51 COMPILER V8.05a   CHENGXU                                                              07/08/2009 00:10:01 PAGE 2   

  56          void timer0( ) interrupt 1 //定时器0工作方式1
  57          {
  58   1      
  59   1      TH0=(65536-2)/256;        //重装计数初值
  60   1      TL0=(65536-2)%256;        //重装计数初值
  61   1      CLK=!CLK;                         //取反
  62   1      }
  63          
  64           /*************************************************************************
  65                                          主函数  
  66          **************************************************************************/
  67           void main()
  68          { 
  69   1      TMOD=0X01;                        //定时器中断0
  70   1      
  71   1      CLK=0;                            //脉冲信号初始值为0
  72   1      TH0=(65536-2)/256;        //定时时间高八位初值
  73   1      TL0=(65536-2)%256;        //定时时间低八位初值
  74   1      EA=1;                             //开CPU中断
  75   1      ET0=1;                            //开T/C0中断
  76   1      TR0=1;
  77   1       while(1)                          //无限循环
  78   1              {
  79   2              ST=0;                           //使采集信号为低
  80   2              ST=1;                           //开始数据转换
  81   2              ST=0;                           //停止数据转换
  82   2              while(!EOC);            //等待数据转换完毕
  83   2              OE=1;                           //允许数据输出信号
  84   2              AD0809=P1;                  //读取数据
  85   2              OE=0;                           //关闭数据输出允许信号
  86   2              if(AD0809>=251)         //电压显示不能超过5V
  87   2              AD0809=250;
  88   2              date=AD0809*20;         //数码管显示的数据值,其中20为采集数据的毫安值
  89   2              xianshi();                      //数码管显示函数
  90   2          
  91   2          }
  92   1      }       


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    257    ----
   CONSTANT SIZE    =     10    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     16       4
   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 + -