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

📄 to yao(qq).lst

📁 空调温度自动控制(lcd显示+上下限可设置)采用80C51+1602+AD590+ADC0809
💻 LST
字号:
C51 COMPILER V7.08   TO_YAO_QQ_                                                            04/03/2008 09:51:57 PAGE 1   


C51 COMPILER V7.08, COMPILATION OF MODULE TO_YAO_QQ_
OBJECT MODULE PLACED IN To Yao(QQ).OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE To Yao(QQ).c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <at89x52.H>
   2          #include "LCD1602.h"
   3          
   4          
   5          
   6          //********
   7          
   8          unsigned char i;
   9          sbit ST=P2^4; 
  10          sbit OE=P2^5; 
  11          sbit EOC=P2^6; 
  12          sbit CLK=P2^7; 
  13          void t0(void) interrupt 1 using 0 
  14          {  CLK=~CLK; } 
  15          //***
  16          
  17          unsigned char TempBuffer[10];
  18          void IntToStr(unsigned int t, unsigned char *str, unsigned char n) 
  19          {
  20   1              unsigned char a[5]; char i, j;                                  
  21   1              a[0]=(t/10000)%10;         //取得整数值到数组     
  22   1              a[1]=(t/1000)%10;                                       
  23   1              a[2]=(t/100)%10;                                        
  24   1              a[3]=(t/10)%10;                                         
  25   1              a[4]=(t/1)%10;                                          
  26   1                                                            
  27   1              for(i=0; i<5; i++)         //转成ASCII码         
  28   1                      a[i]=a[i]+'0';                                          
  29   1              for(i=0; a[i]=='0' && i<=3; i++);                       
  30   1              for(j=5-n; j<i; j++)       //填充空格                 
  31   1                      { *str=' ';  str++; }                                   
  32   1              for(; i<5; i++)                                         
  33   1                      { *str=a[i]; str++; }  //加入有效的数字           
  34   1              *str='\0'; 
  35   1      } 
  36          
  37          void Delay1ms(unsigned int count)
  38          {
  39   1              unsigned int i,j;
  40   1              for(i=0;i<count;i++)
  41   1              for(j=0;j<120;j++);
  42   1      }
  43          
  44          unsigned long getdata;
  45          unsigned long temp;
  46          unsigned int n=3;
  47          unsigned char nou=35;
  48          unsigned char nod=20;
  49          
  50          main()
  51          {
  52   1      //************
  53   1        ST=0; 
  54   1        OE=0; 
  55   1        ET0=1; 
C51 COMPILER V7.08   TO_YAO_QQ_                                                            04/03/2008 09:51:57 PAGE 2   

  56   1        ET1=1; 
  57   1        EA=1; 
  58   1       TMOD=0x02; 
  59   1        TH0=216; 
  60   1        TL0=216; 
  61   1        TR0=1; 
  62   1      ST=1; 
  63   1      ST=0;//***
  64   1      
  65   1      
  66   1      
  67   1        //  Count = 0;
  68   1              LCD_Initial();
  69   1                    
  70   1              while(1)
  71   1              {    //**************
  72   2              if(EOC==1) 
  73   2               { 
  74   3                OE=1; 
  75   3               getdata=P3; 
  76   3        //getdata=127;
  77   3                OE=0; 
  78   3            //  temp=(getdata-137)*2; 
  79   3             temp=(getdata*100/51-272);
  80   3      
  81   3      //P2=getdata;
  82   3      
  83   3      
  84   3                ST=1; 
  85   3                ST=0;  
  86   3      
  87   3             }
  88   2      if(P1_3==0){Delay1ms(70);if(P1_3==0){  n++;
  89   4                                            
  90   4                                             
  91   4                                          if(n==4) n=1;}
  92   3                                           }
  93   2      
  94   2      
  95   2      switch(n){
  96   3        case 1:   
  97   3               IntToStr(nou,&TempBuffer[0],3);
  98   3              GotoXY(0,0);
  99   3                  Print("Set upper limit");
 100   3                  GotoXY(0,1);
 101   3                  Print(" is:        \"C "); 
 102   3                      GotoXY(7,1);
 103   3                      Print(&TempBuffer[0]); break;
 104   3        case 2:  
 105   3               IntToStr(nod,&TempBuffer[0],3);
 106   3              GotoXY(0,0);
 107   3                  Print("Set lower limit ");
 108   3                  GotoXY(0,1);
 109   3                  Print(" is:        \"C "); 
 110   3                      GotoXY(7,1);
 111   3                      Print(&TempBuffer[0]); break;
 112   3        case 3:  IntToStr(temp,&TempBuffer[0],3);
 113   3              GotoXY(0,0);
 114   3                  Print("Now temperature ");
 115   3                  GotoXY(0,1);
 116   3                  Print(" is:        \"C "); 
 117   3                      GotoXY(7,1);
C51 COMPILER V7.08   TO_YAO_QQ_                                                            04/03/2008 09:51:57 PAGE 3   

 118   3                      Print(&TempBuffer[0]);
 119   3              
 120   3                       break;
 121   3              }
 122   2      if(P1_1==0){Delay1ms(50);if(P1_1==0){if(n==1&&nou>nod) nou--;
 123   4                                               else if(n==2) nod--;}
 124   3                            } 
 125   2      
 126   2      if(P1_0==0){Delay1ms(50);if(P1_0==0){if(n==1) nou++;
 127   4                                               else if(n==2&&nod<nou) nod++;}   
 128   3                            }
 129   2      
 130   2         if(nod>temp){P1_5=0;P1_6=1;}
 131   2        else if(nou<temp){P1_5=1;P1_6=0;}              
 132   2          else {P1_5=0;P1_6=0;}
 133   2              }
 134   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    786    ----
   CONSTANT SIZE    =     66    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     23      12
   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 + -