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

📄 pp.lst

📁 C8051F120与串口、并口、D12、USB、LCD应用
💻 LST
📖 第 1 页 / 共 2 页
字号:
 175   5                                              PaintFlag=1;
 176   5                                      }
 177   4                                      break;
 178   4                              case 11:
C51 COMPILER V7.01  PP                                                                     06/30/2007 11:42:52 PAGE 4   

 179   4                                      if(ADDAParaList[5]>0)
 180   4                                      {
 181   5                                              ADDAParaList[5]-=10;
 182   5                                              putufig(9,16*11, ADDAParaList[5],3,0,' ');
 183   5                                              PaintFlag=1;
 184   5                                      }
 185   4                                      break;
 186   4                              default:
 187   4                                      break;
 188   4                              }
 189   3                      }
 190   2      
 191   2                      if(Key[3].pressed==1)       //检测到+键
 192   2                      {
 193   3                      Key[3].pressed=0;
 194   3                              switch(ItemSel)
 195   3                              {
 196   4                              case 1:
 197   4                                      if(ADDAParaList[0]==0)
 198   4                                      {
 199   5                                              ADDAParaList[0]=1;
 200   5                                              dprintf(12,16*2,"盅");
 201   5                                              dprintf(2,16*2,"妚");
 202   5                                              PaintFlag=1;
 203   5                                              dprintf(2,16*9, "上升比:   %");
 204   5                                              putufig(9,16*9, ADDAParaList[3],3,0,' ');
 205   5                                              dprintf(2,16*10,"高电平:   %");
 206   5                                              putufig(9,16*10, ADDAParaList[4],3,0,' ');
 207   5                                              dprintf(2,16*11,"下降比:   %");
 208   5                                              putufig(9,16*11, ADDAParaList[5],3,0,' ');
 209   5                                      }
 210   4                              case 9:
 211   4                                      if(ADDAParaList[3]+ADDAParaList[4]+ADDAParaList[5]<=90)
 212   4                                      {
 213   5                                              ADDAParaList[3]+=10;
 214   5                                              putufig(9,16*9, ADDAParaList[3],3,0,' ');
 215   5                                              PaintFlag=1;
 216   5                                      }
 217   4                                      break;
 218   4                              case 10:
 219   4                                      if(ADDAParaList[3]+ADDAParaList[4]+ADDAParaList[5]<=90)
 220   4                                      {
 221   5                                              ADDAParaList[4]+=10;
 222   5                                              putufig(9,16*10, ADDAParaList[4],3,0,' ');
 223   5                                              PaintFlag=1;
 224   5                                      }
 225   4                                      break;
 226   4                              case 11:
 227   4                                      if(ADDAParaList[3]+ADDAParaList[4]+ADDAParaList[5]<=90)
 228   4                                      {
 229   5                                              ADDAParaList[5]+=10;
 230   5                                              putufig(9,16*11, ADDAParaList[5],3,0,' ');
 231   5                                              PaintFlag=1;
 232   5                                      }
 233   4                              default:
 234   4                                      break;
 235   4                              }
 236   3                              MovHand=1;
 237   3                      }
 238   2      
 239   2                      if(Key[7].pressed==1)       //确定键
 240   2                      {
C51 COMPILER V7.01  PP                                                                     06/30/2007 11:42:52 PAGE 5   

 241   3                              ClearKey();
 242   3                              Clear(0,240);
 243   3                              return;
 244   3                      }
 245   2              }//while(1)
 246   1      }
 247          
 248          //并口端口初始化
 249          void PP_Port_Ini()
 250          {
 251   1              P4MDOUT = 0xF0;         //P4高四位输出,低四位输入
 252   1              P4 |= 0x0F;
 253   1              Wait = 0;
 254   1              Intr = 1;
 255   1              OE = 0;
 256   1              P7MDOUT |= 0x0C;
 257   1      }
 258          
 259          //EPP模式单片机端程序(EPP时序),发送PPSendBuf中数据,接收则存入PPReceBuf
 260          void EPP_SLAVE()
 261          {
 262   1              if(!DStrb)                      //等待PC端信号
 263   1              {
 264   2                      OE=0;
 265   2                      if(Write)                               //PC端要求读,发送PPSendBuf中数据
 266   2                      {
 267   3                              P6MDOUT = 0xFF;         //P6输出模式
 268   3                              DIR = 1;                        //控制74HC245
 269   3      
 270   3                              P6 = PPSendBuf[PSendCnt];       //发送数据
 271   3                              Wait = 1;                       //通知主机数据准备好
 272   3                              while(!DStrb);          //主机返回读成功信号
 273   3                              Wait = 0;                       //等待下次传输
 274   3                              PSendCnt++;
 275   3                      }
 276   2                      else                                    //PC端要求写,接收数据存入PPReceBuf
 277   2                      {
 278   3                              P6MDOUT=0x00;           //配置P6为数字输入 (数字输入=漏极开路+SFR写1)
 279   3                              P6=0xFF;
 280   3                              DIR = 0;                        //控制74HC245
 281   3      
 282   3                              Wait = 1;                       //返回接收成功信号
 283   3                              while(!DStrb);          //主机确认数据准备好
 284   3                              PPReceBuf[PReceCnt]=P6;         //保存数据
 285   3                              Wait = 0;                       //等待下次传输
 286   3      
 287   3                              if(PPReceBuf[PReceCnt]==0 || PReceCnt==0xFF)
 288   3                              disflag=1;
 289   3                              PReceCnt++;
 290   3                              RecvTotal++;
 291   3                      }
 292   2              }
 293   1      }
 294          
 295          void ADDA()
 296          {       
 297   1              PPSetUp();        //0123456789012345678901234567890123456789
 298   1              Udprintf(0,208," 接收字节数:     0Byte                  ");
 299   1              dprintf(35,16*14, "退出");
 300   1              PP_Port_Ini();
 301   1              PReceCnt=0;
 302   1      
C51 COMPILER V7.01  PP                                                                     06/30/2007 11:42:52 PAGE 6   

 303   1              RecvTotal=0;
 304   1              X=0;Y=0;F=0;
 305   1              while(1)
 306   1              {
 307   2                      EPP_SLAVE();
 308   2      
 309   2                      if(CheckKeyF==1)                        //键盘检测
 310   2                      {
 311   3                              CheckKey();
 312   3                              CheckKeyF=0;
 313   3                      }
 314   2      
 315   2                      if(disflag)
 316   2                      {
 317   3                              char *p;
 318   3                              OE = 1;
 319   3                              //显示接受到的字符
 320   3                              p=tprintf(X,Y,PPReceBuf);
 321   3                              while(F)
 322   3                              {
 323   4                                      Clear(0,208);
 324   4                                      X=0;Y=0;F=0;
 325   4                                      tprintf(X,Y,p);
 326   4                              }
 327   3                              putufig(13,16*13,RecvTotal,5,1,' ');
 328   3                              OE = 0;
 329   3                              PReceCnt=0;
 330   3                              disflag=0;
 331   3                      }
 332   2      
 333   2                      if(Key[7].pressed==1)
 334   2                      {
 335   3                              OE = 1;
 336   3                              ClearKey();
 337   3                              Clear(0,240);
 338   3                              return;
 339   3                      }
 340   2              }
 341   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1992    ----
   CONSTANT SIZE    =    464    ----
   XDATA SIZE       =    521       5
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      4       3
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1       2
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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