⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key.lst

📁 用51模拟的TFT RGB接口驱动程序(HS,VS,DE,PCLK时序)
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.05a   KEY                                                                  12/25/2007 01:05:22 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN .\key.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\51demo\key.c DEBUG OBJECTEXTEND PRINT(.\key.lst) OBJECT(.\key.obj)

line level    source

   1          /****************************************************************************
   2          * 公司名称:SITRONIX                                                                                             *
   3          * 模块名称:KEY.C                                                                                    *
   4          * 模块功能:扫描并处理按键                                                               *
   5          * 创建人员:Jim Yuan                                                                                                                     *
   6          * 创建日期:2007-6-8                                                                                                                     *
   7          * 修改日期:2007-6-26                                                                                                            *
   8          ****************************************************************************/
   9          
  10          #include "key.h"
  11          
  12          
  13          uint8 keybuf[KEYBUF_SIZE];   //按键BUFF
  14          uint8 key_in=0;              //按键输入数据位置
  15          uint8 key_out=0;             //按键输出数据位置
  16          
  17          extern idata volatile uint8 bl_ctl;              //backlight control
  18          extern idata volatile uint8 rom_bank;    //A16_A17_A18
  19          extern idata volatile uint8 rom_cs;      //00:bank0_01:bank1_10:bank2_11:bank3
  20          extern idata volatile uint8 key_scanx;   //ken scan address
  21          
  22          idata volatile uint8 keypress_count[KEYID_MAX + 1];
  23          idata volatile uint8 key_value;//取得的键盘值
  24          idata volatile uint8 key_count;
  25          
  26          sbit KEYSCAN_PIN=P3^4;
  27          
  28          /******************************************************************************
  29          *函数名称:key_init                                                           *
  30          *功能描述:按键初始化                                                         *
  31          *输    入:无                                                                 *
  32          *返    回:无                                                                 *
  33          *创建  人:袁杰                                                               *
  34          *创建日期:2007/4/22                                                           *
  35          *修改日期:                                                                   *
  36          *修 改 者:                                                                   *
  37          *版    本:0                                                                  *
  38          ******************************************************************************/
  39          void key_init(void)
  40          {
  41   1              uint8 i;
  42   1              key_in = 0;
  43   1              key_out = 0;
  44   1              key_scanx = 0;
  45   1              key_value = KEY_NULL;
  46   1              for(i = KEYID_MIN;i <= KEYID_MAX;i++)       //按键代码
  47   1              {keypress_count[i] = CLR;}                //按键纪录次数清零
  48   1      }
  49          
  50          /******************************************************************************
  51          *函数名称:keybuflen                                                          *
  52          *功能描述:按键可用缓冲的大小                                                 *
  53          *输    入:无                                                                 *
  54          *返    回:按键缓冲大小                                                       *
  55          *创建  人:袁杰                                                               *
C51 COMPILER V8.05a   KEY                                                                  12/25/2007 01:05:22 PAGE 2   

  56          *创建日期:2006/9/9                                                           *
  57          *修改日期:                                                                   *
  58          *修 改 者:                                                                   *
  59          *版    本:0                                                                  *
  60          ******************************************************************************/
  61          uint8 keybuflen (void)
  62          {
  63   1              return (key_in - key_out);      
  64   1      }
  65          
  66          /******************************************************************************
  67          *函数名称:key_input                                                          *
  68          *功能描述:按键数据输入                                                       *
  69          *输    入:按键数据                                                           *
  70          *返    回:无                                                                 *
  71          *创建  人:袁杰                                                               *
  72          *创建日期:2006/9/9                                                           *
  73          *修改日期:                                                                   *
  74          *修 改 者:                                                                   *
  75          *版    本:0                                                                  *
  76          ******************************************************************************/
  77          void key_input(uint8 value)
  78          {
  79   1              if(((key_in - key_out)&~(KEYBUF_SIZE - 1)) == 0)
  80   1          {
  81   2              keybuf[key_in&(KEYBUF_SIZE - 1)] = value;
  82   2              key_in++;
  83   2          }
  84   1      }
  85          
  86          /******************************************************************************
  87          *函数名称:key_output                                                         *
  88          *功能描述:按键数据输出                                                       *
  89          *输    入:按键数据                                                           *
  90          *返    回:无                                                                 *
  91          *创建  人:袁杰                                                               *
  92          *创建日期:2006/9/9                                                           *
  93          *修改日期:                                                                   *
  94          *修 改 者:                                                                   *
  95          *版    本:0                                                                  *
  96          ******************************************************************************/
  97          uint8 key_output(void)
  98          {
  99   1              if(keybuflen() == 0){return KEY_NULL;}
 100   1              return (keybuf[(key_out++)&(KEYBUF_SIZE - 1)]);
 101   1      }
 102          
 103          
 104          /******************************************************************************
 105          *函数名称:key_scan                                                           *
 106          *功能描述:按键扫描,把扫描到的键值放入BUF                                    *
 107          *输    入:无                                                                 *
 108          *返    回:无                                                                 *
 109          *创建  人:袁杰                                                               *
 110          *创建日期:2007/4/22                                                          *
 111          *修改日期:                                                                   *

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -