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

📄 havekey.lst

📁 初学者首选各种实验原代码
💻 LST
字号:
C51 COMPILER V7.02a   HAVEKEY                                                              05/04/2004 07:30:33 PAGE 1   


C51 COMPILER V7.02a, COMPILATION OF MODULE HAVEKEY
OBJECT MODULE PLACED IN HAVEKEY.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE HAVEKEY.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /***************************************************************
   2          功能:识别有无按键,当有键按下蜂鸣器发声,直至松开后停止发声                             
   3          作者:SG                                                         
   4          时间:2004-03-15                                                 
   5          版本:V1.0                                                       
   6          ***************************************************************/
   7          
   8          sfr   KeyPort  = 0x90; 
   9          sbit  col1              = 0x96;                 //对应CPU管脚P1.6  
  10          sbit  col2              = 0x97;                 //对应CPU管脚P1.7  
  11          
  12          sbit  _Speak    = 0xb2;                 //对应CPU管脚P1.2
  13          
  14          /*-------------------------------------------------
  15          功能100uS延时子程序
  16          -------------------------------------------------*/
  17          void Delay_xuS(unsigned int x)
  18          {
  19   1          unsigned int i,j;
  20   1          for( i =0;i < x;i++ )
  21   1          {
  22   2              for( j =0;j<50;j++ );
  23   2          }
  24   1      }
  25          
  26          /*--------------------------------------------------
  27          功能:发音子程序每调用一次响一下
  28          ---------------------------------------------------*/
  29          void Song()
  30          {
  31   1              unsigned char i;
  32   1              for( i = 0;i < 10;i++)
  33   1              {
  34   2                      _Speak = 0;
  35   2                      Delay_xuS(1);
  36   2                      _Speak = 1;
  37   2                      Delay_xuS(1);
  38   2              }
  39   1      }
  40          /*--------------------------------------------------
  41          功能:判别有无按键按下,无返回0,有按下使蜂鸣器发声
  42             并直到按键松开,返回1
  43          ---------------------------------------------------*/
  44          bit haveKey()
  45          {
  46   1            unsigned char temp;
  47   1             KeyPort = 0xFF;
  48   1                 col1 = 0;                                            //扫描线置低
  49   1             col2 = 0;                                                //扫描线置低
  50   1             temp = KeyPort ;                                 //读键盘端口
  51   1             if( (temp & 0x30) == 0x30 )                              //等于FF表示没键按下
  52   1             {
  53   2                 return(0);                                   //无按键返回0
  54   2             }
  55   1                                              
C51 COMPILER V7.02a   HAVEKEY                                                              05/04/2004 07:30:33 PAGE 2   

  56   1             do
  57   1             {
  58   2                      Song();                                         //发声
  59   2                  temp = KeyPort;                             //读键盘
  60   2             }while(temp ==0x30);
  61   1             return(1);                                               //有按键返回1
  62   1      }
  63          
  64          /*--------------------------------------------------
  65          主程序
  66          功能:识别有无按键,当有键按下蜂鸣器发声,
  67                直至松开后停止发声 
  68          ---------------------------------------------------*/
  69          void main()
  70          {
  71   1          while(1)
  72   1          {
  73   2               if ( haveKey() )                       //识别有无按键
  74   2               {
  75   3                   _Speak = 1;                        //停止发声
  76   3               }
  77   2          }
  78   1      }
  79          
  80          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     92    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   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 + -