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

📄 text1.lst

📁 51读写u盘 uart.c main.c rwudiskdemo.c
💻 LST
字号:
C51 COMPILER V7.06   TEXT1                                                                 07/01/2007 16:03:02 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Text1.c COMPACT BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <reg51.h>
   2          #include <stdio.h>
   3          #include "config.h"
   4          #include "udisk.h"
   5          
   6          sbit P10 = P1^0;
   7          sbit P11 = P1^1;
   8          
   9          void UART0Init(uint32 bps);
  10          uint8 code  WritFileData[] =
  11          "\r\n******************Copyright (c) 周立功单片机发展有限公司***********************\r\n\
  12          \r\n\
  13              U盘作为数据的载体目前已广泛应用于嵌入式行业,而某些电子产品在国家标准中已成了\r\n\
  14          强制性的要求。在嵌入式的电子产品中实现对U盘文件的读写,成了许多厂家的技术攻关的难\r\n\
  15          题。优盘伴侣EasyUDisk读写U盘模块就可以轻易解决以上问题,它是低端单片机操作U盘的最\r\n\
  16          佳伴侣。\r\n\
  17              EasyUDisk模块采用PHILIP公司工业级USB主控芯片ISP1160和ARM7微处理器LPC2132,整个\r\n\
  18          模块以工业级标准设计。模块提供了通用RS232串口与用户系统连接,使普通的单片机也可以\r\n\
  19          轻易实现对U盘的操作。\r\n\
  20              EasyUDisk模块适用于仪器仪表、门禁系统、汽车黑匣子和税控机等对存贮速度要求不高\r\n\
  21          的设备中使用。\r\n\
  22          \r\n\
  23          \r\n*********************************ARM开发部门************************************\r\n"; 
  24          
  25          char code dir[] = "zlgmcu";
  26          
  27          
  28               int main (void)
  29          {// add user source code 
  30   1              volatile        uint16 i;
  31   1              FHANDLE         *Handle;
  32   1              SYSINF          sysinf;
  33   1              UART0Init(9600L);
  34   1      
  35   1              DriverIni();                                                    // 驱动参数初始化
  36   1              while(TRUE!=GetDiskInfo(&sysinf))               // 轮询设备,直到设备连接
  37   1              {
  38   2                      UART0Init(4800L);  P10 ^= 1;
  39   2                      if(TRUE==GetDiskInfo(&sysinf))
  40   2                              break;
  41   2                      UART0Init(9600L);  P10 ^= 1;
  42   2                      if(TRUE==GetDiskInfo(&sysinf))
  43   2                              break;
  44   2                      UART0Init(14400L); P10 ^= 1;
  45   2                      if(TRUE==GetDiskInfo(&sysinf))
  46   2                              break;
  47   2                      UART0Init(19200L); P10 ^= 1;
  48   2                      if(TRUE==GetDiskInfo(&sysinf))
  49   2                              break;
  50   2                      UART0Init(38400L); P10 ^= 1;
  51   2                      if(TRUE==GetDiskInfo(&sysinf))
  52   2                              break;
  53   2                      UART0Init(57600L); P10 ^= 1;
  54   2                      if(TRUE==GetDiskInfo(&sysinf))
  55   2                              break;
C51 COMPILER V7.06   TEXT1                                                                 07/01/2007 16:03:02 PAGE 2   

  56   2              }       
  57   1              P10 = 0;                                                                // 指示模块已连接
  58   1                      
  59   1      
  60   1      //************************************************************* 
  61   1      //       设置波特率和系统时间
  62   1      // 6设波特率为57600,4设波特率为38400,3设波特率为19200
  63   1      // 2设波特率14400,1设波特率9600,0设波特率4800
  64   1      //************************************************************* 
  65   1                      sysinf.Baud = 6;        
  66   1                      sysinf.Year     = 5;
  67   1                      sysinf.Month  =8;
  68   1                      sysinf.Dom       = 29;
  69   1                      sysinf.Hour      = 11;
  70   1                      sysinf.Min       = 6;
  71   1                      sysinf.Sec       = 0;
  72   1                      if(SetDiskInfo(&sysinf))
  73   1                      {
  74   2                              UART0Init(57600);         // 
  75   2                      }
  76   1      /*************************************************************/ 
  77   1       
  78   1      
  79   1              while(1)
  80   1              {       
  81   2                      GetDiskInfo(&sysinf);
  82   2      
  83   2                      if(sysinf.DiskIn>0)                                                             // U盘已插入
  84   2                      {
  85   3                              P11 = 0;                                                                        // U盘已插入
  86   3                              if(sysinf.FH.fh!=0xff)                                          // EasyUDisk已有文件打开,
  87   3                                      FileClose();                                                    // 先将已打开的文件关闭。
  88   3      
  89   3                              Handle = FileOpen("A:\\演示程序.txt");          // 打开或创建一个文件
  90   3                              if(Handle)
  91   3                              {
  92   4                                      FileSeek(Handle,0, SEEK_END);                   // 将指针移到文件末尾
  93   4                                      FileWrite((uint8*)WritFileData,
  94   4                                                      sizeof(WritFileData),Handle);   // 写数据入文件
  95   4                                      FileClose();                                                    // 关闭文件
  96   4                              }
  97   3                              
  98   3                              MakeDir((char*)dir);                                            // 创建目录
  99   3                      
 100   3                              while(1)
 101   3                              {
 102   4                                      for(i=0;i<0x4 ;i++);
 103   4                                      GetDiskInfo( &sysinf );
 104   4                                      if( 0 == sysinf.DiskIn )                                // U盘已拔出
 105   4                                              break;                                                          
 106   4                              }
 107   3                              P11=1;                                                                          // 指示U盘已拔出
 108   3                      }
 109   2                      for(i=0;i<0x8fff;i++);
 110   2      
 111   2              }
 112   1      
 113   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    472    ----
C51 COMPILER V7.06   TEXT1                                                                 07/01/2007 16:03:02 PAGE 3   

   CONSTANT SIZE    =    743    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----      19
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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