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

📄 datafax.lst

📁 PHILIP LPC935MCU UART用于与传真模块通信,SPI用于与SL811的USB模块通信.该软件把U盘存储的文件通过传真发到对方相同的设备接收到U盘
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V7.09   DATAFAX                                                               03/22/2005 01:42:11 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE DATAFAX
OBJECT MODULE PLACED IN datafax.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE datafax.c LARGE OPTIMIZE(9,SPEED) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #pragma OT(0)
   2          #include "AT89X52.H" 
   3          #include <ABSACC.H>
   4          
   5          //#include <string.h>
   6          
   7          #include "LCD.H"
   8          #include<INTRINS.H>
   9          #include "Zimo8_16.H"
  10          #include "Zimo16_16.H"
  11          #include "main.h"
  12          
  13          //功能函数
  14          void    UART_Init(); 
  15          void    Delayms(int n); 
  16          void    Delayus(int i);
  17          void    timer0_int();
  18          void    Init_hw();
  19          void    Com_ReadData_Int(void);
  20          bit     RcvByte(byte c);
  21          char    Str_Comp(byte *str1,byte *str2);
  22          void    SPI_Send(byte *tempstr);
  23          byte    SCAN_KB(void);
  24          //void KB_Show(byte Key_No);
  25          void    KB_Recieve(byte Key_No);
  26          //other
  27          void    SYS_Display(void);
  28          byte    Search_Byte(byte search_Byte);
  29          byte    Search_Word(byte *search_Word);
  30          byte    Get_Key_Val(byte No);
  31          void    LCD_Show_Data(byte X,byte Y,byte *tempstr);
  32          void    Get_File_Info(unsigned long index);
  33          void    Com_Send_Byte(byte c);
  34          void    Handle_Msg(byte *Msg);
  35          void    Ring_Display();
  36          void    Send_Display();
  37          void    Error_Display(byte *Error_Msg);
  38          void    Refuse_Display();
  39          void    Dial_Display();
  40          void    Menu_Display();
  41          void    Capture_KEY_Event();
  42          void    File_List_Display();
  43          void    Answer_Call();
  44          void    Setup_Display();
  45          void    Dialing_Display();
  46          void    Do_Cancel();
  47          void    Do_Send_File();
  48          void    Do_Recieve_File();
  49          void    Do_OnHook();
  50          void    Connecting_Display();
  51          void    Connected_Display();
  52          void    Ready_Display();
  53          void    Ready_Recieve_Display();
  54          void    Recieve_File_Display();
  55          void    Recieve_Finished_Display();
