?? usb118_c51.lst
字號:
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 * 網(wǎng)址: http://www.dataie.com
7 * 電話: 029-85272421 , 88022900
8 *
9 * 西安達泰電子有限責任公司 2005.08.06
10 *************************************************************************************************/
11
12
13 /************************************************************************************************
14 *
15 * U盤文件讀寫模塊 以字節(jié)為單位進行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 //設(shè)置文件指針命令
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 //數(shù)據(jù)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 //數(shù)據(jù)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); //延時函數(shù)
115 void init_com(void); //初始化串口函數(shù)
116 void test(void); //系統(tǒng)測試函數(shù)
117 void Send_Data(uchar Serial_data); //發(fā)送一個字節(jié)函數(shù)
C51 COMPILER V7.50 USB118_C51 08/08/2007 09:14:41 PAGE 3
118 void TXD_Int(uchar *s); //發(fā)送數(shù)據(jù)函數(shù)
119 bit Receive_Data(uchar,uint ); //接收數(shù)據(jù)函數(shù)
120 uchar Receive_One(void); //接收一個字節(jié)函數(shù)
121
122 /************************************************************************************************
123 主程序
124 *************************************************************************************************/
125 void main()
126 {
127 1 int i;
128 1 SP = 0x60; //設(shè)置堆棧指針
129 1 init_com(); //初始化串口
130 1 test(); //系統(tǒng)測試并延時
131 1
132 1 det: //檢測U盤
133 1 TXD_Int(Detect);
134 1
135 1 if(Receive_Data(0x04,0)==0) //命令是否成功執(zhí)行,是則繼續(xù)執(zhí)行
136 1 { //否則重新執(zhí)行
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) //命令是否成功執(zhí)行,是則繼續(xù)執(zhí)行
148 1 { //否則重新執(zhí)行
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) //命令是否成功執(zhí)行,是則繼續(xù)執(zhí)行
165 1 { //否則重新執(zhí)行
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) //命令是否成功執(zhí)行,是則繼續(xù)執(zhí)行
175 1 { //否則重新執(zhí)行
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) //命令是否成功執(zhí)行,是則繼續(xù)執(zhí)行
185 1 { //否則重新執(zhí)行
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) //命令是否成功執(zhí)行,是則繼續(xù)執(zhí)行
196 1 { //否則重新執(zhí)行
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 + -