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

📄 main.lst

📁 uC_OS-II在C51下的一个完整的LCD项目源码
💻 LST
📖 第 1 页 / 共 4 页
字号:
 775          {
 776   1              if(fill == 0)
 777   1                      rectangle(SAD2,6+(select/11)*160,2+(select%11)*20,150+(select/11)*160,19+(select%11)*20,0);
 778   1              else
 779   1                      rectangle(SAD2,6+(select/11)*160,2+(select%11)*20,150+(select/11)*160,19+(select%11)*20,1);
 780   1      }
 781          
 782          void doinput() reentrant
 783          {
 784   1              unsigned char h,l;
 785   1              switch(buttonselect)
 786   1              {
 787   2              case 17://RS485out
 788   2                      if(getstr(216,122,8))
 789   2                      {
 790   3                              h = 0;
 791   3                              while(disstr[h] != 0)
 792   3                              {
 793   4                                      rs485out = disstr[h];
 794   4                                      bout485 = 1;
 795   4                                      RS485 = 0;                      
 796   4                                      TI = 1;
 797   4                                      OSTimeDly(2);
 798   4                                      h++;
 799   4                              }                       
C51 COMPILER V8.02   MAIN                                                                  09/21/2008 12:29:52 PAGE 14  

 800   3                      }
 801   2                      break;
 802   2              case 18://AD667
 803   2                      if(getstrnumber(216,142,4))
 804   2                      {
 805   3                              da667 = (unsigned int)atoi(disstr);             
 806   3                              if(da667>4095)
 807   3                                      da667 = 4095;
 808   3                              l=da667%16;
 809   3                              l=l*16;
 810   3                              h=(unsigned char)(da667/16);
 811   3                              LDA667=l;
 812   3                              HDA667=h;
 813   3                              vda667 = da667;
 814   3                              vda667 /=409.5;
 815   3                      }
 816   2                      break;
 817   2              case 19:
 818   2                      if(getstr(240,162,8))
 819   2                      {
 820   3                              tem8255a = 0;
 821   3                              for(h=0;h<8;h++)
 822   3                              {
 823   4                                      tem8255a *= 2;  
 824   4                                      if(disstr[7-h] == '1')
 825   4                                              tem8255a |= 0x01;                                                       
 826   4                              }
 827   3                              EA = 0;
 828   3                              COM8255=0x80;
 829   3                              A8255 = tem8255a;
 830   3                              B8255 = tem8255b;
 831   3                              C8255 = tem8255c;               
 832   3                              EA = 1;
 833   3                      }
 834   2                      break;
 835   2              case 20:
 836   2                      if(getstr(240,182,8))
 837   2                      {
 838   3                              tem8255b = 0;
 839   3                              for(h=0;h<8;h++)
 840   3                              {
 841   4                                      tem8255b *= 2;
 842   4                                      if(disstr[7-h] == '1')
 843   4                                              tem8255b |= 0x01;
 844   4                              }
 845   3                              EA = 0;
 846   3                              COM8255=0x80;
 847   3                              A8255 = tem8255a;
 848   3                              B8255 = tem8255b;
 849   3                              C8255 = tem8255c;               
 850   3                              EA = 1;
 851   3                      }
 852   2                      break;
 853   2              case 21:
 854   2                      if(getstr(240,202,8))
 855   2                      {
 856   3                              tem8255c = 0;
 857   3                              for(h=0;h<8;h++)
 858   3                              {
 859   4                                      tem8255c *= 2;  
 860   4                                      if(disstr[7-h] == '1')
 861   4                                              tem8255c |= 0x01;                                                       
C51 COMPILER V8.02   MAIN                                                                  09/21/2008 12:29:52 PAGE 15  

 862   4                              }
 863   3                              EA = 0;
 864   3                              COM8255=0x80;
 865   3                              A8255 = tem8255a;
 866   3                              B8255 = tem8255b;
 867   3                              C8255 = tem8255c;               
 868   3                              EA = 1;
 869   3                      }
 870   2                      break;
 871   2              default:
 872   2                      setsysini();
 873   2                      showmain1();
 874   2                      break;
 875   2              }
 876   1      }
 877          
 878          //电磁接触器检测
 879          void main1test(void *lcnpdata) reentrant
 880          {
 881   1              unsigned char curstaut = 0;
 882   1              
 883   1              buttonselect=0;
 884   1              lcnpdata = lcnpdata;
 885   1              showmain1();
 886   1              showselect(buttonselect,1);
 887   1              while(1)
 888   1              {
 889   2                      OSSemPend(KeySem,10,&lcnerr);
 890   2                      if(lcnerr==OS_NO_ERR)
 891   2                      {
 892   3                              switch(key)
 893   3                              {                       
 894   4                              case INPUT://系统参数   
 895   4                                      doinput();
 896   4                                      showselect(buttonselect,1);
 897   4                                      break;  
 898   4                              case DOWN:
 899   4                                      showselect(buttonselect,0);
 900   4                                      if(buttonselect < 21)
 901   4                                      {
 902   5                                              buttonselect++;
 903   5                                      }
 904   4                                      else
 905   4                                      {
 906   5                                              buttonselect=0;
 907   5                                      }
 908   4                                      showselect(buttonselect,1);
 909   4                                      break;
 910   4                              case UP:
 911   4                                      showselect(buttonselect,0);
 912   4                                      if(buttonselect > 0)
 913   4                                              buttonselect--;
 914   4                                      else
 915   4                                              buttonselect=21;
 916   4                                      showselect(buttonselect,1);
 917   4                                      break;
 918   4                              case LEFT:
 919   4                              case RIGHT:
 920   4                                      showselect(buttonselect,0);
 921   4                                      if(buttonselect > 10)
 922   4                                              buttonselect-=11;
 923   4                                      else
C51 COMPILER V8.02   MAIN                                                                  09/21/2008 12:29:52 PAGE 16  

 924   4                                              buttonselect+=11;
 925   4                                      showselect(buttonselect,1);
 926   4                                      break;
 927   4                              default:
 928   4                                      break;
 929   4                              }
 930   3                      }
 931   2                      getcurvault();  
 932   2                      showvaultall();
 933   2                      if(bSecond)
 934   2                      {
 935   3                              bSecond=0;      
 936   3                              myprintf(SAD1,TA_LEFT,216,2,  "%5u",count8253[0][0]);   
 937   3                              myprintf(SAD1,TA_LEFT,216,22, "%5u",count8253[1][0]);   
 938   3                              myprintf(SAD1,TA_LEFT,216,42, "%5u",count8253[2][0]);   
 939   3                              myprintf(SAD1,TA_LEFT,216,62, "%5u",count8253[3][0]);   
 940   3      #if OS_TASK_STAT_EN     
                                      myprintf(SAD1,TA_LEFT,295,2,"%3u",(unsigned int)OSCPUUsage);    
              #endif
 943   3                              readtimer(disstr,0);
 944   3                              myprintf(SAD1,TA_LEFT,254,223,disstr);
 945   3                      }
 946   2              }
 947   1      }
 948          
 949          void getcurvault() reentrant
 950          {
 951   1              if(buttonselect>7)
 952   1                      return;
 953   1              getad();
 954   1              adtemp[adtemp1] = advaut;
 955   1              switch(buttonselect)
 956   1              {
 957   2              case 1:
 958   2                      ADNUMBER1=0;
 959   2                      ADNUMBER2=1;
 960   2                      ADNUMBER3=1;
 961   2                      adtemp1=1;                              
 962   2                      break;
 963   2              case 2:
 964   2                      ADNUMBER1=1;
 965   2                      ADNUMBER2=0;
 966   2                      ADNUMBER3=1;
 967   2                      adtemp1=2;
 968   2                      break;
 969   2              case 3:
 970   2                      ADNUMBER1=0;
 971   2                      ADNUMBER2=0;
 972   2                      ADNUMBER3=1;
 973   2                      adtemp1=3;
 974   2                      break;
 975   2              case 4:
 976   2                      ADNUMBER1=1;
 977   2                      ADNUMBER2=1;
 978   2                      ADNUMBER3=0;
 979   2                      adtemp1=4;
 980   2                      break;
 981   2              case 5:
 982   2                      ADNUMBER1=0;
 983   2                      ADNUMBER2=1;
 984   2                      ADNUMBER3=0;
 985   2                      adtemp1=5;
C51 COMPILER V8.02   MAIN                                                                  09/21/2008 12:29:52 PAGE 17  

 986   2                      break;
 987   2              case 6:
 988   2                      ADNUMBER1=1;
 989   2                      ADNUMBER2=0;
 990   2                      ADNUMBER3=0;
 991   2                      adtemp1=6;
 992   2                      break;
 993   2              case 7:
 994   2                      ADNUMBER1=0;
 995   2                      ADNUMBER2=0;
 996   2                      ADNUMBER3=0;
 997   2                      adtemp1=7;
 998   2                      break;
 999   2              case 0:
1000   2                      ADNUMBER1=1;
1001   2                      ADNUMBER2=1;
1002   2                      ADNUMBER3=1;
1003   2                      adtemp1=0;
1004   2                      break;
1005   2              default:
1006   2                      break;
1007   2              }
1008   1              result[adtemp1] = adtemp[adtemp1];
1009   1              result[adtemp1] /= 409.5;       //10V
1010   1      }
1011          
1012          void main (void) 
1013          {
1014   1              OSInit();    
1015   1          InitTimer2();
1016   1          OSTaskCreate(sys_init, (void *)0, &sys_init_Stk[0],1);
1017   1          OSStart();
1018   1      }


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