📄 main.lst
字号:
C51 COMPILER V8.06 MAIN 05/14/2008 22:15:15 PAGE 1
C51 COMPILER V8.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c LARGE BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <intrins.h>
2 #include "c8051f020.h"
3 #include "Variant.h"
4 #include "config.h"
5 #include "usboprt.h"
6 #include "uart0.c"
7 #include "FlashRW.c"
8
9
10 uint ADConvert(void)
11 {
12 1 AD0INT = 0; //请转换结束标志位
13 1 AD0BUSY = 1; //启动转换
14 1 while(!AD0INT); //等待转换结束
15 1 //可用sfr16一次性读取???????????????????????
16 1 return(ADC0);
17 1 }
18
19 void DeviceInit(void)
20 {
21 1
22 1 config();
23 1 //=================================================================
24 1 FlashRead(0); //更改文件名
25 1 Info[0]++;
26 1 FlashWrite(0);
27 1 WorkNo[0] = (Info[1]/10)+48; //年份,转换为ASCII码
28 1 WorkNo[1] = (Info[1]%10)+48;
29 1 WorkNo[2] = (Info[0]/100)+48; //工作号
30 1 WorkNo[3] = (Info[0]%100/10)+48;
31 1 WorkNo[4] = (Info[0]%10)+48;
32 1 //=================================================================
33 1 time(100000); //延时等待u盘及模块电源稳定
34 1 send(0x57);send(0xAB);send(0x0B);send(0x00);time(1000); //reset
35 1 USB_DISK_READY_OR_NOT();
36 1 time(100);
37 1 if(!USB_DISK_READY)// && FileInfoChanged)
38 1 {
39 2 USB_DISK_READY_OR_NOT();
40 2 }
41 1 // for(i=0;i<10;i++) {
42 1 // Ledgreen = ~old1;
43 1 // old1 = Ledgreen;
44 1 // }
45 1
46 1 if(!USBDiamFileCreated)
47 1 {
48 2 USB_CREATE_FILE();
49 2 }
50 1
51 1 if(!USBDiamFileCreated && (!USBDiamFileMdfied))
52 1 {
53 2 USB_OPEN_FILE();
54 2 USB_FILE_LOCATE();
55 2 }
C51 COMPILER V8.06 MAIN 05/14/2008 22:15:15 PAGE 2
56 1
57 1 }
58
59
60 void TIMER0_INT() interrupt 1
61 {
62 1 Mc++;
63 1 }
64
65 void TIMER1_INT() interrupt 3
66 {
67 1 TH1 = 0xFA;
68 1 TL1 = 0x00;
69 1 x = ADConvert();
70 1 DiamBuffer[CurrentDmBffer][DmBffPtr] =(uchar)x;
71 1 DmBffPtr++;
72 1 DiamBuffer[CurrentDmBffer][DmBffPtr] =(uchar)(x>>8);
73 1 DmBffPtr++;
74 1 if(DmBffPtr>=1536) //784
75 1 {
76 2 CurrentDmBffer = 1- CurrentDmBffer;
77 2 DmBffPtr = 0;
78 2 DiamBufferFull = 1;
79 2 DiamBuffer[CurrentDmBffer][DmBffPtr+6] = 0x4D;//((uchar*)&Mc)[0]; //存时间,从最高位存起
80 2 DiamBuffer[CurrentDmBffer][DmBffPtr+5] = 0x49;//((uchar*)&Mc)[1];
81 2 DiamBuffer[CurrentDmBffer][DmBffPtr+4] = 0x54;//((uchar*)&Mc)[2];
82 2 DiamBuffer[CurrentDmBffer][DmBffPtr+3] = ((uchar*)&Mc)[0]; //((uchar*)&Mc)[3];
83 2 DiamBuffer[CurrentDmBffer][DmBffPtr+2] = ((uchar*)&Mc)[1];
84 2 DiamBuffer[CurrentDmBffer][DmBffPtr+1] = ((uchar*)&Mc)[2];
85 2 DiamBuffer[CurrentDmBffer][DmBffPtr+0] = ((uchar*)&Mc)[3];
86 2 DmBffPtr+=7;
87 2
88 2 }
89 1 }
90
91
92 void main(void)
93 {
94 1 Ledred = 0;
95 1
96 1
97 1 while(!USBDiamFileCreated)
98 1 {
99 2 DeviceInit();
100 2 }
101 1 time(1000); //新加的
102 1 Ledred = 1;
103 1 DmBffPtr=0;
104 1 for(j=0;j<8;j++)
105 1 {
106 2 DiamBuffer[CurrentDmBffer][DmBffPtr] = Diamhd[j];
107 2 DmBffPtr++;
108 2 }
109 1 DiamBuffer[CurrentDmBffer][DmBffPtr+6] = 0x4D;//((uchar*)&Mc)[0]; //存时间,从最高位存起
110 1 DiamBuffer[CurrentDmBffer][DmBffPtr+5] = 0x49;//((uchar*)&Mc)[1];
111 1 DiamBuffer[CurrentDmBffer][DmBffPtr+4] = 0x54;//((uchar*)&Mc)[2];
112 1 DiamBuffer[CurrentDmBffer][DmBffPtr+3] = ((uchar*)&Mc)[0]; //((uchar*)&Mc)[3];
113 1 DiamBuffer[CurrentDmBffer][DmBffPtr+2] = ((uchar*)&Mc)[1];
114 1 DiamBuffer[CurrentDmBffer][DmBffPtr+1] = ((uchar*)&Mc)[2];
115 1 DiamBuffer[CurrentDmBffer][DmBffPtr+0] = ((uchar*)&Mc)[3];
116 1 DmBffPtr+=7;
117 1 while(syn);
C51 COMPILER V8.06 MAIN 05/14/2008 22:15:15 PAGE 3
118 1 {
119 2 ET0 = 1;
120 2 ET1 = 1;
121 2 TR1=1;
122 2 TR0=1;
123 2 }
124 1 while(1)
125 1 {
126 2 nop();
127 2 if(DiamBufferFull==1)
128 2 {
129 3 PrtocolNo = 3; //写变径文件,3扇区
130 3 DiamBufferFull=0;
131 3 USB_FILE_WRITE();
132 3 Ledred = ~oldred;
133 3 oldred = Ledred;
134 3 time(8000);
135 3 } //新版6000,原版1500
136 2 }//end of while
137 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2414 ----
CONSTANT SIZE = 58 ----
XDATA SIZE = 3074 9
PDATA SIZE = ---- ----
DATA SIZE = 44 38
IDATA SIZE = 24 ----
BIT SIZE = 16 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -