📄 text1.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 + -