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

📄 keyprocess.lst

📁 【仿真】proteus中LCD和4x4键盘联合仿真.rar
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.05a   KEYPROCESS                                                           08/08/2007 11:03:52 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE KEYPROCESS
OBJECT MODULE PLACED IN KeyProcess.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE sources\KeyProcess.c BROWSE INCDIR(.\include;.\include;.\include) DEBUG OBJ
                    -ECTEXTEND PRINT(.\KeyProcess.lst) OBJECT(KeyProcess.obj)

line level    source

   1          //*************************************************************************************************
   2          //*                                                                                                                                                                                               *
   3          //*                      ******************************键码处理程序**************************                             *
   4          //*                                                                                                                                                                                               *
   5          //*************************************************************************************************
   6          
   7          //*************************************************************************************************
   8          //*                                                                                                                                                                                               *
   9          //*                      ******************************头文件及宏定义**************************                           *
  10          //*                                                                                                                                                                                               *
  11          //*************************************************************************************************
  12          #include "InputNumber.h"
  13          #include "InputChar.h"
  14          #include "SMC1602.h"
  15          
  16          
  17          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<输入法标志位>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  18          bit b_InputMode=1;                                              //0表示是数字输入法,1表示是字母输入法。
  19                                                                                          //默认是字母输入法。
  20          
  21          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<显示介绍>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  22          extern bit b_Introduce;
  23          
  24          void vIntroduce();
  25          
  26          
  27          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<连续按键计数>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  28          unsigned char uc_KeyTemp=0;                             //按键键码暂存。
  29          
  30          unsigned char uc_ClickCount=1;                  //同一个按连续按下的次数。
  31          
  32          extern unsigned char uc_CleanCount;             //清除按键计数时间计数。
  33          
  34          bit b_CleanClick=0;                                             //为1时启用清除。
  35          
  36          
  37          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<大小写模式>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  38          extern bit b_CapStatus;                                 //0--大写;1--小写。(默认为0:大写)
  39          
  40          
  41          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<刷新字符显示>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  42          unsigned char uca_CharBox[17]={"                "};              
  43                                                                                          //存储刷新字符。
  44          
  45          unsigned char uc_CharPointer=0;                 //刷新字符末位计数,指向字符光标位置。
  46          
  47          
  48                                                                                          
  49          
  50          
  51          //*************************************************************************************************
  52          //*                                                                                                                                                                                               *
  53          //*                      ******************************字符显示更新函数**************************                         *
  54          //*                                                                                                                                                                                               *
C51 COMPILER V8.05a   KEYPROCESS                                                           08/08/2007 11:03:52 PAGE 2   

  55          //*************************************************************************************************
  56          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  57          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<删除所有字符>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  58          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  59          void vCleanAll()
  60          {
  61   1              unsigned char ucCount;
  62   1      
  63   1              for(ucCount=0;ucCount<uc_CharPointer;ucCount++)
  64   1                      uca_CharBox[ucCount]=' ';
  65   1      
  66   1              uc_CharPointer=0;
  67   1              vWriteCMD(0xC0);
  68   1              vShowChar("                ");
  69   1              vWriteCMD(0xC0);
  70   1      }
  71          
  72          
  73          
  74          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  75          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<删除一个字符>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  76          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  77          void vCleanOne()
  78          {
  79   1              if(uc_CharPointer>0)
  80   1                      {
  81   2                              uc_CharPointer--;
  82   2                              uca_CharBox[uc_CharPointer]=' ';
  83   2                              vWriteCMD(0xC0+uc_CharPointer);
  84   2                              vShowOneChar(' ');
  85   2                              vWriteCMD(0xC0+uc_CharPointer);
  86   2                      }
  87   1      }
  88          
  89          
  90          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  91          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<添加一个字符>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  92          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  93          void vCharAdd(unsigned char ucChar)                                                //接收的是ASC字符。
  94          {
  95   1              unsigned char ucCount;
  96   1              if(uc_CharPointer<16)
  97   1                      {
  98   2      
  99   2                      vWriteCMD(0xC0+uc_CharPointer);
 100   2                      vShowOneChar(ucChar);
 101   2                      
 102   2                      uca_CharBox[uc_CharPointer]=ucChar;                               //将字符写入uca_CharBox。     
 103   2                      uc_CharPointer++;                                                                 //使ucCharPoint只想下一个位置。
 104   2                      }
 105   1              else
 106   1                      {                                                                                                 //如字符超出16个则全部清除,把光标移到最左边。
 107   2                      vWriteCMD(0xC1);
 108   2                      vShowChar("                 ");
 109   2                      vWriteCMD(0xC0);
 110   2                      vShowOneChar(ucChar);                                                    //写入输入字符。
 111   2      
 112   2                      for(ucCount=1;ucCount<16;ucCount++)
 113   2                              uca_CharBox[ucCount]=' ';                                        //同时清空uca_CharBox。
 114   2                      uca_CharBox[0]=ucChar;
 115   2                      uc_CharPointer=1;
 116   2                      }
C51 COMPILER V8.05a   KEYPROCESS                                                           08/08/2007 11:03:52 PAGE 3   

 117   1      
 118   1              b_CleanClick=1;
 119   1              uc_CleanCount=0;
 120   1      }
 121          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 122          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<获取按键字符ASC值>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 123          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 124          unsigned char ucGetChar(unsigned char ucChar)
 125          {
 126   1              if(b_InputMode==0)
 127   1                      return ucGetNum(ucChar);                   //获取数字字符。
 128   1              else

⌨️ 快捷键说明

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