C51 COMPILER V7.09   DATAFAX                                                               03/22/2005 01:42:11 PAGE 2   

  56          void    Send_Ready_Display();
  57          void    Send_File_Display();
  58          void    Send_Finished_Display();
  59          void    LCD_On();
  60          void    LCD_Off();
  61          void    LCD_Fill();
  62          void    LCD_Part_Fill(bit CSA,bit CSB);
  63          void    KB_Show(byte Key_No);
  64          void    Com_Send(byte *tempstr);
  65          void    MODEM_Init();
  66          void    MODEM_Monitor();
  67          void    Get_Modem_Msg();
  68          void    Check_Modem_Msg(byte *str);
  69          byte Search_Modem_Msg(byte* tempstr);
  70          //---------------------------------- 
  71          //功能:主函数 
  72          //---------------------------------- 
  73          main() 
  74          { 
  75   1              byte temp; 
  76   1              byte i;
  77   1              LCD_Off();
  78   1              LCD_On();
  79   1              Init_hw();      //对硬件进行初始化
  80   1              UART_Init();    //对串口初始化          
  81   1              Buzzer_On;
  82   1              Buzzer_Off;
  83   1              LCD_BG=0;
  84   1              LCD_BG=1;
  85   1              LCD_BG=0;
  86   1      
  87   1              LED1_On;
  88   1              LED1_Off;
  89   1              LED2_On;
  90   1              LED2_Off;
  91   1              LED3_On;
  92   1              LED3_Off;
  93   1              LED4_On;
  94   1              LED4_Off;
  95   1              
  96   1              LCD_Init();             //对LCD初始化
  97   1                      
  98   1              SYS_Display();
  99   1          EA=0;
 100   1              SBUF=0xAA;
 101   1              while (!TI);
 102   1              TI=0;
 103   1              EA=1;
 104   1      
 105   1          MODEM_Init();       //Modem 初始化  
 106   1      
 107   1              /*for (;;) {        
 108   1                      temp=SCAN_KB();
 109   1                      if (temp!=0)  KB_Show(temp);
 110   1              }       
 111   1              for (temp=0;temp<4;temp++) {
 112   1                 Delayms(100);
 113   1                 
 114   1              }*/
 115   1              Flag_KB_Enable=true;
 116   1              Key_Down.Active=false;
 117   1              Sys_Ring.Active=false;
C51 COMPILER V7.09   DATAFAX                                                               03/22/2005 01:42:11 PAGE 3   

 118   1              Sys_Conn.Active=false;
 119   1              Clear_Msg.Active=false;
 120   1              Send_Data.Active=false;
 121   1              Recv_Finished.Active=false;
 122   1              Send_Finished.Active=false;
 123   1              for(i=0;i<11;i++) File_Name[i]=0x00;
 124   1                  
 125   1              while(1)
 126   1              {
 127   2                
 128   2                  if(Flag_1ms)
 129   2                  {
 130   3                     Flag_1ms=false;
 131   3                     Capture_KEY_Event();
 132   3              }        
 133   2              MODEM_Monitor();
 134   2              switch(SYS_Status)
 135   2              {
 136   3                  case SYS_IDLE_STATE:
 137   3                      if(Key_Down.Active)
 138   3                      {
 139   4                          Key_Down.Active=false;
 140   4                                              switch(Key_Down.Byte_data)
 141   4                                              {
 142   5                                   case KB_MENU:
 143   5                                  SYS_Status=SYS_MENU_STATE;
 144   5                                       Menu_Display();
 145   5                                   Flag_KB_Enable=true;
 146   5                                   break;
 147   5                                                       case KB_UP:
 148   5                                                       Flag_Buzzer=~Flag_Buzzer;
 149   5                                                      break;
 150   5                                                      case KB_DOWN:
 151   5                                                       LCD_BG=~LCD_BG;
 152   5                                                      break;
 153   5                                                      default:
 154   5                                                      break;
 155   5                          }
 156   4                      }
 157   3                      if(MODEM_Status==MODEM_RINGING_STATE)    
 158   3                      {      
 159   4                            SYS_Status=SYS_RINGING_STATE;
 160   4                            if(Ring_Cnt>2)  Ring_Display();
 161   4                            else Ring_Cnt++;
 162   4                            Ring_Display();
 163   4                      }
 164   3                  break;
 165   3                  case SYS_MENU_STATE:
 166   3                      if(Key_Down.Active)
 167   3                      {
 168   4                          Key_Down.Active=false;       
 169   4                          switch(Key_Down.Byte_data)
 170   4                          {
 171   5                               case KB_1:
 172   5                                                      SYS_Status=SYS_MENU_FILE_LIST_STATE;
 173   5                                                      File_List_Display();
 174   5                                                      Flag_KB_Enable=true; 
 175   5                                               break;
 176   5      /*                                       case KB_2:
 177   5                                                      SYS_Status=SYS_MENU_SETUP_STATE;
 178   5                                                      Setup_Display();
 179   5                                                      Flag_KB_Enable=true; 
C51 COMPILER V7.09   DATAFAX                                                               03/22/2005 01:42:11 PAGE 4   

 180   5                                                 break;*/
 181   5                                               case KB_2:
 182   5                                                      SYS_Status=SYS_TX_RX_STATE;
 183   5                                                      Ready_Display();
 184   5                                                      Flag_KB_Enable=true;       
 185   5                                               break;
 186   5                                                       case KB_3:
 187   5                                                              if(MODEM_Status==MODEM_DISCONNECTED_STATE)
 188   5                                                              {
 189   6                                                              SYS_Status=SYS_MENU_DIAL_STATE;
 190   6                                                                      KB_Point=0;
 191   6                                                                      Dial_Display();
 192   6                                                               }
 193   5                                                               if(MODEM_Status==MODEM_CONNECTED_STATE)
 194   5                                                               SYS_Status=SYS_MENU_ONHOOK_STATE;
 195   5                                                       Flag_KB_Enable=true; 
 196   5                                               break;
 197   5                                               case KB_EXIT:
 198   5                                                       SYS_Status=SYS_IDLE_STATE;
 199   5                                                       Flag_KB_Enable=true; 
 200   5                                                       LCD_Clear();
 201   5                                                       SYS_Display();
 202   5                                               break;
 203   5                                               default:
 204   5                                               break;
 205   5                          }
 206   4                      }
 207   3                      if(MODEM_Status==MODEM_RINGING_STATE)    
 208   3                      {      
 209   4                            SYS_Status=SYS_RINGING_STATE;
 210   4                            if(Ring_Cnt>2)  Ring_Display();
 211   4                            else Ring_Cnt++;
 212   4                            Ring_Display();
 213   4                      }
 214   3                  break;
 215   3                  case SYS_MENU_FILE_LIST_STATE:
 216   3                      if(Key_Down.Active)
 217   3                      {
 218   4                          Key_Down.Active=false;
 219   4                          switch(Key_Down.Byte_data)
 220   4                          {
 221   5                               case KB_1:
 222   5                                                              SYS_Status=SYS_MENU_DIAL_STATE;
 223   5                                                              KB_Point=0;
 224   5                                                              Get_File_Info(5);
 225   5                                                              if(MODEM_Status==MODEM_CONNECTED_STATE) 
 226   5                                      {
 227   6                                              SYS_Status=SYS_READY_SEND_STATE;
 228   6                                              Send_Ready_Display();
 229   6                                      }
 230   5                                                              else Dial_Display();
 231   5                                                              Flag_KB_Enable=true; 
 232   5                                                       break;
 233   5                                                       case KB_2:
 234   5                                                              SYS_Status=SYS_MENU_DIAL_STATE;
 235   5                                                              KB_Point=0;
 236   5                                                              Get_File_Info(37);
 237   5                                                              if(MODEM_Status==MODEM_CONNECTED_STATE) 
 238   5                                      {
 239   6                                              SYS_Status=SYS_READY_SEND_STATE;
 240   6                                              Send_Ready_Display();
 241   6                                      }
C51 COMPILER V7.09   DATAFAX                                                               03/22/2005 01:42:11 PAGE 5   

 242   5                                                              else Dial_Display();
 243   5                                                              Flag_KB_Enable=true; 
 244   5                                                       break;

⌨️ 快捷键说明

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