📄 taskkey.lst
字号:
C51 COMPILER V7.06 TASKKEY 01/22/2007 09:50:01 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE TASKKEY
OBJECT MODULE PLACED IN .\output\TaskKey.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE TaskKey.c OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND OBJECT(.\output\TaskK
-ey.obj)
stmt level source
1 /*--------------文件信息--------------------------------------------------------------------------------
2 **文 件 名: I2C_24C04.C
3 **创 建 人: 刘宝贵
4 **最后修改日期: 2005 07 19
5 **描 述: A24c04驱动函数
6 **
7 **--------------历史版本信息----------------------------------------------------------------------------
8 ** 修改人:
9 ** 版 本:
10 ** 日 期:
11 ** 描 述:
12 **
13 **--------------当前版本修订------------------------------------------------------------------------------
14 ** 修改人:
15 ** 日 期:
16 ** 描 述:
17 **
18 **------------------------------------------------------------------------------------------------------
19 ********************************************************************************************************/
20 #include"includes.h"
21 #define KEY_FUNCTION 0x0C
22 #define KEY_RUN 0x0D
23 #define KEY_STOP 0x0F
24 #define KEY_PAUSE 0x0E
25 #define KEY_LEFT 0x0B
26 #define KEY_YES 0x0A
27 #define KEY_0 0x0
28 #define KEY_1 0x1
29 #define KEY_2 0x2
30 #define KEY_3 0x3
31 #define KEY_4 0x4
32 #define KEY_5 0x5
33 #define KEY_6 0x6
34 #define KEY_7 0x7
35 #define KEY_8 0x8
36 #define KEY_9 0x9
37
38 #define KEY_NULL 0xFF
39 unsigned char KeyNumber;
40 /*********************************************************************************************************
41 ** 函数名称:
42 ** 功能描述:
43 ** 输 入:
44 ** 输 出:
45 ** 全局变量:
46 ** 调用模块:
47 ** 注 意:
48 ** 作 者:
49 ** 日 期:
50 **-------------------------------------------------------------------------------------------------------
51 ** 修改人:
52 ** 日 期:
53 **-------------------------------------------------------------------------------------------------------
54 *********************************************************************************************************/
C51 COMPILER V7.06 TASKKEY 01/22/2007 09:50:01 PAGE 2
55 void InitializeNewStep()
56 {
57 1 LoadSingleStep(ProgramNo,Step);//读取工步
58 1 if(CheckSingleStep() == 0)//检测读取的工步是否合法 0:不合法。
59 1 {
60 2 Mode = 99;
61 2 LoopTimes = 0;
62 2 SetupI = 0;
63 2 SetupU = 0;
64 2 // IntervalTimeM = 0;
65 2 JumpTimeM = 0;
66 2 JumpU = 0;
67 2 JumpQ = 0;
68 2 }
69 1 Deep0Focus = 1;
70 1 Deep1Focus = 0;
71 1 }
72 /*********************************************************************************************************
73 ** 函数名称:
74 ** 功能描述:
75 ** 输 入:
76 ** 输 出:
77 ** 全局变量:
78 ** 调用模块:
79 ** 注 意:
80 ** 作 者:
81 ** 日 期:
82 **-------------------------------------------------------------------------------------------------------
83 ** 修改人:
84 ** 日 期:
85 **-------------------------------------------------------------------------------------------------------
86 *********************************************************************************************************/
87 unsigned char ReadKey()
88 {
89 1 unsigned char data keytemp,keytemp1;
90 1 do
91 1 {
92 2 os_wait (K_TMO, 20/OS_MSEL_PER_TICKS, 0);
93 2 keytemp = ReadOutXRAM(CPLD_KEY_NUMBER);//读CPLD的键盘寄存器
94 2 os_wait (K_TMO, 20/OS_MSEL_PER_TICKS, 0);
95 2 keytemp1 = ReadOutXRAM(CPLD_KEY_NUMBER);//读CPLD的键盘寄存器
96 2 }while(keytemp != keytemp1 || keytemp > 15);
97 1 switch(keytemp1)
98 1 {
99 2 /*
100 2 case 0:keytemp = KEY_FUNCTION ;break;
101 2 case 1:keytemp = KEY_1 ;break;
102 2 case 2:keytemp = KEY_2 ;break;
103 2 case 3:keytemp = KEY_3 ;break;
104 2 case 4:keytemp = KEY_RUN ;break;
105 2 case 5:keytemp = KEY_4 ;break;
106 2 case 6:keytemp = KEY_5 ;break;
107 2 case 7:keytemp = KEY_6 ;break;
108 2 case 8:keytemp = KEY_STOP ;break;
109 2 case 9:keytemp = KEY_7 ;break;
110 2 case 0x0A:keytemp = KEY_8 ;break;
111 2 case 0x0B:keytemp = KEY_9 ;break;
112 2 case 0x0C:keytemp = KEY_PAUSE ;break;
113 2 case 0x0D:keytemp = KEY_LEFT ;break;
114 2 case 0x0E:keytemp = KEY_YES ;break;
115 2 case 0x0F:keytemp = KEY_0 ;break;
116 2 */
C51 COMPILER V7.06 TASKKEY 01/22/2007 09:50:01 PAGE 3
117 2 case 0:keytemp = KEY_FUNCTION ;break;
118 2 case 1:keytemp = KEY_PAUSE ;break;
119 2 case 2:keytemp = KEY_STOP ;break;
120 2 case 3:keytemp = KEY_RUN ;break;
121 2 case 4:keytemp = KEY_1 ;break;
122 2 case 5:keytemp = KEY_4 ;break;
123 2 case 6:keytemp = KEY_7 ;break;
124 2 case 7:keytemp = KEY_LEFT ;break;
125 2 case 8:keytemp = KEY_2 ;break;
126 2 case 9:keytemp = KEY_5 ;break;
127 2 case 0x0A:keytemp = KEY_8 ;break;
128 2 case 0x0B:keytemp = KEY_YES ;break;
129 2 case 0x0C:keytemp = KEY_3 ;break;
130 2 case 0x0D:keytemp = KEY_6 ;break;
131 2 case 0x0E:keytemp = KEY_9 ;break;
132 2 case 0x0F:keytemp = KEY_0 ;break;
133 2 }
134 1 return(keytemp);
135 1 }
136
137 /*********************************************************************************************************
138 ** 函数名称:
139 ** 功能描述:
140 ** 输 入:
141 ** 输 出:
142 ** 全局变量:
143 ** 调用模块:
144 ** 注 意:
145 ** 作 者:
146 ** 日 期:
147 **-------------------------------------------------------------------------------------------------------
148 ** 修改人:
149 ** 日 期:
150 **-------------------------------------------------------------------------------------------------------
151 *********************************************************************************************************/
152 void TaskKey (void) _task_ 1
153 {
154 1 unsigned char data KeyNumber;
155 1 Deep0Focus = 0;
156 1 Deep1Focus = 0;
157 1 while(1)
158 1 {
159 2 KeyNumber = ReadKey();
160 2 switch(KeyNumber)
161 2 {
162 3 case 0:
163 3 case 1:
164 3 case 2:
165 3 case 3:
166 3 case 4:
167 3 case 5:
168 3 case 6:
169 3 case 7:
170 3 case 8:
171 3 case 9:
172 3 {
173 4 uint16 temp16;
174 4 uint8 temp8;
175 4 switch(State)
176 4 {
177 5 case RUN:
178 5 {
C51 COMPILER V7.06 TASKKEY 01/22/2007 09:50:01 PAGE 4
179 6 if(KeyNumber == 1 && Debug ==0 )//在运行时按数字键1则显示调试信息
180 6 {
181 7 Debug = 1;
182 7 }
183 6 else
184 6 {
185 7 Debug = 0;
186 7 }
187 6 }break;
188 5 case FUNCTION_TABLE:
189 5 {
190 6 switch(KeyNumber)
191 6 {
192 7 case 1://转设定工步
193 7 {
194 8 ProgramNo = 0;
195 8 State = SET_PROGRAM_STEP;
196 8 EepromWriteByte(E2State ,State);
197 8 Deep0Focus = 1;
198 8 Deep1Focus = 0;
199 8 Step = 0;
200 8 LoadSingleStep(ProgramNo,Step);//读取工步
201 8 if(CheckSingleStep() == 0)//检测读取的工步是否合法 0:不合法。
202 8 {
203 9 Mode=99;
204 9 }
205 8 }break;
206 7 case 2://转设定参数
207 7 {
208 8 State = SET_PARAMETER;
209 8 EepromWriteByte(E2State ,State);
210 8 Deep0Focus=0;
211 8 Deep1Focus=0;
212 8 }break;
213 7 default://返回停止页面
214 7 {
215 8 State = STOP;
216 8 EepromWriteByte(E2State ,State);
217 8 }
218 7 }
219 6 }break;
220 5 case SET_PARAMETER:
221 5 {
222 6 switch(Deep0Focus)
223 6 {
224 7 case 0://设定地址
225 7 {
226 8 if(Deep1Focus!=255)
227 8 {
228 9 temp16=1;
229 9 temp8 = Deep1Focus--;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -