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

📄 led.lst

📁 基于89s52的空调模拟系统的实现
💻 LST
📖 第 1 页 / 共 4 页
字号:
 851   1              if(humidity[1]<0){humidity[0]--;humidity[1]=9;}
 852   1              if(humidity[0]<=0){humidity[0]=0;humidity[1]=0;}
 853   1              gotoxy(0x0a,0x30);
 854   1           for(i=0;i<2;i++)
 855   1          {
 856   2              lcd_regwrite(0x12,0x91);
 857   2            lcd_datawrite(humidity[i]+0x30);
 858   2                      lcd_regwrite(0x12,0x90);
 859   2          }
 860   1               lcd_page=2;
 861   1      }
C51 COMPILER V8.08   LED                                                                   08/20/2008 16:06:02 PAGE 15  

 862          
 863          void incre_out_humidity()
 864          {
 865   1           uint i;
 866   1               out_humidity[1]++;
 867   1              if(out_humidity[1]>9){out_humidity[0]++;out_humidity[1]=0;}
 868   1              if(out_humidity[0]>=10){out_humidity[0]=9;out_humidity[1]=9;}
 869   1              gotoxy(0x0a,0x40);
 870   1           for(i=0;i<2;i++)
 871   1          {
 872   2              lcd_regwrite(0x12,0x91);
 873   2            lcd_datawrite(out_humidity[i]+0x30);
 874   2                      lcd_regwrite(0x12,0x90);
 875   2          }
 876   1               lcd_page=2;
 877   1      }
 878          
 879          void decre_out_humidity()
 880          {
 881   1       uint i;
 882   1              out_humidity[1]--;
 883   1              if(out_humidity[1]<0){out_humidity[0]--;out_humidity[1]=9;}
 884   1              if(out_humidity[0]<=0){out_humidity[0]=0;out_humidity[1]=0;}
 885   1              gotoxy(0x0a,0x40);
 886   1           for(i=0;i<2;i++)
 887   1          {
 888   2              lcd_regwrite(0x12,0x91);
 889   2            lcd_datawrite(out_humidity[i]+0x30);
 890   2                      lcd_regwrite(0x12,0x90);
 891   2          }
 892   1               lcd_page=2;
 893   1      }
 894          
 895          
 896          
 897          uchar touch_confirm(uint x,uint y)
 898          {
 899   1      uchar key_status=0;
 900   1      if                        ((x>150)&&(x<250)&&(y>150)&&(y<250) ) key_status=1;
 901   1      else if   ((x>630)&&(x<670)&&(y>380)&&(y<430) ) key_status=2;
 902   1      else if   ((x>550)&&(x<600)&&(y>480)&&(y<550) ) key_status=3;
 903   1      else if   ((x>480)&&(x<530)&&(y>480)&&(y<550) ) key_status=4;
 904   1      else if   ((x>400)&&(x<450)&&(y>480)&&(y<550) ) key_status=5;
 905   1      else if   ((x>300)&&(x<350)&&(y>480)&&(y<550) ) key_status=6;
 906   1      else if   ((x>200)&&(x<250)&&(y>480)&&(y<550) ) key_status=7;
 907   1      else if   ((x>150)&&(x<200)&&(y>480)&&(y<550) ) key_status=14;
 908   1      else if   ((x>550)&&(x<600)&&(y>400)&&(y<450) ) key_status=8;
 909   1      else if   ((x>550)&&(x<600)&&(y>300)&&(y<350) ) key_status=9;
 910   1      else if   ((x>450)&&(x<500)&&(y>400)&&(y<450) ) key_status=10;
 911   1      else if   ((x>450)&&(x<500)&&(y>300)&&(y<350) ) key_status=11;  
 912   1      else if   ((x>380)&&(x<430)&&(y>400)&&(y<450) ) key_status=12;
 913   1      else if   ((x>380)&&(x<430)&&(y>300)&&(y<350) ) key_status=13;                                                   
 914   1      return(key_status);
 915   1      }
 916          
 917          void key_control(uchar status)
 918          {
 919   1      switch(status)
 920   1      {
 921   2      case 1:{switch(lcd_page)
 922   3                              {
 923   4                              case 1:{auto_perform();break;}
C51 COMPILER V8.08   LED                                                                   08/20/2008 16:06:02 PAGE 16  

 924   4                      case 2:
 925   4                              case 3:{log_control();break;}
 926   4                              }
 927   3                      break;    }
 928   2      case 2: {switch(lcd_page)
 929   3                              {
 930   4                          case 2:{remote_control();break;}
 931   4                              }
 932   3                       break;  }
 933   2      case 3:{switch(lcd_page)
 934   3                   {
 935   4                               case 3:{auto_perform();break;}
 936   4                               }
 937   3                    break;    }
 938   2      case 4:{switch (lcd_page)
 939   3                              {
 940   4                              case 3:{up_temp();break;}
 941   4                              }
 942   3                      break;                   }
 943   2      case 5:{switch(lcd_page)
 944   3                              {
 945   4                              case 3:{down_temp();break;}
 946   4                              }
 947   3                      break;            }
 948   2      case 6: {switch(lcd_page)               
 949   3                              {
 950   4                              case 3:{up_humidity();break;}
 951   4                              }
 952   3                      break;     }
 953   2      case 7:{switch(lcd_page)
 954   3                              {
 955   4                              case 3:{down_humidity();break;}
 956   4                              }
 957   3                      break;   }
 958   2      case 14:{switch(lcd_page)
 959   3                              {
 960   4                              case 3:{change();break;}
 961   4                              }
 962   3                      break;   }
 963   2      case 8:{switch(lcd_page)
 964   3                  {
 965   4                              case 2:{incre_temp();break;}
 966   4                              }
 967   3                      break;  }
 968   2      case 9:{switch (lcd_page)
 969   3                              {
 970   4                              case 2:{decre_temp();break;}
 971   4                              }
 972   3                      break;   }
 973   2      case 10:{switch (lcd_page)
 974   3                              {
 975   4                              case 2:{incre_humidity();break;}
 976   4                              }
 977   3                      break;  }
 978   2      case 11:{switch(lcd_page)
 979   3                              {
 980   4                              case 2:{decre_humidity();break;}
 981   4                              }
 982   3                              break;   }
 983   2      case 12:{switch (lcd_page)
 984   3                              {
 985   4                              case 2:{incre_out_humidity();break;}
C51 COMPILER V8.08   LED                                                                   08/20/2008 16:06:02 PAGE 17  

 986   4                              }
 987   3                      break;  }
 988   2      
 989   2      case 13:{switch(lcd_page)
 990   3                              {
 991   4                              case 2:{decre_out_humidity();break;}
 992   4                              }
 993   3                              break;   }
 994   2      default:break;           
 995   2      }
 996   1        
 997   1      }
 998          //.............................................
 999          void get_touch(void) small
1000          {
1001   1        uchar reg_rddata,i;
1002   1        uint touchx,touchy,key_status;
1003   1        
1004   1        lcd_regwrite(0xc0,0xc0);  //TOUCH ON
1005   1        
1006   1      //  if((touch_test() & 0x40))
1007   1        {
1008   2          while(!(lcd_regread(0xc1) & 0x80))
1009   2              delay1(1);
1010   2          touchy = touch_y();
1011   2          touchx = touch_x();
1012   2        //  if((touchy<900)&&(touchy>100)&&(touchx<900)&&(touchx>100))
1013   2              {
1014   3              //    key_status=touch_confirm(touchx,touchy);
1015   3      
1016   3      //      key_control(key_status);
1017   3      /*      gotoxy(0x18,0x50);
1018   3              lcd_regwrite(0x12,0x91);
1019   3            lcd_datawrite(key_status+0x30);
1020   3                      lcd_regwrite(0x12,0x90);
1021   3                      gotoxy(0x18,0x60);
1022   3              lcd_regwrite(0x12,0x91);
1023   3            lcd_datawrite(lcd_page+0x30);
1024   3                      lcd_regwrite(0x12,0x90);  */
1025   3              //      auto_control();
1026   3          tabx[0] = touchx/1000;
1027   3          tabx[1] = (touchx%1000)/100;
1028   3          tabx[2] = ((touchx%1000)%100)/10;
1029   3          tabx[3] = ((touchx%1000)%100)%10;
1030   3          
1031   3          taby[0] = touchy/1000;
1032   3          taby[1] = (touchy%1000)/100;
1033   3          taby[2] = ((touchy%1000)%100)/10;
1034   3          taby[3] = ((touchy%1000)%100)%10;
1035   3          
1036   3        /*  reg_rddata = lcd_regread(0x10);
1037   3          reg_rddata |= 0x10;
1038   3          lcd_regwrite(0x10,reg_rddata);       */
1039   3          
1040   3      
1041   3          
1042   3          gotoxy(0x10,0x70);
1043   3          for(i=0;i<4;i++)
1044   3          {
1045   4              lcd_regwrite(0x12,0x91);
1046   4            lcd_datawrite(tabx[i]+0x30);
1047   4                      lcd_regwrite(0x12,0x90);
C51 COMPILER V8.08   LED                                                                   08/20/2008 16:06:02 PAGE 18  

1048   4          }
1049   3          
1050   3          gotoxy(0x14,0x70);
1051   3          for(i=0;i<4;i++)
1052   3          {
1053   4              lcd_regwrite(0x12,0x91);
1054   4            lcd_datawrite(taby[i]+0x30);
1055   4                      lcd_regwrite(0x12,0x90);
1056   4          }
1057   3      
1058   3        /*  reg_rddata = lcd_regread(0x10);
1059   3          reg_rddata &= 0xef;
1060   3          lcd_regwrite(0x10,reg_rddata); */
1061   3          
1062   3        //  delay1 (240);
1063   3        }
1064   2       // lcd_regwrite(0xc0,0x00);  //TOUCH OFF
1065   2      
1066   2              }
1067   1      }
*** WARNING C280 IN LINE 1001 OF LED.C: 'reg_rddata': unreferenced local variable
*** WARNING C280 IN LINE 1002 OF LED.C: 'key_status': unreferenced local variable
1068          
1069          //=============================================
1070          void main (void)
1071          {  
1072   1      
1073   1      SP=0x60;
1074   1         P0=0xff;
1075   1         P1=0xff;
1076   1         P2=0xff;
1077   1         P3=0xff;
1078   1      //      delay1(1000)    ;
1079   1       lcd_reset();
1080   1       //  P0=0xff;
1081   1        lcd_initial();
1082   1      //  delay1(2000);
1083   1      lcd_clear();
1084   1        delay1(20);
1085   1      
1086   1            lcd_regwrite(0x10,0x2b);
1087   1       //  delay1(5);
1088   1          lcd_regwrite(0x00,0xcd);
1089   1          gotoxy(0x00,0x00);
1090   1              delay1(5);
1091   1               lcd_regwrite(0x12,0x91); // memory access mode register(awrr)
1092   1         lcd_character(tab2,240);
1093   1         
1094   1       lcd_regwrite(0x12,0x90); // memory access mode register(awrr)                    
1095   1       lcd_page=1;
1096   1      // delay1(5000);
1097   1        
1098   1      
1099   1        while(1)
1100   1         { 
1101   2           
1102   2      //   gettemp();
1103   2       
1104   2         get_touch();
1105   2       /*  if(lcd_page==2)
1106   2         {
1107   2         switch (function)
C51 COMPILER V8.08   LED                                                                   08/20/2008 16:06:02 PAGE 19  

1108   2         {case 1:{auto_perform_control();break;}
1109   2         case 2:{up_temp_control();break;}
1110   2          case   3:  {down_temp_control();break;}
1111   2              case  4:  {up_humidity_control();break;}
1112   2              case 5:    {down_humidity_control();break;}  
1113   2              case 6:{change_control();break;}
1114   2              } 
1115   2         } */
1116   2        }
1117   1        }  
1118          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   3698    ----
   CONSTANT SIZE    =   2194    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     28      62
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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