📄 key4x412232.lst
字号:
194 * 全局静态变量:
195 * 局部静态变量:
196 *----------------------------------------修改历史------------------------------------------
197 * 当前版本 : 修改人: 修改日期:
198 * 修改说明 :
199 ******************************************************************************************/
200 void LCD_SetRam(bit zhucongmian,uchar ndata)
201 {
202 1 A0=1;
203 1
204 1 E1=!zhucongmian;
205 1
206 1 E2=zhucongmian;
207 1
208 1
209 1 DATE=ndata;
210 1
211 1 E1=0;
212 1
213 1 E2=0;
214 1
215 1 }
216 /******************************************************************************************
217 * 函数名称 :LCD_Init
218 * 功能描述 :
219 * 参数 : 参数名称: 输入/输出? 类型 描述
220 *
221 * 返回值 :
222 * 作者 :
223 * 创建日期 :2006-12-19
224 * 全局变量 :
225 * 全局静态变量:
226 * 局部静态变量:
227 *----------------------------------------修改历史------------------------------------------
228 * 当前版本 : 修改人: 修改日期:
229 * 修改说明 :
230 ******************************************************************************************/
231 void LCD_Init()
232 {
233 1 P1=0xff;
234 1 P2=0xff;
235 1 LCD_OFF(); //关闭显示
236 1 LCD_Command(LCD_RESET); //复位
237 1 LCD_Command(0xa0); //列与段驱动反方向
238 1 LCD_Command(LCD_DUTY32); //1/32
239 1 LCD_Command(0xa4); //关闭静态显示 打开正常驱动
240 1 LCD_EndRW(); //关闭自动列加1
241 1 LCD_SetStartLine(0); //设置起始行
C51 COMPILER V8.02 KEY4X412232 01/21/2009 22:22:47 PAGE 5
242 1 LCD_SetColumn(0); //起始列
243 1 LCD_SetPage(0); //起始页
244 1 LCD_ON(); //开显示
245 1 }
246
247 /******************************************************************************************
248 * 函数名称 :clrscr
249 * 功能描述 :清屏
250 * 参数 : 参数名称: 输入/输出? 类型 描述
251 *
252 * 返回值 :
253 * 作者 :
254 * 创建日期 :2006-12-19
255 * 全局变量 :
256 * 全局静态变量:
257 * 局部静态变量:
258 *----------------------------------------修改历史------------------------------------------
259 * 当前版本 : 修改人: 修改日期:
260 * 修改说明 :
261 ******************************************************************************************/
262 void clrscr(void)
263 {
264 1 uchar i;
265 1 uchar page;
266 1 for(page=0;page<4;page++)
267 1 {
268 2 LCD_SetPage(page);
269 2 for(i=0;i<61;i++)
270 2 {
271 3 LCD_SetColumn(i);
272 3 LCD_SetRam(0,0X00);
273 3
274 3 LCD_SetRam(1,0X00);
275 3 }
276 2 }
277 1 }
278 /******************************************************************************************
279 * 函数名称 :drawword
280 * 功能描述 ://layer 值为0,2;wenzi 码表中的几个字
281 * 参数 : 参数名称: 输入/输出? 类型 描述
282 *
283 * 返回值 :
284 * 作者 :
285 * 创建日期 :2006-12-19
286 * 全局变量 :
287 * 全局静态变量:
288 * 局部静态变量:
289 *----------------------------------------修改历史------------------------------------------
290 * 当前版本 : 修改人: 修改日期:
291 * 修改说明 :
292 ******************************************************************************************/
293 drawword(uchar liedizhi,uchar layer,uchar wenzi)
294 {
295 1 uchar column,x;//layer 值为0,2;wenzi 码表中的几个字
296 1 bit zhucongmian;
297 1 // for(x=0;x<16;x++) //显示文字
298 1 for(x=0;x<8;x++)
299 1 {
300 2 column=liedizhi+x;
301 2 if(column>60)
302 2 {
303 3 zhucongmian=1; //右半屏显示
C51 COMPILER V8.02 KEY4X412232 01/21/2009 22:22:47 PAGE 6
304 3 column-=61;
305 3 }
306 2 else
307 2 zhucongmian=0; //左半屏显示
308 2 // LCD_SetStartLine(0);//设置起始行
309 2 LCD_SetColumn(column);//设置起始列
310 2 LCD_SetPage(layer);
311 2
312 2 //LCD_SetRam(zhucongmian,*(pzm+wenzi*32+x)); //显示文字
313 2 LCD_SetRam(zhucongmian,*(pzm+wenzi*16+x));
314 2 // LCD_SetStartLine(0);//设置起始行
315 2 LCD_SetColumn(column);//设置起始列
316 2 LCD_SetPage(layer+1);
317 2 // LCD_SetRam(zhucongmian,*(pzm+wenzi*32+16+x)); //显示文字
318 2 LCD_SetRam(zhucongmian,*(pzm+wenzi*16+8+x)); //显示数字
319 2 }
320 1 }
321 //显示汉字
322 drawhanzi(uchar liedizhi,uchar layer,uchar wenzi)
323 {
324 1 uchar column,x;//layer 值为0,2;wenzi 码表中的几个字
325 1 bit zhucongmian;
326 1
327 1 for(x=0;x<16;x++) //显示文字
328 1
329 1 {
330 2 column=liedizhi+x;
331 2 if(column>60)
332 2 {
333 3 zhucongmian=1; //右半屏显示
334 3 column-=61;
335 3 }
336 2 else
337 2 zhucongmian=0; //左半屏显示
338 2 // LCD_SetStartLine(0);//设置起始行
339 2 LCD_SetColumn(column);//设置起始列
340 2 LCD_SetPage(layer);
341 2
342 2 LCD_SetRam(zhucongmian,*(pzm1+wenzi*32+x)); //显示文字
343 2
344 2 // LCD_SetStartLine(0);//设置起始行
345 2 LCD_SetColumn(column);//设置起始列
346 2 LCD_SetPage(layer+1);
347 2 LCD_SetRam(zhucongmian,*(pzm1+wenzi*32+16+x)); //显示文字
348 2
349 2 }
350 1 cs1=1;
351 1 }
352 /******************************************************************************************
353 * 函数名称 :delay1s
354 * 功能描述 :
355 * 参数 : 参数名称: 输入/输出? 类型 描述
356 *
357 * 返回值 :
358 * 作者 :
359 * 创建日期 :2006-12-19
360 * 全局变量 :
361 * 全局静态变量:
362 * 局部静态变量:
363 *----------------------------------------修改历史------------------------------------------
364 * 当前版本 : 修改人: 修改日期:
365 * 修改说明 :
C51 COMPILER V8.02 KEY4X412232 01/21/2009 22:22:47 PAGE 7
366 ******************************************************************************************/
367 void delay1s()
368 {
369 1 unsigned char j, k;
370 1 for(j=0;j<150;j++)
371 1 for(k=0;k<255;k++);
372 1 }
373 void delaykey()
374 {
375 1 for(i=50;i>0;i--)
376 1 for(j=200;j>0;j--);
377 1 }
378 void buzzer_driver_key(void)
379 {
380 1
381 1
382 1
383 1 PIN_BUZZER=0;
384 1 delay1s();
385 1 delay1s();
386 1 PIN_BUZZER=1;
387 1 }
388 uchar key_scan(void)
389 {
390 1
391 1 P0=0XF0;
392 1 x(0);
393 1 { cs1=0;
394 2 delaykey();
395 2 if(PIN_KEY4==0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -