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

📄 main.lst

📁 51上面的UCOS编程 基本实现了液晶 LED 和按键 AD等外设功能 适合学习
💻 LST
📖 第 1 页 / 共 4 页
字号:
 510   6                                              }
 511   5                                              else
 512   5                                              {
 513   6                                                      key=keytab20[k+keystaut];
 514   6                                              }
 515   5                                              keyinterrupt = 0;
 516   5                                              OSSemPost(KeySem);
 517   5                                              newkey = 0;
 518   5                                      }
 519   4                              }
 520   3                              else
 521   3                              {
 522   4                                      COM8279=0xC2;
 523   4                              }
 524   3                      }
 525   2                      else
 526   2                      {
 527   3                              newkey = 1;
 528   3                      }
 529   2              }
 530   1      }
 531          //秒定时中断
 532          void mysecondtask(void *lcndata) reentrant
 533          {
 534   1              lcndata=lcndata;
 535   1              while(1)
 536   1              {
 537   2                      bSecond=1;
 538   2                      getconut();
 539   2                      OSTimeDly(OS_TICKS_PER_SEC);    
 540   2              }
 541   1      }
 542          
 543          void showmain1() reentrant
 544          {
 545   1              clssed(SAD1);
 546   1              clssed(SAD2);
 547   1              rectangle(SAD2,0,222,319,239,1);
 548   1              readtimer(disstr,1);
 549   1              myprintf(SAD1,TA_LEFT,186,223,disstr);
C51 COMPILER V8.08   MAIN                                                                  03/18/2008 13:49:06 PAGE 10  

 550   1              myprintf(SAD1,TA_LEFT,2,223,"选功能.修改输出值");
 551   1      
 552   1              liney(SAD1,0,0,220);
 553   1              liney(SAD1,319,0,220);
 554   1      
 555   1              linex(SAD1,0,0,319);
 556   1              linex(SAD1,220,0,319);
 557   1              myprintf(SAD1,TA_LEFT,8,2,  "AD0:%4u:%6.3fV",adtemp[0],result[0]);      
 558   1              myprintf(SAD1,TA_LEFT,8,22, "AD1:%4u:%6.3fV",adtemp[1],result[1]);      
 559   1              myprintf(SAD1,TA_LEFT,8,42, "AD2:%4u:%6.3fV",adtemp[2],result[2]);      
 560   1              myprintf(SAD1,TA_LEFT,8,62, "AD3:%4u:%6.3fV",adtemp[3],result[3]);      
 561   1              myprintf(SAD1,TA_LEFT,8,82, "AD4:%4u:%6.3fV",adtemp[4],result[4]);      
 562   1              myprintf(SAD1,TA_LEFT,8,102,"AD5:%4u:%6.3fV",adtemp[5],result[5]);      
 563   1              myprintf(SAD1,TA_LEFT,8,122,"AD6:%4u:%6.3fV",adtemp[6],result[6]);      
 564   1              myprintf(SAD1,TA_LEFT,8,142,"AD7:%4u:%6.3fV",adtemp[7],result[7]);
 565   1              getstr8255();
 566   1              myprintf(SAD1,TA_LEFT,168,162,"OUT8255A:%s",do8255a);
 567   1              myprintf(SAD1,TA_LEFT,168,182,"OUT8255B:%s",do8255b);
 568   1              myprintf(SAD1,TA_LEFT,168,202,"OUT8255C:%s",do8255c);
 569   1              myprintf(SAD1,TA_LEFT,8,162,"IN8255A:%s",do8255a);
 570   1              myprintf(SAD1,TA_LEFT,8,182,"IN8255B:%s",do8255b);
 571   1              myprintf(SAD1,TA_LEFT,8,202,"IN8255C:%s",do8255c);
 572   1              myprintf(SAD1,TA_LEFT,168,2,  "82530:%5u",count8253[0][0]);     
 573   1              myprintf(SAD1,TA_LEFT,168,22, "82531:%5u",count8253[1][0]);     
 574   1              myprintf(SAD1,TA_LEFT,168,42, "82532:%5u",count8253[2][0]);     
 575   1              myprintf(SAD1,TA_LEFT,168,62, "T0   :%5u",count8253[3][0]);     
 576   1              if(ok24c02 == 0)
 577   1                      myprintf(SAD1,TA_LEFT,168,82, "24C02:读写错误");
 578   1              else
 579   1                      myprintf(SAD1,TA_LEFT,168,82, "24C02:读写正常");
 580   1              myprintf(SAD1,TA_LEFT,168,102,"485IN:%02XH:%c",(unsigned int)rs485in,rs485in);
 581   1              myprintf(SAD1,TA_LEFT,168,122,"485OU:");
 582   1              vda667 = da667;
 583   1              vda667 /=409.5;
 584   1              myprintf(SAD1,TA_LEFT,168,142, "DA667:%4u:%6.3fV",da667,vda667);        
 585   1              liney(SAD1,160,120,220);
 586   1              linex(SAD1,120,160,319);
 587   1      }
 588          
 589          void getstr8255() reentrant
 590          {
 591   1              if(a1)
 592   1                      do8255a[0] = '1';
 593   1              else
 594   1                      do8255a[0] = '0';
 595   1      
 596   1              if(a2)
 597   1                      do8255a[1] = '1';
 598   1              else
 599   1                      do8255a[1] = '0';
 600   1      
 601   1              if(a3)
 602   1                      do8255a[2] = '1';
 603   1              else
 604   1                      do8255a[2] = '0';
 605   1      
 606   1              if(a4)
 607   1                      do8255a[3] = '1';
 608   1              else
 609   1                      do8255a[3] = '0';
 610   1      
 611   1              if(a5)
C51 COMPILER V8.08   MAIN                                                                  03/18/2008 13:49:06 PAGE 11  

 612   1                      do8255a[4] = '1';
 613   1              else
 614   1                      do8255a[4] = '0';
 615   1      
 616   1              if(a6)
 617   1                      do8255a[5] = '1';
 618   1              else
 619   1                      do8255a[5] = '0';
 620   1      
 621   1              if(a7)
 622   1                      do8255a[6] = '1';
 623   1              else
 624   1                      do8255a[6] = '0';
 625   1      
 626   1              if(a8)
 627   1                      do8255a[7] = '1';
 628   1              else
 629   1                      do8255a[7] = '0';
 630   1      
 631   1              if(b1)
 632   1                      do8255b[0] = '1';
 633   1              else
 634   1                      do8255b[0] = '0';
 635   1      
 636   1              if(b2)
 637   1                      do8255b[1] = '1';
 638   1              else
 639   1                      do8255b[1] = '0';
 640   1      
 641   1              if(b3)
 642   1                      do8255b[2] = '1';
 643   1              else
 644   1                      do8255b[2] = '0';
 645   1      
 646   1              if(b4)
 647   1                      do8255b[3] = '1';
 648   1              else
 649   1                      do8255b[3] = '0';
 650   1      
 651   1              if(b5)
 652   1                      do8255b[4] = '1';
 653   1              else
 654   1                      do8255b[4] = '0';
 655   1      
 656   1              if(b6)
 657   1                      do8255b[5] = '1';
 658   1              else
 659   1                      do8255b[5] = '0';
 660   1      
 661   1              if(b7)
 662   1                      do8255b[6] = '1';
 663   1              else
 664   1                      do8255b[6] = '0';
 665   1      
 666   1              if(b8)
 667   1                      do8255b[7] = '1';
 668   1              else
 669   1                      do8255b[7] = '0';
 670   1      
 671   1              if(c1)
 672   1                      do8255c[0] = '1';
 673   1              else
C51 COMPILER V8.08   MAIN                                                                  03/18/2008 13:49:06 PAGE 12  

 674   1                      do8255c[0] = '0';
 675   1      
 676   1              if(c2)
 677   1                      do8255c[1] = '1';
 678   1              else
 679   1                      do8255c[1] = '0';
 680   1      
 681   1              if(c3)
 682   1                      do8255c[2] = '1';
 683   1              else
 684   1                      do8255c[2] = '0';
 685   1      
 686   1              if(c4)
 687   1                      do8255c[3] = '1';
 688   1              else
 689   1                      do8255c[3] = '0';
 690   1      
 691   1              if(c5)
 692   1                      do8255c[4] = '1';
 693   1              else
 694   1                      do8255c[4] = '0';
 695   1      
 696   1              if(c6)
 697   1                      do8255c[5] = '1';
 698   1              else
 699   1                      do8255c[5] = '0';
 700   1      
 701   1              if(c7)
 702   1                      do8255c[6] = '1';
 703   1              else
 704   1                      do8255c[6] = '0';
 705   1      
 706   1              if(c8)
 707   1                      do8255c[7] = '1';
 708   1              else
 709   1                      do8255c[7] = '0';
 710   1              do8255a[8] = 0;
 711   1              do8255b[8] = 0;
 712   1              do8255c[8] = 0;
 713   1      }
 714          
 715          
 716          void showvaultall() reentrant
 717          {
 718   1              switch(buttonselect)
 719   1              {
 720   2              case 0:
 721   2                      myprintf(SAD1,TA_LEFT,40,2,  "%4u:%6.3fV",adtemp[0],result[0]); 
 722   2                      break;
 723   2              case 1:
 724   2                      myprintf(SAD1,TA_LEFT,40,22, "%4u:%6.3fV",adtemp[1],result[1]); 
 725   2                      break;
 726   2              case 2:
 727   2                      myprintf(SAD1,TA_LEFT,40,42, "%4u:%6.3fV",adtemp[2],result[2]); 
 728   2                      break;
 729   2              case 3:
 730   2                      myprintf(SAD1,TA_LEFT,40,62, "%4u:%6.3fV",adtemp[3],result[3]); 
 731   2                      break;
 732   2              case 4:
 733   2                      myprintf(SAD1,TA_LEFT,40,82, "%4u:%6.3fV",adtemp[4],result[4]); 
 734   2                      break;
 735   2              case 5:
C51 COMPILER V8.08   MAIN                                                                  03/18/2008 13:49:06 PAGE 13  

 736   2                      myprintf(SAD1,TA_LEFT,40,102,"%4u:%6.3fV",adtemp[5],result[5]); 
 737   2                      break;
 738   2              case 6:
 739   2                      myprintf(SAD1,TA_LEFT,40,122,"%4u:%6.3fV",adtemp[6],result[6]); 
 740   2                      break;
 741   2              case 7:
 742   2                      myprintf(SAD1,TA_LEFT,40,142,"%4u:%6.3fV",adtemp[7],result[7]);
 743   2                      break;
 744   2              case 16:
 745   2                      myprintf(SAD1,TA_LEFT,216,102,"%02XH:%c",(unsigned int)rs485in,rs485in);
 746   2                      break;
 747   2              case 18:
 748   2                      myprintf(SAD1,TA_LEFT,216,142, "%4u:%6.3fV",da667,vda667);      
 749   2                      break;
 750   2              case 19:
 751   2                      getstr8255();
 752   2                      myprintf(SAD1,TA_LEFT,240,162,"%8s",do8255a);
 753   2                      break;
 754   2              case 20:
 755   2                      getstr8255();
 756   2                      myprintf(SAD1,TA_LEFT,240,182,"%8s",do8255b);
 757   2                      break;
 758   2              case 21:
 759   2                      getstr8255();
 760   2                      myprintf(SAD1,TA_LEFT,240,202,"%8s",do8255c);
 761   2                      break;
 762   2              case 8:
 763   2              case 9:
 764   2              case 10:
 765   2                      EA = 0;
 766   2                      COM8255=0x9B;
 767   2                      tem8255a = A8255;
 768   2                      tem8255b = B8255;
 769   2                      tem8255c = C8255;               

⌨️ 快捷键说明

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