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

📄 1111.lst

📁 行列式按键
💻 LST
字号:
C51 COMPILER V6.12  1111                                                                   03/23/2009 00:25:21 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE 1111
OBJECT MODULE PLACED IN .\1111.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\1111.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <at89x52.h>
   2          unsigned char dispbuf[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D ,0x07,0x7F,0x6F};
   3          unsigned char bitselect[]={ 0xF7,0xFB,0xFD,0xFE};
   4          unsigned char disp[4];
   5          /*void t0init(void)
   6          {
   7          	TMOD=1;
   8          	TL0=-50000;
   9          	TH0=(-50000)>>8;
  10          	ET0=1;
  11          	TR0=1;
  12          	EA=1;
  13          }*/
  14          
  15          void dispmove(unsigned char dat)
  16          {	unsigned char i;
  17   1          for(i=4;i>=1;i--)
  18   1      	disp[i-1]=disp[i-2];
  19   1      	disp[0]=dat;
  20   1      }
  21          
  22          unsigned char keydriver(void)
  23          {
  24   1      	unsigned char x,y;
  25   1      	P3=0xf0;
  26   1      	x=P3;
  27   1      	x=x&0xf0;
  28   1      	P3=0x0f;
  29   1      	y=P3;
  30   1      	y=y&0x0f;
  31   1      	y=x|y; 
  32   1      	return(y);
  33   1      }
  34          void DispGame()
  35          {
  36   1      	static unsigned char ii=0;
  37   1      	P0=0;
  38   1      	P0=dispbuf[disp[ii]];
  39   1      	P2=bitselect[ii];
  40   1      	if(++ii>3) ii=0;
  41   1      	
  42   1      }
  43          unsigned char  key()
  44          {
  45   1      	unsigned char i,keyvalue;
  46   1      	i=keydriver();
  47   1      	if(i!=0xff)
  48   1      	{
  49   2      		while((keydriver()!=0xff));
  50   2      		switch(i)
  51   2      		{
  52   3      			case 0x7d:	keyvalue=0; break;
  53   3      			case 0xeb:	keyvalue=1; break;
  54   3      			case 0xed:	keyvalue=2; break;
  55   3      			case 0xee:	keyvalue=3; break;
C51 COMPILER V6.12  1111                                                                   03/23/2009 00:25:21 PAGE 2   

  56   3      			case 0xdb:	keyvalue=4; break;
  57   3      			case 0xdd:	keyvalue=5; break;
  58   3      			case 0xde:	keyvalue=6; break;
  59   3      			case 0xbb:	keyvalue=7; break;
  60   3      			case 0xbd:	keyvalue=8; break;
  61   3      			case 0xbe:	keyvalue=9; break;
  62   3      			 
  63   3      			default: return(-1);
  64   3      		}
  65   2      	    dispmove(keyvalue);
  66   2      	}
  67   1      }
  68          /*void t0interrupt(void) interrupt 1
  69          {
  70          	TL0=-50000;
  71          	TH0=(-50000)>>8;
  72          	key();		
  73          }*/
  74          
  75          void delay(unsigned char i)
  76          {
  77   1      	unsigned char j,k;
  78   1      	for(j=0;j<i;j++)
  79   1      		for(k=0;k<255;k++);
  80   1      }
  81          
  82          
  83          
  84          
  85          main()
  86          {  	//t0init();
  87   1      	while(1)
  88   1      	{
  89   2      		DispGame();
  90   2      		delay(2);
  91   2      		key();
  92   2      	}
  93   1      }


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