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

📄 键盘字母.lst

📁 c8051最小系统板的个部分调试
💻 LST
字号:
C51 COMPILER V7.50   键盘字母                                                              08/23/2007 15:46:41 PAGE 1   


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

line level    source

   1          /*
   2                  ZLG7290演示程序
   3          */
   4          
   5          #include "I2C.h"
   6          #include "ZLG7290.h"
   7          #include "KSzong.h"
   8          #include "zixing.h"
   9          #include<stdio.h>
  10          sbit p00=P0^0;  
  11          unsigned char idata row[20],p=0;
  12          
  13          
  14          void EMI_Init()
  15          {
  16   1          SFRPAGE   = EMI0_PAGE;
  17   1          EMI0CF    = 0x37;
  18   1      }
  19          void Oscillator_Init()
  20          {
  21   1          SFRPAGE   = CONFIG_PAGE;
  22   1          OSCICN    = 0x83;
  23   1      }
  24          
  25          
  26          void Port_IO_Init()
  27          {
  28   1          
  29   1      
  30   1          SFRPAGE   = CONFIG_PAGE;
  31   1               P4MDOUT   = 0xE0;
  32   1      
  33   1          XBR1      = 0x04;
  34   1          XBR2      = 0x40;
  35   1      }
  36          
  37          
  38          void Init_Device(void)
  39          {       Oscillator_Init();
  40   1          EMI_Init();
  41   1          Port_IO_Init();
  42   1      }
  43                  
  44          //定义键盘p12=0表示有键按下
  45          
  46          
  47          
  48          
  49          
  50          /*
  51          函数:SystemInit()
  52          功能:系统初始化
  53          */
  54          void systemInit()
  55          {
C51 COMPILER V7.50   键盘字母                                                              08/23/2007 15:46:41 PAGE 2   

  56   1              WDTCN=0xde;
  57   1              WDTCN=0xad;
  58   1              Init_Device( );
  59   1              I2C_Init();
  60   1              
  61   1              Delay_x10ms(300);               
  62   1          LCD_Initial();
  63   1               LCD_CLR(Right);         
  64   1           LCD_CLR(Left);}
  65          
  66            void display(unsigned char p)
  67           {      unsigned char idata k=0;
  68   1            
  69   1                 LCD_CLR(Right);         // 清屏 //
  70   1             LCD_CLR(Left);
  71   1             for (;k<p/2;k++)
  72   1                {  if        (k>7)
  73   2                              LCD_Num( 4,8*k-64, 0,  xianshi[row[2*k]][row[2*k+1]], 2);
  74   2                   else       LCD_Num( 4,   8*k, 0,  xianshi[row[2*k]][row[2*k+1]], 1);
  75   2                        }
  76   1        }
  77          
  78          
  79          
  80          void main()
  81          
  82          {       unsigned char  KeyValue,keyValue,i=0,j;                                                           
  83   1              unsigned char msg[2];
  84   1              unsigned char code valuedeal[28]={88,12,11,10,0,0,0,0,77,9,8,7,0,0,0,0,66,6,5,4,0,0,0,0,55,3,2,1};
  85   1              
  86   1              systemInit();           
  87   1               
  88   1              
  89   1         
  90   1      
  91   1         
  92   1              
  93   1       
  94   1          for (;;)                                             
  95   1              {
  96   2                      if ( p00==0)            
  97   2                      {
  98   3                      
  99   3                              p00= 1;
 100   3              
 101   3                              ZLG7290_ReadReg(ZLG7290_Key,&KeyValue);
 102   3                          keyValue=valuedeal[KeyValue-1];                     
 103   3                  ZLG7290_Download(i, 0, 0, keyValue);
 104   3                              
 105   3                      switch (keyValue)
 106   3                              { case 55 : {  i=0;}   break;
 107   4                                case 66 : {  i=0;if(p>=2) p=p-2;display(p);}    break;
 108   4                                case 77 : {  i=0;}     break;
 109   4                                case 88 : {  i=0;}   break;
 110   4                               default:     {  if(p>19) break;
 111   5                                              msg[i++]=keyValue; 
 112   5                                                              
 113   5                                              if(i==1) for(j=0;j<3;j++)
 114   5                                                                       { 
 115   6                                                                                 if(j<2)
 116   6                                                                                           { LCD_Num( 0,32*j, 0,  xianshi[j][0], 1) ;
 117   7                                                                                  
C51 COMPILER V7.50   键盘字母                                                              08/23/2007 15:46:41 PAGE 3   

 118   7                                                                                        LCD_Num( 0,32*j+8, 0,  Table_dp, 1) ;
 119   7      
 120   7                                                                                    LCD_Num( 0,32*j+16, 0,  xianshi[msg[0]-1][j], 1) ; 
 121   7                                                                        
 122   7                                                                                    LCD_Num( 0,32*j+24, 0,  Table_blk, 1) ;
 123   7                                                                                       }
 124   6                                                                                else   { LCD_Num( 0,0, 0,  xianshi[j][0], 2) ;
 125   7                                                                                  
 126   7                                                                                        LCD_Num( 0,8, 0,  Table_dp, 2) ;
 127   7      
 128   7                                                                                    LCD_Num( 0,16, 0,  xianshi[msg[0]-1][j], 2) ; 
 129   7                                                                        
 130   7                                                                                    LCD_Num( 0,24, 0,  Table_blk, 2) ;        
 131   7                                                                                                }
 132   6                                                                               }      
 133   5                                                                          
 134   5                                              if(i==2){           i=0;
 135   6      
 136   6                                                                  if  (keyValue<=3&&keyValue!=0)
 137   6                                                                                      { if(p<=19)  
 138   7                                                                                        {row[p++]=msg[0]-1;
 139   8                                                                                        row[p++]=msg[1]-1;
 140   8                                                                                        display(p); }
 141   7                                                                         
 142   7                                                           
 143   7      
 144   7      }                               }       }       }       }       }           }
 145                                                                                          
 146                                                           
 147                                                                                                                             
 148                                           
 149                                          
 150                                   
 151                          
 152                                  
 153                          
 154                                   
 155                             
 156          
 157          
 158          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    685    ----
   CONSTANT SIZE    =    636    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     72       7
   IDATA SIZE       =     21       1
   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 + -