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

📄 temp.lst

📁 单片机温度控制系统源代码
💻 LST
字号:
C51 COMPILER V8.08   TEMP                                                                  03/18/2009 21:47:28 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE TEMP
OBJECT MODULE PLACED IN temp.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE temp.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #define uchar unsigned char
   2          #define uint  unsigned int
   3          #define ulong unsigned long
   4          #include <reg52.h>
   5          #include <stdio.h>
   6          #include <lcd.h>
   7          
   8          //通过ADC0832采样模拟数据
   9          sbit SCS=P3^6;
  10          sbit SCLK=P3^5;
  11          sbit SDOUT=P3^3;
  12          sbit SDIN=P3^4;
  13          
  14          sbit led1 = P1^6;
  15          sbit led2 = P1^7;
  16          
  17          
  18          //sbit EPIN = P1^2;        //LCM1602使能信号
  19          uchar buf[3];
  20          uchar bdata DATAIN;
  21          sbit BITIN=DATAIN^0;
  22          sbit buzzer=P3^7;
  23          uint get_data;
  24          
  25          
  26          void buzz(uchar b)        //蜂鸣器发音
  27          {
  28   1              uchar i;
  29   1              uint j;
  30   1              for(j=0;j<b*256;j++)
  31   1              {
  32   2                      for(i=100;i>0;i--);//i的大小决定输出频率
  33   2                      buzzer=~buzzer;
  34   2              }
  35   1      }
  36          
  37          
  38          uchar get_ad(bit channel)
  39          { 
  40   1              uchar i;
  41   1      
  42   1              SCLK=0; 
  43   1              SCS=1;//选通允许 
  44   1              SCS=0;  
  45   1              SDIN=1; //启动位
  46   1              SCLK=1;
  47   1              SDIN=1;//SGL
  48   1              SCLK=0;
  49   1              SCLK=1;
  50   1              SDIN=channel;//ODD=1; 选CH0。
  51   1              SCLK=0;
  52   1              SCLK=1;
  53   1              SCLK=0;
  54   1              SCLK=1;
  55   1              SCLK=0;
C51 COMPILER V8.08   TEMP                                                                  03/18/2009 21:47:28 PAGE 2   

  56   1              for(i=0;i<8;i++)
  57   1              {
  58   2                      DATAIN=DATAIN<<1; //移位8次取到采样的值
  59   2                      BITIN=SDOUT;
  60   2                      SCLK=1;
  61   2                      SCLK=0;
  62   2              }
  63   1              SCS=1;
  64   1              return(DATAIN); 
  65   1      }
  66          
  67          void convert()
  68          {
  69   1         uint temp=0;
  70   1         temp=get_ad(0);
  71   1         get_data = (uint)temp*100/255 ;
  72   1           
  73   1               if( get_data < 30)
  74   1          {
  75   2            led1 = 1;
  76   2            led2 = 0;
  77   2                buzz(5);
  78   2          }
  79   1        else if( get_data > 60)
  80   1          {
  81   2           led1 = 0;
  82   2           led2 = 1;
  83   2               buzz(20);
  84   2          }
  85   1        else
  86   1         {
  87   2           led1 = 0;
  88   2           led2 = 0;
  89   2         }
  90   1       
  91   1         
  92   1      }
  93          
  94          void main()
  95          {
  96   1      
  97   1      
  98   1        EPIN=0;
  99   1        lcdreset();
 100   1        lcdwda(0,0,"THE temprure IS");
 101   1        lcdwda(0,1,"measrued:        ");      
 102   1        while(1)  
 103   1        {     
 104   2           convert();
 105   2               
 106   2               buf[0]=get_data%1000/100;
 107   2           buf[1]=get_data%100/10;
 108   2           buf[2]=get_data%10;
 109   2      
 110   2              lcdchar (9,1,buf[0]+0x30);
 111   2          lcdchar (10,1,buf[1]+0x30);
 112   2              lcdchar (11,1,buf[2]+0x30); 
 113   2        }
 114   1        
 115   1      }
 116          
 117          
C51 COMPILER V8.08   TEMP                                                                  03/18/2009 21:47:28 PAGE 3   

 118          
 119          
 120          
 121          
 122          
 123          
 124          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    288    ----
   CONSTANT SIZE    =     34    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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