📄 main.lst
字号:
C51 COMPILER V7.04 MAIN 04/08/2006 10:08:34 PAGE 1
C51 COMPILER V7.04, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1
2 #include "main.h"
3 #include "sm5964.h"
4 #include "comm.h"
5 #include "myapp.h"
6 #include "isp.h"
7 //#include <string.h>
8 #include <absacc.h>
9
10 //unsigned char read_flash(unsigned int page,unsigned char addr);
11
12
13 void InitSystem();
14 void ResetSystem();
15
16 void InitParameter();
17
18 void Delay1ms(unsigned char num);
19
20
21 unsigned char MyIspFlag _at_ 0x32;//由应用程序部分传送过来的变量,共用
22
23 unsigned char g_MachineNo;//机器编号
24 unsigned char g_Buzz_LcdLigth_FlahPage_Statue;
25
26 unsigned char NumCounter;
27 unsigned int i;
28
29
30 /*
31 *********************************************************
32 **主程序main()
33 *********************************************************
34 */
35 void main()
36 {
37 1
38 1 unsigned char flagIsp=0;//标志是否下载
39 1
40 1
41 1
42 1
43 1 NumCounter=0;
44 1
45 1 EA=0;
46 1 WatchDog();
47 1
48 1
49 1
50 1
51 1 //====================================
52 1 //1.初始化硬件,参数,串口
53 1 //1.1.初始化硬件,允许片内XDATA
54 1 InitSystem();
55 1 Delay1ms(50);
C51 COMPILER V7.04 MAIN 04/08/2006 10:08:34 PAGE 2
56 1
57 1 //1.2.初始化参数
58 1 InitParameter();
59 1
60 1 //1.3.初始化串口
61 1 InitComm(Baud38400);
62 1
63 1
64 1
65 1 WatchDog();
66 1
67 1 //======================================isp
68 1 //3.判断是否唤醒下载
69 1 if(MyIspFlag==0x55)
70 1 {
71 2 MyIspFlag=0;
72 2 IspServer();
73 2 flagIsp=1;//已经下载
74 2 }
75 1
76 1 //======================================isp
77 1 //4.判断是否强制下载
78 1 if(flagIsp==0)
79 1 {
80 2
81 2 #ifdef ENABLE_ISP
if(PIN_ENISP==0)
{
IspServer();
flagIsp = 1;
}
#endif
88 2 }
89 1
90 1 //======================================isp
91 1 //5.判断是否PC机控制进入下载
92 1 if( flagIsp==0)
93 1 {
94 2
95 2 if(CheckPcCmd()==ID_OK)
96 2 {
97 3 IspServer();
98 3 flagIsp = 1;
99 3
100 3 }
101 2 }
102 1
103 1
104 1 //======================================isp
105 1 //6.判断用户程序是否完整
106 1 while(1)
107 1 {
108 2 WatchDog();
109 2 if(CheckAppPrg()!=ID_OK)
110 2 {
111 3 IspServer();
112 3 }
113 2 else
114 2 {
115 3 ResetSystem();//进入用户应用程序
116 3 }
117 2
C51 COMPILER V7.04 MAIN 04/08/2006 10:08:34 PAGE 3
118 2 }
119 1
120 1
121 1 }
122 //////////////////////////////////////////////////////////
123
124 /*
125 *********************************************************
126 **初始化系统
127 *********************************************************
128 */
129 void InitSystem()
130 {
131 1
132 1
133 1 EA=0;
134 1 TR1=0;
135 1 TR2=0;
136 1 TR0=0;
137 1 ES=0;
138 1
139 1
140 1
141 1 SCONF =0x00;
142 1 RS82C55=0x81; //0x81; PortA--out PortB--out PortC--In~Out
143 1
144 1 // g_MachineNo=read_flash(WORKMODE_PAGE,MACHINENO_OFFSET);
145 1 g_MachineNo=0;
146 1
147 1 PIN_TXEN=RS485_COMM_DISENABLE;//不允许发送
148 1
149 1 //SCONF:
150 1 //WDR 7 6 5 4 3 ISPE OME ALEI
151 1 SCONF =VALUE_SCONF;//允许IPSE OME
152 1 ISPFD =0x55;
153 1 ISPFD =0xaa;
154 1 ISPFD =0x55;
155 1
156 1
157 1 }
158 /*
159 *********************************************************
160 **恢复系统
161 *********************************************************
162 */
163 void ResetSystem()
164 {
165 1
166 1 unsigned int addr;
167 1
168 1
169 1 EA =0;
170 1 T2CON=0x00;
171 1 IP=0X00;
172 1 TR2=0;
173 1 EA=0;
174 1 SCONF=0x00;//不允许ISP,XDATA
175 1
176 1 //恢复串口动作
177 1 TMOD=0x00;
178 1 PCON=0x00;
179 1 SCON=0x00;
C51 COMPILER V7.04 MAIN 04/08/2006 10:08:34 PAGE 4
180 1 TR1 =0x00;
181 1
182 1 PIN_TXEN=RS485_COMM_DISENABLE;//不允许发送
183 1
184 1 //main地址
185 1 addr = ChipRead(0x01);
186 1 addr <<= 8;
187 1 addr += ChipRead(0x02);
188 1
189 1
190 1
191 1 jmpmain(addr);
192 1
193 1 }
194 /*
195 *********************************************************
196 **初始参数
197 *********************************************************
198 */
199 void InitParameter()
200 {
201 1 for (i=0;i<215;i++)
202 1 {
203 2 g_CommBuffer[i]=0xff;
204 2 }
205 1
206 1 }
207
208 /*
209 *********************************************************
210 **延迟时间函数
211 *********************************************************
212 */
213 void Delay1ms(unsigned char num)
214 {
215 1
216 1
217 1 unsigned int k;
218 1
219 1 for(i=0;i<num;i++)
220 1 {
221 2 for(k=0;k<100;k++)WatchDog();
222 2 }
223 1
224 1 }
225
226
227 /*
228 void setflashHIADDR(value) {\
229 g_Buzz_LcdLigth_FlahPage_Statue=0xC0; \
230 g_Buzz_LcdLigth_FlahPage_Statue|=(value&0x7f); \
231 PA82C55=g_Buzz_LcdLigth_FlahPage_Statue ; \
232 }
233
234 void set_flash_page(page)
235 {
236 setflashHIADDR( page>>6 );
237 }
238 */
239
240 /*
241 *********************************************************
C51 COMPILER V7.04 MAIN 04/08/2006 10:08:34 PAGE 5
242 **读取机号
243 *********************************************************
244 */
245 /*
246 unsigned char read_flash(unsigned int page,unsigned char addr)
247 {
248 unsigned char xdata *rdaddr;
249 unsigned char bf=0;
250 set_flash_page(page);
251
252 page<<=8;
253 page&=0x3f00;
254 rdaddr=addr|FLASH_CS|page;
255
256 bf=*rdaddr;
257
258 return (bf);
259
260 }
261 */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 247 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 5 3
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 + -