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

📄 main.lst

📁 单片机开发板配套52个程序(c语言源代码)
💻 LST
字号:
C51 COMPILER V7.06   MAIN                                                                  09/30/2011 15:02:53 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\obj\main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND PRINT(.\obj\main.lst) OBJECT(.\obj\main.ob
                    -j)

stmt level    source

   1          /*-----------------------------------------------
   2            名称:IIC协议 PCF8591 AD/DA转换 测试光敏电阻
   3            修改:无
   4            内容:使用4路AD中的1路检测外部模拟量输入,显示0-255数值
   5          ------------------------------------------------*/  
   6          #include <reg52.h>                
   7          #include "i2c.h"
   8          #include "delay.h"
   9          #include "display.h"
  10          
  11          #define AddWr 0x90   //写数据地址 
  12          #define AddRd 0x91   //读数据地址
  13          
  14          extern bit ack;
  15          unsigned char ReadADC(unsigned char Chl);
  16          bit WriteDAC(unsigned char dat);
  17          /*------------------------------------------------
  18                        主程序
  19          ------------------------------------------------*/
  20          main()
  21          {
  22   1       unsigned char num=0;
  23   1       Init_Timer0();
  24   1      
  25   1      
  26   1      while (1)         //主循环
  27   1        {
  28   2        
  29   2       num=ReadADC(3);//值取差值,用于显示光强越小,数值越小
  30   2       TempData[0]=dofly_DuanMa[num/100];    
  31   2       TempData[1]=dofly_DuanMa[(num%100)/10];
  32   2       TempData[2]=dofly_DuanMa[(num%100)%10];
  33   2       //主循环中添加其他需要一直工作的程序
  34   2       DelayMs(100);
  35   2        }
  36   1      }
  37          /*------------------------------------------------
  38                       读AD转值程序
  39          输入参数 Chl 表示需要转换的通道,范围从0-3
  40          返回值范围0-255
  41          ------------------------------------------------*/
  42          unsigned char ReadADC(unsigned char Chl)
  43           {
  44   1         unsigned char Val;
  45   1         Start_I2c();               //启动总线
  46   1         SendByte(AddWr);             //发送器件地址
  47   1           if(ack==0)return(0);
  48   1         SendByte(0x40|Chl);            //发送器件子地址
  49   1           if(ack==0)return(0);
  50   1         Start_I2c();
  51   1         SendByte(AddWr+1);
  52   1            if(ack==0)return(0);
  53   1         Val=RcvByte();
  54   1         NoAck_I2c();                 //发送非应位
C51 COMPILER V7.06   MAIN                                                                  09/30/2011 15:02:53 PAGE 2   

  55   1         Stop_I2c();                  //结束总线
  56   1        return(Val);
  57   1       }
  58          /*------------------------------------------------
  59                         写入DA转换数值
  60          输入参数:dat 表示需要转换的DA数值,范围是0-255
  61          ------------------------------------------------*/
  62          /*bit WriteDAC(unsigned char dat)
  63          {
  64             Start_I2c();               //启动总线
  65             SendByte(AddWr);             //发送器件地址
  66               if(ack==0)return(0);
  67             SendByte(0x40);            //发送器件子地址
  68               if(ack==0)return(0);
  69             SendByte(dat);             //发送数据
  70               if(ack==0)return(0);
  71             Stop_I2c();  
  72          }*/


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