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

📄 usb118_c51.lst

📁 51单片机USB通信模块
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   USB118_C51                                                            08/08/2007 09:14:41 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE USB118_C51
OBJECT MODULE PLACED IN USB118_c51.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE USB118_c51.c DEBUG OBJECTEXTEND

line level    source

   1          /************************************************************************************************
   2          *                           
   3          *                                 USB118 C51测试程序
   4          *                                                               Version 1.0
   5          *                西安达泰电子有限责任公司(Xi'an DATA Electronic Co,Ltd)      
   6          *   网址: http://www.dataie.com 
   7          *   电话: 029-85272421 , 88022900
   8          *  
   9          *                                             西安达泰电子有限责任公司        2005.08.06
  10          *************************************************************************************************/
  11          
  12          
  13          /************************************************************************************************
  14          *
  15          *  U盘文件读写模块 以字节为单位进行U盘文件读写。10条精简命令完成所有读写过程
  16          *  MCS-51单片机C语言示例程序 
  17          *  硬件连接方式: 4线制串口(电源,地,输入,输出) 
  18          *
  19          *************************************************************************************************/
  20          
  21          #include <REG52.h>
  22          #include <stdio.h>
  23          
  24          
  25          #define uchar unsigned char
  26          #define uint unsigned int
  27          
  28          sbit P3_3=P3^3;
  29          sbit P3_5=P3^5;
  30          /************************************************************************************************
  31          *
  32          *                                                                               USB118命令  
  33          *
  34          *************************************************************************************************/
  35                                                   //检测u盘命令
  36          uchar code Detect[66]={0xaa,0xbb,
  37                                                     0x01,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
  38                                                     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
  39                                                     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
  40                                                     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20};  
  41                                                  //建立TEST.TXT文件命令
  42          uchar code Create[66]={0xaa,0xbb,
  43                                                     0x07,0x54,0x45,0x53,0x54,0x39,0x20,0x20,0x20,0x54,0x58,0x54,0x20,0x00,0x00,0x00,
  44                                                     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x4F,0xFD,0x32,0x00,0x00,0x00,0x00,0x00,
  45                                                     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  46                                                     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
  47                                                  //打开文件命令
  48          uchar code  Open[66] ={0xaa,0xbb,
  49                                                     0x06,0x54,0x45,0x53,0x54,0x20,0x20,0x20,0x20,0x54,0x58,0x54,0x00,0x00,0x00,0x00,
  50                                                     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  51                                                     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  52                                                     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
  53                                                  //写文件命令    
  54          uchar code  Write[66]={0xaa,0xbb,
  55                                                     0x09,0x00,74,0x01,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
C51 COMPILER V7.50   USB118_C51                                                            08/08/2007 09:14:41 PAGE 2   

  56                                                     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
  57                                                     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
  58                                                     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20};
  59                                                  //读文件命令
  60          uchar code  Read[66]={0xaa,0xbb,
  61                                                    0x08,0x08,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
  62                                                0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
  63                                                    0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
  64                                                    0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20};
  65                                                  //删除文件命令
  66          uchar code Remove[66]={0xaa,0xbb,
  67                                                     0x11,0x00,0x54,0x45,0x53,0x54,0x20,0x20,0x20,0x20,0x54,0x58,0x54,0x00,0x00,0x00,
  68                                                     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  69                                                     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  70                                                     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
  71                                                  //设置文件指针命令
  72          uchar code SetFilePointer[66]=                  
  73                                                    {0xaa,0xbb,
  74                                                     0x15,0x00,74,0x01,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
  75                                                     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
  76                                                     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
  77                                                     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20};
  78                                                  //获得软件版本
  79          uchar code GetVersion[66]=
  80                                                   {0xaa,0xbb,
  81                                                    0x30,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
  82                                                0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
  83                                                    0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
  84                                                    0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20};
  85                                                  //获得磁盘空间
  86          uchar code GetCapacity[66]=
  87                                                   {0xaa,0xbb,
  88                                                    0x12,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
  89                                                0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
  90                                                    0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
  91                                                    0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20};
  92                                                  //获得文件列表
  93          uchar code  List[66]= {0xaa,0xbb,
  94                                                    0x10,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
  95                                                0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
  96                                                    0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
  97                                                    0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20};
  98                                                  //数据1
  99          uchar code  Date1[66]={0x30,0x31,
 100                                                     0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x64,0x65,0x30,0x31,0x32,
 101                                                     0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x64,0x65,0x30,0x31,0x32,0x33,
 102                                                     0x34,0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x64,0x65,0x30,0x31,0x32,0x33,0x34,
 103                                                     0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x64,0x65,0x30,0x31,0x32,0x33,0x0d,0x0a};
 104                                                  //数据2
 105          uchar code  Date2[66]={0x30,0x31,
 106                                                     0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x64,0x65,0x30,0x31,0x32,
 107                                                     0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x64,0x65,0x30,0x31,0x32,0x33,
 108                                                     0x34,0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x64,0x65,0x30,0x31,0x32,0x33,0x34,
 109                                                     0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x64,0x65,0x30,0x31,0x32,0x33,0x34,0x35};
 110          
 111          
 112          uchar data num;
 113          
 114          void delay_xms(unsigned int);                           //延时函数
 115          void init_com(void);                                            //初始化串口函数
 116          void test(void);                                                        //系统测试函数
 117          void Send_Data(uchar Serial_data);                      //发送一个字节函数
C51 COMPILER V7.50   USB118_C51                                                            08/08/2007 09:14:41 PAGE 3   

 118          void TXD_Int(uchar *s);                                         //发送数据函数
 119          bit Receive_Data(uchar,uint );                          //接收数据函数
 120          uchar Receive_One(void);                                        //接收一个字节函数                      
 121          
 122          /************************************************************************************************
 123                                                                          主程序
 124          *************************************************************************************************/
 125          void main()
 126          {
 127   1              int i;
 128   1              SP = 0x60;                                                              //设置堆栈指针
 129   1              init_com();                                                             //初始化串口
 130   1              test();                                                                 //系统测试并延时
 131   1      
 132   1      det:                                                                            //检测U盘
 133   1              TXD_Int(Detect);
 134   1      
 135   1              if(Receive_Data(0x04,0)==0)                             //命令是否成功执行,是则继续执行
 136   1              {                                                                               //否则重新执行
 137   2                      delay_xms(1000);
 138   2                      goto det;
 139   2              }
 140   1      
 141   1      //      num=0x41;
 142   1      //for(j=0;j<10;j++)
 143   1      //{     
 144   1                      delay_xms(1000);
 145   1      crt:                                                                            //建立文件
 146   1              TXD_Int(Create);
 147   1              if(Receive_Data(0x0a,0)==0)                             //命令是否成功执行,是则继续执行
 148   1              {                                                                               //否则重新执行
 149   2                      delay_xms(1000);
 150   2                      goto crt;
 151   2              }
 152   1              
 153   1      //      num++;
 154   1      //}
 155   1      
 156   1      
 157   1      
 158   1              delay_xms(500);
 159   1      wrt:                                                                            //写文件
 160   1              TXD_Int(Write);
 161   1              for(i=0;i<5;i++)
 162   1                      TXD_Int(Date1);
 163   1              
 164   1              if(Receive_Data(0x0c,0)==0)                             //命令是否成功执行,是则继续执行
 165   1              {                                                                               //否则重新执行
 166   2                      delay_xms(1000);
 167   2                      goto wrt;
 168   2              }
 169   1      
 170   1      
 171   1              delay_xms(500);
 172   1      op:                                                                                     //打开文件
 173   1              TXD_Int(Open);
 174   1              if(Receive_Data(0x0d,0)==0)                             //命令是否成功执行,是则继续执行
 175   1              {                                                                               //否则重新执行
 176   2                      delay_xms(1000);
 177   2                      goto op;
 178   2              }
 179   1      /*
C51 COMPILER V7.50   USB118_C51                                                            08/08/2007 09:14:41 PAGE 4   

 180   1              delay_xms(500);
 181   1                                                                                              //读文件
 182   1              TXD_Int(Read);
 183   1      
 184   1              if(Receive_Data(0x0b,8)==0)                             //命令是否成功执行,是则继续执行
 185   1              {                                                                               //否则重新执行
 186   1                      delay_xms(1000);
 187   1                      goto op;
 188   1              }
 189   1      */
 190   1      /*
 191   1              delay_xms(500);
 192   1                                                                                              //删除文件
 193   1      del:TXD_Int(Remove);
 194   1      
 195   1              if(Receive_Data(0x21,0)==0)                             //命令是否成功执行,是则继续执行
 196   1              {                                                                               //否则重新执行
 197   1                      delay_xms(1000);
 198   1                      goto del;
 199   1              }
 200   1      */
 201   1      
 202   1      sfp:

⌨️ 快捷键说明

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