📄 keycfile.lst
字号:
C51 COMPILER V6.23a KEYCFILE 03/16/2006 11:41:32 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE KEYCFILE
OBJECT MODULE PLACED IN .\keycfile.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE ..\SCR\keycfile.c BROWSE DEBUG OBJECTEXTEND PRINT(.\keycfile.lst) OBJECT(.\
-keycfile.obj)
stmt level source
1
2 //定义函数体文档 KEY.C,如下:
3 #include "key.h"
4 //如果存入位置与读出位置相同,则表明队列中无按键数据
5 unsigned char keyHit( void )
6 { if( KeyBufWp == KeyBufRp ) return( 0 ); else return( 1 ); }
7
8 unsigned char keyGet( void )
9 { unsigned char retVal; //暂存读出键值
10 1 while( keyHit()==0 ); //等待按键,因为函数keyHit()的返回值为 0 表示无按键
11 1 retVal = KeyBuf[ KeyBufRp ]; //从数组中读出键值
12 1 if( ++KeyBufRp >= KeyBufSize ) KeyBufRp=0; //读位置加1,超出队列则循环回初始位置
13 1 return( retVal );
14 1 }
15
16 void keyPut( unsigned char ucKeyVal )
17 { KeyBuf[ KeyBufWp ] = ucKeyVal; //键值存入数组
18 1 if( ++KeyBufWp >= KeyBufSize ) KeyBufWp=0; //存入位置加1,超出队列则循环回初始位置
19 1 }
20 /*****************************************************************************************
21 由于某种原因,读出的按键,没有用,但其它任务要用该按键,但传送又不方便。此时可以退回按键队列。就如取错了信
-件,有必要退回一样
22 ******************************************************************************************/
23 void keyBack( unsigned char ucKeyVal )
24 {
25 1 /*
26 1 如果KeyBufRp=0; 减1后则为FFH,大于KeyBufSize,即从数组头退回到数组尾。或者由于干扰使得KeyBufRp超出队列位置
-,也要调整回到正常位置,
27 1 */
28 1 if( --KeyBufRp >= KeyBufSize ) KeyBufRp=KeyBufSize-1;
29 1 KeyBuf[ KeyBufRp ] = ucKeyVal; //回存键值
30 1 }
31 void delay(unsigned char x)
32 {unsigned char i,j;
33 1 for(i=0;i<x;i++)
34 1 for(j=0;j<255;j++);}
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 94 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 18 ----
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 + -