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

📄 datafax.lst

📁 PHILIP LPC935MCU UART用于与传真模块通信,SPI用于与SL811的USB模块通信.该软件把U盘存储的文件通过传真发到对方相同的设备接收到U盘
💻 LST
📖 第 1 页 / 共 5 页
字号:
 498   5                                    Flag_KB_Enable=true; 
 499   5                               break;
 500   5                               case KB_RECIEVE:
 501   5                                        SYS_Status=SYS_RECIEVEING_STATE;                      
 502   5                                        Recieve_File_Display();
 503   5                                    Do_Recieve_File();
 504   5                                    Flag_KB_Enable=true; 
 505   5                               break;
 506   5                               case KB_MENU:
 507   5                                      SYS_Status=SYS_MENU_STATE;
 508   5                                      LCD_Clear();
 509   5                                      Menu_Display();
 510   5                                      Flag_KB_Enable=true; 
 511   5                                 break;
 512   5                               default:
 513   5                               break;
 514   5                          }
 515   4                      }
 516   3      
 517   3                  break;
 518   3                  case SYS_RECIEVEING_STATE:
 519   3                  case SYS_SEND_FINISHED_STATE: 
 520   3                  case SYS_RECIEVE_FINISHED_STATE:
 521   3                  case SYS_ERROR_STATE:
 522   3                      if(Key_Down.Active)
 523   3                      {
 524   4                          Key_Down.Active=false;
 525   4                          if(Key_Down.Byte_data==KB_EXIT)               
 526   4                          {
 527   5                                                      Flag_KB_Enable=true; 
 528   5                                              Do_Cancel();                    
 529   5                                              }
 530   4                                              Flag_KB_Enable=true; 
 531   4                      }
 532   3                  break;
 533   3                  default:
 534   3                  break;
 535   3              }  
 536   2           }
 537   1      
 538   1      }
*** WARNING C280 IN LINE 75 OF DATAFAX.C: 'temp': unreferenced local variable
 539          
 540          
 541          
 542          //---------------------------------- 
 543          //功能:硬件初始化 
 544          //----------------------------------
 545          void Init_hw(void)
 546          {
 547   1      
 548   1              EA=0;
 549   1              ET0=0;
 550   1              TR0=0;
C51 COMPILER V7.09   DATAFAX                                                               03/22/2005 01:42:11 PAGE 10  

 551   1      
 552   1          
 553   1        // configure timer 0
 554   1              TMOD =0x01;
 555   1      
 556   1        // timer values
 557   1      
 558   1      
 559   1              TH0=TH0_DATA;
 560   1              TL0=TL0_DATA;
 561   1      
 562   1              ET0=1;
 563   1              TR0=1;
 564   1      
 565   1      }
 566          //---------------------------------- 
 567          //功能:串口初始化 
 568          //---------------------------------- 
 569          void UART_Init() 
 570          { 
 571   1      
 572   1          SCON = 0x53;
 573   1          PCON = 0x80 | PCON;
 574   1          T2CON=0x30;
 575   1          //RCAP2H=0xFF;        // 57600 @ 24MHz: 24000000/(32*(65536-(RCAP2H,RCAP2L)))
 576   1          //RCAP2L=0xF3;
 577   1          RCAP2H=0xFF;        // 38400 @ 24MHz: 24000000/(32*(65536-(RCAP2H,RCAP2L)))
 578   1          RCAP2L=0xEC;
 579   1          TI=0;
 580   1          RI=0;
 581   1              TR2=1;
 582   1          ES = 1;
 583   1              Set_SPI_Slave;
 584   1              SPCFG=0x00;
 585   1              mspibusy=0;
 586   1      } 
 587          
 588          //---------------------------------- 
 589          //功能:ms级延时 (注: 延时不准,受CPU主频影响)
 590          //---------------------------------- 
 591          void Delayms(int n) 
 592          { 
 593   1              int j; 
 594   1              while(n>0) 
 595   1              { 
 596   2                      for(j=0;j<680;j++); 
 597   2                      n--; 
 598   2              } 
 599   1      } 
 600          
 601          //---------------------------------------
 602          //100us 中断函数(定时中断)
 603          //---------------------------------------
 604          void timer0_int(void) interrupt 1 using 2
 605          {
 606   1              EA=0;
 607   1              TH0=TH0_DATA;
 608   1              TL0=TL0_DATA;
 609   1              Delay_Cnt++;
 610   1              Flag_1ms=true;
 611   1      //      SPI_SS=~SPI_SS;
 612   1              Cnt_Long_1ms++;
C51 COMPILER V7.09   DATAFAX                                                               03/22/2005 01:42:11 PAGE 11  

 613   1              EA=1;
 614   1      }
 615          //--------KEY DOWN EVENT-----------
 616          //                      捕获按键
 617          //--------------------------------
 618          void Capture_KEY_Event()
 619          {
 620   1              if (!Key_Press){
 621   2              Key_No=SCAN_KB();
 622   2              if (Key_No!=0) {
 623   3                  Key_Press=true;
 624   3                  Buzzer_time=100;
 625   3                              if(Flag_Buzzer) Buzzer_On;
 626   3              }
 627   2          }
 628   1          else
 629   1          {
 630   2              if (SCAN_KB()==0x00) 
 631   2              {   Key_Press=false; 
 632   3                  Key_Down.Active=true;
 633   3                  Flag_KB_Enable=false;
 634   3                  Key_Down.Byte_data=Key_No;    
 635   3                  LED_ShowOn(0xff);
 636   3              }
 637   2          }     
 638   1          if (Buzzer_time==0) Buzzer_Off;
 639   1          else Buzzer_time--; 
 640   1      }
 641          //--------Get Messages------------
 642          //    获取MODEM发送来的连接信息
 643          //--------------------------------
 644          void MODEM_Monitor()
 645          {
 646   1          byte tempstr[64];
 647   1          byte i=0;
 648   1          byte temp;
 649   1              switch(MODEM_Status)
 650   1              {
 651   2                      case MODEM_DISCONNECTED_STATE:
 652   2                              Get_Modem_Msg();
 653   2                      break;
 654   2                      case MODEM_RINGING_STATE:
 655   2                              Get_Modem_Msg();
 656   2                      break;
 657   2                      case MODEM_DIALING_STATE:
 658   2                              Get_Modem_Msg();
 659   2                      break;
 660   2                      case MODEM_CONNECTED_STATE:
 661   2                              //Get_Modem_Msg();
 662   2                      break;
 663   2                      case MODEM_INIT_STATE:
 664   2                      case MODEM_IDLE_STATE:
 665   2                      break;
 666   2              }
 667   1      }
*** WARNING C280 IN LINE 646 OF DATAFAX.C: 'tempstr': unreferenced local variable
*** WARNING C280 IN LINE 648 OF DATAFAX.C: 'temp': unreferenced local variable
 668          
 669          //------------Answer Calling----------
 670          //                              应答呼叫
 671          //------------------------------------
 672          void Answer_Call()
C51 COMPILER V7.09   DATAFAX                                                               03/22/2005 01:42:11 PAGE 12  

 673          {
 674   1          Sys_Ring.Active=false;
 675   1          Com_Send("ATA\r\n");     //发送MODEM AT 应答指令   
 676   1      }
 677          
 678          //----------Com Send a byte----------------------- 
 679          //         从串口发送一个字节
 680          //-----------------------------------------------
 681          void Com_Send_Byte(byte c)
 682          {
 683   1              TI=0;
 684   1              COM_TI=true;
 685   1          SBUF=c;
 686   1          while (COM_TI);
 687   1      //    Delayms(1);
 688   1      }
 689          //---------------------------------------------
 690          //                      串口发送字符串函数
 691          //--------------------------------------------
 692          void Com_Send(byte *tempstr)
 693          {
 694   1              TI=0;
 695   1          while(*tempstr!=0)
 696   1          {
 697   2                      COM_TI=true;
 698   2              SBUF=*tempstr;
 699   2              while (COM_TI);
 700   2              tempstr++;
 701   2          }
 702   1      }
 703          //----------------------------------------------
 704          //                      串口中断接收函数
 705          //--------------------------------------------
 706          void Com_ReadData_Int(void) interrupt 4 using 2
 707          {
 708   1      
 709   1          byte temp;
 710   1          byte i=0;
 711   1          byte j=0;
 712   1          EA=0;
 713   1      
 714   1      
 715   1         if (SPCFG & 0x80)  //接受来自USB的数据
 716   1         {
 717   2                      if(!SPI_TI)
 718   2                      {
 719   3                      SPI_Recv_Buf[SPI_Write_Point]=SPDAT; //将I2C数据写入接收缓冲区
 720   3                      SPI_Write_Point++;
 721   3      //              SPI_Recv_Byte_Cnt++;
 722   3                      if (SPI_Write_Point==Recv_Buf_Len) SPI_Write_Point=0; 
 723   3               }
 724   2                       else
 725   2                              SPI_TI=0;
 726   2                      
 727   2      //              SPCFG=0x00;
 728   2          }
 729   1              if (SPCFG&0xC0)
 730   1              {
 731   2                      SPCFG=0x00;
 732   2              }       
 733   1      
 734   1          if(RI)              //接收来自MODEM串口的数据
C51 COMPILER V7.09   DATAFAX                                                               03/22/2005 01:42:11 PAGE 13  

 735   1          {
 736   2              RI=0;
 737   2              temp=SBUF;
 738   2              Com_Recv_Buf[Com_Write_Point]=temp;
 739   2      //        Com_Recv_Byte_Cnt++;       
 740   2              Com_Write_Point++;
 741   2              if(Com_Write_Point>Recv_Buf_Len) Com_Write_Point=0;
 742   2          }
 743   1              if (TI) 
 744   1              { 
 745   2                      TI=0;
 746   2                      if (COM_TI) COM_TI=false;
 747   2              }

⌨️ 快捷键说明

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