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

📄 pp.lst

📁 C8051F120与串口、并口、D12、USB、LCD应用
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.01  PP                                                                     06/30/2007 11:42:52 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE PP
OBJECT MODULE PLACED IN PP.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE PP.c LARGE BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include "PP.h"
   2          #include "System.h" 
   3          #include "LCD.h"
   4          #include "menu.h"
   5          
   6          bit disflag=0;
   7          unsigned char ADDAParaList[]={0,1,12,20,30,40,16,0};
   8          unsigned char PPSendBuf[256];
   9          unsigned char PPReceBuf[257];
  10          unsigned char data PSendCnt;
  11          unsigned char data PReceCnt;
  12          unsigned int data RecvTotal;
  13          
  14          unsigned char code SinTable[]={                                         //一周期256点sin值表(幅度:0~255)
  15             128,   131,   134,   137,   140,   143,   146,   149,   152,   156, 
  16            159,   162,   165,   168,   171,   174,   176,   179,   182,   185, 
  17            188,   191,   193,   196,   199,   201,   204,   206,   209,   211, 
  18            213,   216,   218,   220,   222,   224,   226,   228,   230,   232, 
  19            234,   236,   237,   239,   240,   242,   243,   245,   246,   247, 
  20            248,   249,   250,   251,   252,   252,   253,   254,   254,   255, 
  21            255,   255,   255,   255,   255,   255,   255,   255,   255,   255, 
  22            254,   254,   253,   252,   252,   251,   250,   249,   248,   247, 
  23            246,   245,   243,   242,   240,   239,   237,   236,   234,   232, 
  24            230,   228,   226,   224,   222,   220,   218,   216,   213,   211, 
  25            209,   206,   204,   201,   199,   196,   193,   191,   188,   185, 
  26            182,   179,   176,   174,   171,   168,   165,   162,   159,   156, 
  27            152,   149,   146,   143,   140,   137,   134,   131,   128,   124, 
  28            121,   118,   115,   112,   109,   106,   103,    99,    96,    93, 
  29             90,    87,    84,    81,    79,    76,    73,    70,    67,    64, 
  30             62,    59,    56,    54,    51,    49,    46,    44,    42,    39, 
  31             37,    35,    33,    31,    29,    27,    25,    23,    21,    19, 
  32             18,    16,    15,    13,    12,    10,     9,     8,     7,     6, 
  33              5,     4,     3,     3,     2,     1,     1,     0,     0,     0, 
  34              0,     0,     0,     0,     0,     0,     0,     0,     1,     1, 
  35              2,     3,     3,     4,     5,     6,     7,     8,     9,    10, 
  36             12,    13,    15,    16,    18,    19,    21,    23,    25,    27, 
  37             29,    31,    33,    35,    37,    39,    42,    44,    46,    49, 
  38             51,    54,    56,    59,    62,    64,    67,    70,    73,    76, 
  39             79,    81,    84,    87,    90,    93,    96,    99,   103,   106, 
  40            109,   112,   115,   118,   121,   124,};
  41          
  42          ///////////////////////////////////////////////////////////
  43          //并口传输试验设置界面
  44          void PPSetUp()
  45          {
  46   1              bit PaintFlag=1;                                                //绘制曲线标志位
  47   1              bit MovHand=1;                                                  //绘制光标标志位
  48   1              char data ItemSel=1;                                    //光标所在行
  49   1              Clear(0,240);
  50   1              dprintf(10,0,"并口传输实验设置");
  51   1              dprintf(2,16*1,"选择波形:");
  52   1              if(ADDAParaList[0])
  53   1              dprintf(2,16*2,"妚正弦波  盅梯形波");
  54   1              else
  55   1              dprintf(2,16*2,"盅正弦波  妚梯形波");
C51 COMPILER V7.01  PP                                                                     06/30/2007 11:42:52 PAGE 2   

  56   1              dprintf(2,16*3,"波形示例:");
  57   1              dprintf(0,16*12,line);
  58   1              dprintf(0,16*13,"选择项目 改变参数");
  59   1              dprintf(1,16*14, "芗  兦   戛  戋");
  60   1              dprintf(35,16*14, "确定");
  61   1      
  62   1              while(1)
  63   1              {               
  64   2                      if(CheckKeyF==1)                        //键盘检测
  65   2                      {
  66   3                              CheckKey();
  67   3                              CheckKeyF=0;
  68   3                      }
  69   2      
  70   2                      if(MovHand)
  71   2                      {
  72   3                              int i;
  73   3                              for(i=0;i<12;i++)
  74   3                              {
  75   4                                      if(ItemSel==i)
  76   4                                      dprintf(0,i*16,"贲");
  77   4                                      else
  78   4                                      dprintf(0,i*16,"  ");
  79   4                              }
  80   3                              MovHand=0;
  81   3                      }
  82   2      
  83   2                      if(PaintFlag)
  84   2                      {       
  85   3                              int data i;
  86   3                              PaintFlag=0;
  87   3                              Clear(16*4,16*9);
  88   3                              //横轴
  89   3                              drawline(32,16*9-8,288,16*9-8);
  90   3                              //纵轴
  91   3                              drawline(32,16*9-9,32,16*4+4);
  92   3                              if(ADDAParaList[0]==0)          //正弦波
  93   3                              {
  94   4                                      for(i=0;i<256;i++)
  95   4                                      PPSendBuf[i]=SinTable[i];
  96   4                              }
  97   3                              else                                            //梯形波
  98   3                              {
  99   4                                      i=0;
 100   4                                      for(;i<ADDAParaList[3]*2.56;i++)                                                                        //上升沿
 101   4                                      PPSendBuf[i]=(unsigned char)(0xFF*i/(ADDAParaList[3]*2.56));
 102   4                                      for(;i<(ADDAParaList[3]+ADDAParaList[4])*2.56;i++)                                      //高电平
 103   4                                      PPSendBuf[i]=0xFF;
 104   4                                      for(;i<(ADDAParaList[3]+ADDAParaList[4]+ADDAParaList[5])*2.56;i++)      //下降沿
 105   4                                      PPSendBuf[i]=0xFF-(unsigned char)(0xFF*(i-(ADDAParaList[3]+ADDAParaList[4])*2.56)/(ADDAParaList[5]*2.5
             -6));
 106   4                                      for(;i<256;i++)                                                                                         //低电平
 107   4                                      PPSendBuf[i]=0;
 108   4                              }
 109   3                              for(i=0;i<255;i++)
 110   3                              Point(i+32,16*9-8-PPSendBuf[i]/4);
 111   3                      }       
 112   2      
 113   2                      if(Key[0].pressed==1)       //检测到上键
 114   2                      {
 115   3                      Key[0].pressed=0;
 116   3                              switch(ItemSel)
C51 COMPILER V7.01  PP                                                                     06/30/2007 11:42:52 PAGE 3   

 117   3                              {
 118   4                              case 1:
 119   4                                      break;
 120   4                              case 9:
 121   4                                      ItemSel=1;
 122   4                                      break;
 123   4                              default:
 124   4                                      ItemSel--;
 125   4                                      break;
 126   4                              }
 127   3                              MovHand=1;                              
 128   3                      }
 129   2      
 130   2                      if(Key[1].pressed==1)       //检测到下键
 131   2                      {
 132   3                      Key[1].pressed=0;
 133   3                              switch(ItemSel)
 134   3                              {
 135   4                              case 1:
 136   4                                      if(ADDAParaList[0]==1)          ItemSel=9;
 137   4                                      break;
 138   4                              case 11:
 139   4                                      break;
 140   4                              default:
 141   4                                      ItemSel++;
 142   4                                      break;
 143   4                              }
 144   3                              MovHand=1;              
 145   3                      }
 146   2      
 147   2                      if(Key[2].pressed==1)       //检测到-键
 148   2                      {
 149   3                      Key[2].pressed=0;
 150   3                              switch(ItemSel)
 151   3                              {
 152   4                              case 1:
 153   4                                      if(ADDAParaList[0]==1)
 154   4                                      {
 155   5                                              ADDAParaList[0]=0;
 156   5                                              dprintf(2,16*2,"盅");
 157   5                                              dprintf(12,16*2,"妚");
 158   5                                              PaintFlag=1;
 159   5                                              Clear(16*9,16*12);
 160   5                                      }
 161   4                                      break;
 162   4                              case 9:
 163   4                                      if(ADDAParaList[3]>0)
 164   4                                      {
 165   5                                              ADDAParaList[3]-=10;
 166   5                                              putufig(9,16*9, ADDAParaList[3],3,0,' ');
 167   5                                              PaintFlag=1;
 168   5                                      }
 169   4                                      break;
 170   4                              case 10:
 171   4                                      if(ADDAParaList[4]>0)
 172   4                                      {
 173   5                                              ADDAParaList[4]-=10;
 174   5                                              putufig(9,16*10, ADDAParaList[4],3,0,' ');

⌨️ 快捷键说明

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