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

📄 dev_io.lst

📁 cypress fx2扩展io代码
💻 LST
字号:
C51 COMPILER V6.10  DEV_IO                                                                 04/09/2004 17:11:35 PAGE 1   


C51 COMPILER V6.10, COMPILATION OF MODULE DEV_IO
OBJECT MODULE PLACED IN .\DEV_IO.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE .\DEV_IO.C OPTIMIZE(6,SPEED) DEBUG OBJECTEXTEND

stmt level    source

   1          #include "Fx2.h"
   2          #include "Fx2regs.h"
   3          
   4          #define PF_IDLE			0
   5          #define PF_GETKEYS		1
   6          
   7          #define KEY_WAKEUP		0
   8          #define KEY_F1			1
   9          #define KEY_F2			2
  10          #define KEY_F3			3
  11          
  12          #define BTN_ADDR		0x20
  13          #define LED_ADDR		0x21
  14          
  15          BYTE xdata Digit[] = { 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x98, 0x88, 0x83, 0xc6, 0xa1,
             - 0x86, 0x8e };
  16          
  17          main()
  18          {
  19   1      	BYTE	num = 0;
  20   1      	BYTE xdata	buttons;
  21   1      	BYTE	kstates = 0xff;
  22   1      	BYTE	kdeltas;
  23   1      	BYTE	key;
  24   1      	BYTE	display = TRUE;
  25   1      
  26   1      	EZUSB_InitI2C();			// Initialize EZ-USB I2C controller
  27   1      
  28   1      	while(TRUE)
  29   1      	{
  30   2      		EZUSB_ReadI2C(BTN_ADDR,0x01,&buttons);	// Read button states
  31   2      
  32   2      		kdeltas = kstates ^ buttons;			// 
  33   2      		kstates = buttons;
  34   2      		key = 0;
  35   2      
  36   2      		while(kdeltas)
  37   2      		{
  38   3      			if(kdeltas & 0x01)
  39   3      			{
  40   4      				if(!((kstates >> key) & 0x01))
  41   4      					switch(key)
  42   4      					{
  43   5      						case KEY_F1:
  44   5      							if(--num > 0x0f)
  45   5      								num = 0x0f;
  46   5      							break;
  47   5      						case KEY_F2:
  48   5      							if(++num > 0x0f)
  49   5      								num = 0;
  50   5      							break;
  51   5      						case KEY_WAKEUP:
  52   5      							num = 0;
  53   5      							break;
  54   5      						case KEY_F3:
C51 COMPILER V6.10  DEV_IO                                                                 04/09/2004 17:11:35 PAGE 2   

  55   5      							num = 0x0f;
  56   5      					}
  57   4      				display = TRUE;
  58   4      			}
  59   3      			kdeltas = kdeltas >> 1;
  60   3      			++key;
  61   3      		}
  62   2      		if(display)
  63   2      		{
  64   3      			EZUSB_WriteI2C(LED_ADDR, 0x01, &(Digit[num]));
  65   3      			EZUSB_WaitForEEPROMWrite(LED_ADDR);
  66   3      			display = FALSE;
  67   3      		}
  68   2      	}
  69   1      }


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