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

📄 adc.lst

📁 0809共阳数字电压表
💻 LST
字号:
C51 COMPILER V8.02   ADC                                                                   07/27/2013 17:08:54 PAGE 1   


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

line level    source

   1          
   2          #include "reg52.h"        //52系列单片机定义文件
   3          #include "intrins.h"      //调用_nop_();延时函数用
   4          
   5          
   6          #define uchar unsigned char//无符号字符(8位)
   7          #define uint unsigned int  //无符号整数(16位)
   8          
   9          
  10          sbit  START=P3^0;         //启动一次转换位
  11          sbit  OE=P3^1;            //0809输出数据控制位
  12          sbit  EOC=P3^2;           //转换结束标志位
  13          
  14          //
  15          //
  16          uchar code dis_7[11]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};
  17          /* 共阳七段LED段码表  "0"  "1"  "2"  "3"  "4"  "5"  "6"  "7"  "8"  "9" "不亮" */ 
  18                         
  19          uchar code  scan_con[4]={0xfe,0xfd,0xfb,0xf7};      //四位列扫描控制字
  20          
  21          
  22          //
  23          // 
  24          
  25          /********1毫秒延时子函数**********/
  26          void delay(uint ms)
  27          {
  28   1         uint i;
  29   1         while(ms--)
  30   1         for(i=0;i<120;i++);
  31   1      }
  32          //
  33          //
  34          /***********显示扫描子函数**********/
  35          void disp(uint a)
  36          {
  37   1       uchar a1=0,a2=0,a3=0,a4=0;
  38   1         
  39   1       
  40   1        a1=a%10000/1000;
  41   1        a2=a%1000/100;
  42   1        a3=a%100/10;
  43   1        a4=a%10;
  44   1        
  45   1      
  46   1         P1=0x01;
  47   1         P2=dis_7[a1]&0x7f; 
  48   1         delay(1);
  49   1        
  50   1         P1=0x02;
  51   1         P2=dis_7[a2];
  52   1         delay(1);
  53   1         
  54   1         
  55   1         P1=0x04;
C51 COMPILER V8.02   ADC                                                                   07/27/2013 17:08:54 PAGE 2   

  56   1         P2=dis_7[a3];
  57   1         delay(1);
  58   1         //P1=0xfb;
  59   1         
  60   1         P1=0x08;
  61   1         P2=dis_7[a4]; 
  62   1         delay(1);
  63   1         
  64   1      }
  65           
  66          
  67          
  68          
  69          /*******0809AD转换子函数***********/
  70          uint test()
  71          {
  72   1        uint s=0;
  73   1        float ad_data=0;
  74   1        while(EOC==1);                   //等待转换结束
  75   1        {
  76   2        OE=1;delay(2);ad_data=P0;OE=0;        //取AD值
  77   2        s=ad_data*5000/255;
  78   2        return s;
  79   2        }
  80   1        }
  81          
  82          //**************主函数****************/
  83          void main()
  84          {
  85   1      uint b;
  86   1      while(1)
  87   1       {
  88   2         START=1;START=0; //开始转换命令
  89   2         delay(2);       //延时2ms
  90   2         START=1;
  91   2         b=test();       //测量转换一次
  92   2         disp(b);//显示函数
  93   2         
  94   2        }
  95   1      }
  96          
  97          //*********************结束**************************//
  98          
  99          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    278    ----
   CONSTANT SIZE    =     15    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       9
   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 + -