📄 main.lst
字号:
C51 COMPILER V7.50 MAIN 04/03/2007 10:38:50 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.obj
COMPILER INVOKED BY: E:\Keil\C51\BIN\C51.EXE IIC[Ultral]\main.c BROWSE DEBUG OBJECTEXTEND PRINT(.\main.lst) OBJECT(main.
-obj)
line level source
1 // korfi: [3/7/2007]
2 // korfi [3/17/2007]:Version 2.0, I want it to be the foudation software of this product.
3 //2007-3-21 9:48
4 //2007-4-2 20:41 一个好的程序结构是很重要的
5 //各司其职,合理重用
6 #include "iic.h"
7
8 #define REALTIME_H 0x0c//0.05s T2,自动重装
9 #define REALTIME_L 0x00
10
11 void main()
12 {
13 1 //unsigned int xdata lt;//,lt2;
14 1 //unsigned char xdata k;
15 1 EA=0;
16 1 ////////////默认输出/////////////
17 1 {
18 2 OUT0=0x24^0xff;
19 2 OUT1=0x55^0xff;
20 2 OUT2=0x24^0xff;
21 2 OUT3=0x24^0xff;
22 2 OUT4=0x55^0xff;
23 2 OUT5=0x24^0xff;
24 2 OUT6=0xff^0xff;
25 2 }
26 1 /////////////CPU配置/////////////
27 1 {
28 2 //INT0
29 2 //IT0=0;//边沿触发
30 2 //EX0=0;//外中断0
31 2 //UART
32 2 TMOD=0x20;//+0x01;
33 2 TR1=1;//TF1=0;
34 2 TH1=0xfa;TL1=0xfa;////N=256-fosc/(32*12*fBd),fBd=4800,N=256-6
35 2 PCON=0x00;
36 2 SCON=0x50;//
37 2 RI=0;TI=0;
38 2 PS=1;//提高优先级
39 2 REN=1;//允许接收
40 2 TxEN=0;//
41 2 ES=0;//暂时先不开通
42 2 //PS2
43 2 PS2_Init();
44 2 //T2:T=(65536-x)*12/fosc,x=65536-T*fosc/12
45 2 T2MOD=0x00; //50ms max=71.1ms
46 2 RCAP2H=0x4c;//0x4c 0x00
47 2 RCAP2L=0x00;//0x00 0x00
48 2 TR2=1;
49 2 ET2=1;
50 2 //
51 2 EA=1;
52 2 }
53 1 /////////////启动装载////////////
54 1 {
C51 COMPILER V7.50 MAIN 04/03/2007 10:38:50 PAGE 2
55 2 //设置载入
56 2 MacAddr=EPR_Read(ADDR_MAC);
57 2 LcdPowerOn();
58 2 LcdInit();
59 2 //
60 2 temp=EPR_Read(ADDR_FIRST_USED);
61 2 if(temp==0xff||__KF_DEBUG__)//korfi:使用这里来确定调试是否
62 2 {//第一次使用
63 3 while(!__KF_DEBUG__)
64 3 {
65 4 WDT=1;
66 4 LcdCnString(1,1,"初次使用");
67 4 LcdCnString(2,1,"输入密码");
68 4 GetPassWord(3,2);
*** WARNING C206 IN LINE 68 OF IIC[ULTRAL]\MAIN.C: 'GetPassWord': missing function-prototype
*** ERROR C267 IN LINE 68 OF IIC[ULTRAL]\MAIN.C: 'GetPassWord': requires ANSI-style prototype
69 4 if(AppBuf[0]==12)&&(AppBuf[1]==34))
*** ERROR C202 IN LINE 69 OF IIC[ULTRAL]\MAIN.C: 'AppBuf': undefined identifier
*** ERROR C141 IN LINE 69 OF IIC[ULTRAL]\MAIN.C: syntax error near '&&'
*** ERROR C202 IN LINE 69 OF IIC[ULTRAL]\MAIN.C: 'AppBuf': undefined identifier
*** ERROR C141 IN LINE 69 OF IIC[ULTRAL]\MAIN.C: syntax error near ')'
70 4 {
71 5 PswCnt=SYS_AUTO_LOCK_TIME;
72 5 break;
73 5 }
74 4 }
75 3 if(!__KF_DEBUG__)
76 3 EPR_Write(ADDR_FIRST_USED,0xaa);
77 3 //初始化所有信息
78 3 LcdCnString(1,3,"初始化");
79 3 RTC_FirstInit();//RTC
80 3 //EEPROM
81 3 EPR_Reset();
82 3 }
83 2 else
84 2 {
85 3 RTC_GeneralInit();
86 3 }
87 2 }
88 1 /////////////启动延时////////////
89 1 {
90 2 LcdCnString(1,2,"启动延时");
91 2 KeyVal=5;//借用一下变量
92 2 while(KeyVal)
93 2 {
94 3 if(SecondFlag)
95 3 {
96 4 KeyVal-=1;
97 4 SecondFlag=0;
98 4 }
99 3 }
100 2 }
101 1 /////////////监视模块/////////////
102 1 DeskTopFlag=1;
103 1 LcdInit();
104 1 ShowDesk();//显示桌面
105 1 HourUpdate();
106 1 while(1)
107 1 {
108 2 /////按键
109 2 KeyVal=GetKey();
110 2 if ((KeyVal!=KEY_NOKEY))
C51 COMPILER V7.50 MAIN 04/03/2007 10:38:50 PAGE 3
111 2 {//按键监视
112 3 AutoLockCnt=SYS_LCD_OFF_TIME;
113 3 if(!LcdPowerFlag)//掉电则先上电
*** ERROR C202 IN LINE 113 OF IIC[ULTRAL]\MAIN.C: 'LcdPowerFlag': undefined identifier
114 3 LcdPowerOn();
115 3 switch(KeyVal)
116 3 {
117 4 case KEY_ENTER:
118 4 if((!DeskTopFlag)&&(!PswLock))
*** ERROR C202 IN LINE 118 OF IIC[ULTRAL]\MAIN.C: 'PswLock': undefined identifier
119 4 OnEnter();
120 4 break;
121 4 case KEY_UP:
122 4 case KEY_LEFT:
123 4 if((!DeskTopFlag)&&(!PswLock))
*** ERROR C202 IN LINE 123 OF IIC[ULTRAL]\MAIN.C: 'PswLock': undefined identifier
124 4 OnArrowUp();
125 4 break;
126 4 case KEY_DOWN:
127 4 case KEY_RIGHT:
128 4 if((!DeskTopFlag)&&(!PswLock))
*** ERROR C202 IN LINE 128 OF IIC[ULTRAL]\MAIN.C: 'PswLock': undefined identifier
129 4 OnArrowDown();
130 4 break;
131 4 case KEY_BKSPACE:
132 4 case KEY_CANCEL:
133 4 if((!DeskTopFlag)&&(!PswLock))
*** ERROR C202 IN LINE 133 OF IIC[ULTRAL]\MAIN.C: 'PswLock': undefined identifier
134 4 OnCancel();
135 4 break;
136 4 case KEY_MENU:
137 4 OnMenuKey();
138 4 default:
139 4 ;
140 4 }
141 3 }
142 2
143 2 if (NewPackage)
144 2 {//接收到通讯新包
145 3 CmdProcess();
146 3 NewPackage=0;
147 3 }
148 2
149 2 if(SecondFlag)
150 2 {//每秒响应一次
151 3 {//自动键盘锁定监视
152 4 if(AutoLockCnt>0)
153 4 AutoLockCnt-=1;
154 4 if((!PswLock)&&(AutoLockCnt<(SYS_LCD_OFF_TIME-SYS_AUTO_LOCK_TIME)))
*** ERROR C202 IN LINE 154 OF IIC[ULTRAL]\MAIN.C: 'PswLock': undefined identifier
155 4 {//自动锁定
156 5 PswLock=1;
*** ERROR C202 IN LINE 156 OF IIC[ULTRAL]\MAIN.C: 'PswLock': undefined identifier
157 5 DeskTopFlag=1;
158 5 }
159 4 if((LcdPowerFlag)&&(AutoLockCnt==0))
*** ERROR C202 IN LINE 159 OF IIC[ULTRAL]\MAIN.C: 'LcdPowerFlag': undefined identifier
160 4 {//Lcd断电
161 5 LcdPowerOff();
162 5 LcdPowerFlag=0;//掉电
*** ERROR C202 IN LINE 162 OF IIC[ULTRAL]\MAIN.C: 'LcdPowerFlag': undefined identifier
163 5 }
C51 COMPILER V7.50 MAIN 04/03/2007 10:38:50 PAGE 4
164 4 }
165 3
166 3 if(DeskTopFlag && LcdPowerFlag)
*** ERROR C202 IN LINE 166 OF IIC[ULTRAL]\MAIN.C: 'LcdPowerFlag': undefined identifier
167 3 ShowDesk();
168 3 SecondCheck();//状态切换
169 3
170 3 if(SwitchFlag)
171 3 {//是否需要更新EEPROM
172 4 if(EPRChangeFlag)
*** ERROR C202 IN LINE 172 OF IIC[ULTRAL]\MAIN.C: 'EPRChangeFlag': undefined identifier
173 4 {
174 5 EPR_CopyPage();//只能在主循环中出现拷贝现象
175 5 HourUpdate();//重新搜索相组关系
176 5 PhaseSwitch();//重新装入相位属性
177 5 EPRChangeFlag=0;
*** ERROR C202 IN LINE 177 OF IIC[ULTRAL]\MAIN.C: 'EPRChangeFlag': undefined identifier
178 5 }
179 4 SwitchFlag=0;
180 4 }
181 3
182 3 SecondFlag=0;
183 3 }
184 2 }
185 1 }
186
187 /////////////////中断服务///////////
188 //UART_ISR()在UART.c中
189 //PS2_RecChar()在PS2.c中
190
191 void Timer2() interrupt INT_SOURCE_T2
192 {
193 1 //自动重装计时:50ms
194 1 if(RealTimeCnt>1)
*** ERROR C202 IN LINE 194 OF IIC[ULTRAL]\MAIN.C: 'RealTimeCnt': undefined identifier
195 1 RealTimeCnt--;
*** ERROR C202 IN LINE 195 OF IIC[ULTRAL]\MAIN.C: 'RealTimeCnt': undefined identifier
196 1 else
197 1 {
198 2 RealTimeCnt=20;
*** ERROR C202 IN LINE 198 OF IIC[ULTRAL]\MAIN.C: 'RealTimeCnt': undefined identifier
199 2 SecondFlag=1;
200 2 }
201 1
202 1 if(DelayCnt)//延时用的变量
*** ERROR C202 IN LINE 202 OF IIC[ULTRAL]\MAIN.C: 'DelayCnt': undefined identifier
203 1 DelayCnt--;
*** ERROR C202 IN LINE 203 OF IIC[ULTRAL]\MAIN.C: 'DelayCnt': undefined identifier
204 1 }
C51 COMPILATION COMPLETE. 1 WARNING(S), 22 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -