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

📄 led_key.lst

📁 320*240点阵液晶(sed1335)驱动程序,keil c调试通过,io连接方式
💻 LST
字号:
C51 COMPILER V7.50   LED_KEY                                                               11/08/2005 00:06:20 PAGE 1   


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

line level    source

   1          #include "MSC1210.H"
   2          #include "bin.h"
   3          #include "comm.h" 
   4          #include "led_key.h" 
   5          
   6          //#define INBUF_LEN 4
   7          sbit P1_1 = P1^1;
   8          
   9          unsigned char  disp_buffer[9] = {0, 1, 2,3, 4, 5, 6,7,10};
  10          unsigned char xdata buffer_is_change[8]= {0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff,0xff};
  11          unsigned char xdata key_buffer[4];
  12          unsigned char xdata WXA_led[11]={'W', 'X', 'A', '0', '1', '7', '3','0','0',0x0D,0x0A};
  13          
  14          unsigned char dot_cu=0;
  15          
  16          //delay
  17          void delay(int v)
  18          {
  19   1              while(v != 0)   v --;
  20   1      }
  21          
  22          void led_key_init(void)
  23          {
  24   1              unsigned char code WXA_key_dis[11]={'W', 'X', 'A', '0', '1', '7', 'B','0','0',0x0D,0x0A};
  25   1              unsigned char i;
  26   1              for (i=0;i<60;i++)
  27   1                              delay(6000);
  28   1                              
  29   1              put_string_com(WXA_key_dis,11);//键盘处理使能寄存器 4f 4b 0d 0a 
  30   1              for (i=0;i<30;i++)
  31   1                              delay(6000);
  32   1              if (count3 !=0)
  33   1                      get_string_com(key_buffer,4);
  34   1      }
  35          
  36          
  37          
  38          
  39          /**/
  40          
  41          void p11(void)
  42          {       
  43   1          P1_1 = 0;
  44   1              delay(10);
  45   1              P1_1 = 1;
  46   1              delay(10);
  47   1      }
  48          
  49          unsigned char key(void)
  50          {
  51   1              unsigned char i;
  52   1              unsigned char code RXA_key[11]={'R', 'X', 'A', '0', '1', '7', 'E','0','1',0x0D,0x0A};
  53   1              
  54   1      
  55   1              put_string_com(RXA_key,11);// 4f 4b 0d 0a 
C51 COMPILER V7.50   LED_KEY                                                               11/08/2005 00:06:20 PAGE 2   

  56   1              for (i=0;i<30;i++) 
  57   1                              delay(6000);
  58   1              
  59   1              if (count3 !=0)
  60   1              {
  61   2                      get_string_com(key_buffer,4);
  62   2                      if (key_buffer[0]==0x20)//20 30 37 0d
  63   2                              return key_buffer[2]-0x30;
  64   2                      else
  65   2                              return 0x09;
  66   2                      
  67   2              }
  68   1              else
  69   1                      return 0x09;
  70   1      }
  71          
  72          
  73          bit tmp_buffer_change(void)
  74          {
  75   1              bit bol;
  76   1              unsigned char i;
  77   1      
  78   1              bol=0;
  79   1              for (i=0;i<8;i++)
  80   1              {
  81   2                      if (buffer_is_change[i]!=disp_buffer[i])
  82   2                      {
  83   3                              bol=1;
  84   3                              break;
  85   3                      }
  86   2              }
  87   1      
  88   1              return bol;
  89   1      }
  90          
  91          void disp_data()
  92          {
  93   1                      unsigned char code weitemp_tab[] = {0x41, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34,0x33 };
  94   1                                      
  95   1                      unsigned char i,ii;//      ,ii,c[4] 
  96   1      
  97   1                      for (i=0;i<8;i++)
  98   1                      {
  99   2      //                      if (buffer_is_change[i] !=disp_buffer[i])B1110_0001 E1
 100   2      //                      {
 101   2                                      WXA_led[6] = weitemp_tab[i]  ;
 102   2                                      WXA_led[8] = disp_buffer[i] + 0x30;
 103   2                                      
 104   2                                      if (i==dot_cu)
 105   2                                              WXA_led[7] ='6'; //B1100_0000;
 106   2                                      else
 107   2                                              WXA_led[7]=0;
 108   2                                      
 109   2                                      put_string_com(WXA_led,11);
 110   2                                      for (ii=0;ii<30;ii++)
 111   2                                              delay(6000);
 112   2                                      
 113   2                                      if (count3 !=0)
 114   2                                              get_string_com(key_buffer,4);
 115   2                                              
 116   2                                      buffer_is_change[i] =disp_buffer[i];
 117   2      //                      }
C51 COMPILER V7.50   LED_KEY                                                               11/08/2005 00:06:20 PAGE 3   

 118   2                      }
 119   1      }
 120          
 121          void get_key_Disp_data(void)
 122          {
 123   1              unsigned char i;
 124   1              static unsigned char tmpkey;
 125   1              i=key();
 126   1              //键值代码 LEFT=7,RIGHT=1,UP=4,DOWN=5,ESC=8,ENT=2
 127   1              //D7:1=小数点亮,0=NO          [7] ='8'
 128   1              //D6:1=字符闪烁,0=NO          [7] ='6'
 129   1              //D5:1=小数点闪烁,0=NO        [7] ='A'
 130   1      
 131   1              if (i != 0x09)
 132   1              {
 133   2                      if (tmpkey != i)
 134   2                      {
 135   3                              tmpkey = i;
 136   3                              switch (tmpkey)
 137   3                              {
 138   4                                      case 7:                 //LEFT=7
 139   4                                              if (dot_cu >0)
 140   4                                                      dot_cu --;
 141   4                                                      disp_data();
 142   4                                              break;
 143   4                                      case 1:                 //RIGHT=1
 144   4                                              if (dot_cu <3)
 145   4                                                      dot_cu ++;
 146   4                                                      disp_data();
 147   4                                              break;
 148   4                                      case 4:                 //UP=4
 149   4                                              if (disp_buffer[dot_cu] <0x09 )
 150   4                                                      disp_buffer[dot_cu] ++;
 151   4                                              break;
 152   4                                      case 5:                 //DOWN=5
 153   4                                              if (disp_buffer[dot_cu] >0 )
 154   4                                                      disp_buffer[dot_cu] --;
 155   4                                              break;
 156   4                              }
 157   3                      }
 158   2              }
 159   1      
 160   1              if (tmp_buffer_change()==1)
 161   1                      disp_data();
 162   1      }
 163          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    370    ----
   CONSTANT SIZE    =     30    ----
   XDATA SIZE       =     23    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     11       1
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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