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

📄 recvdata.lst

📁 PS/2接口转矩阵键盘,51单片机编程实现
💻 LST
字号:
C51 COMPILER V7.50   RECVDATA                                                              04/07/2006 12:47:44 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE RECVDATA
OBJECT MODULE PLACED IN recvdata.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE recvdata.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "recvdata.h"
   2          
   3          
   4          unsigned char recvdata(void)
   5          {
   6   1              unsigned char datavalue=0,count=0,temp=1;
   7   1              bit flag_checked=1,error=0;
   8   1      
   9   1              if(keyclk==1)
  10   1              {
  11   2                      return NORECVDATA;
  12   2              }
  13   1      
  14   1              /* wait keyclk to high */
  15   1              while(!keyclk)
  16   1              {
  17   2              }
  18   1      
  19   1              /* check keydata */
  20   1              if(keydata)
  21   1              {
  22   2                      return RECVERROR;
  23   2              }
  24   1      
  25   1              /*      recv data       */
  26   1              datavalue=0;
  27   1              temp=1;
  28   1              flag_checked=1;
  29   1      
  30   1              for(count=0;count<8;count++)
  31   1              {
  32   2                      delay(4);
  33   2                      keyclk=0;
  34   2                      delay(8);
  35   2                      keyclk=1;
  36   2                      delay(4);
  37   2                      if(keydata)
  38   2                      {
  39   3                              datavalue=datavalue|(temp<<count);
  40   3                              flag_checked=!flag_checked;
  41   3                      }
  42   2              }
  43   1      
  44   1              /*      recv checkparam */
  45   1              delay(4);
  46   1              keyclk=0;
  47   1              delay(8);
  48   1              keyclk=1;
  49   1              delay(4);
  50   1      
  51   1              if(keydata!=flag_checked)
  52   1              {
  53   2                      error=1;
  54   2              }
  55   1      
C51 COMPILER V7.50   RECVDATA                                                              04/07/2006 12:47:44 PAGE 2   

  56   1              /*      recv stop bit */
  57   1              delay(4);
  58   1              keyclk=0;
  59   1              delay(8);
  60   1              keyclk=1;
  61   1              delay(4);
  62   1      
  63   1              while(!keydata)
  64   1              {
  65   2              }
  66   1      
  67   1              /*      send ack */
  68   1              delay(3);
  69   1              keydata=0;
  70   1              delay(1);
  71   1              keyclk=0;
  72   1              delay(8);
  73   1              keyclk=1;
  74   1              delay(1);
  75   1              keydata=1;      
  76   1              delay(9);
  77   1      
  78   1              if(error==1)
  79   1              {
  80   2                      return RECVERROR;
  81   2              }
  82   1              
  83   1              return datavalue;
  84   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    178    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       3
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       2
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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