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

📄 psocconfig.lis

📁 实现2个ps/2接口转到1个USB接口功能
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 0000           USB_CLOCK:				equ	0h	;USB Clock source value
 0020           USB_CLOCK_MASK:			equ	20h	;USB Clock source mask
 0000           USB_CLOCK_JUST:			equ	0h	;USB Clock source justified
 0000           
 0000           USB_CLOCK_SPEED:	  	equ	0h	;USB Clock div by 2 value
 0040           USB_CLOCK_SPEED_MASK: 	equ	40h	;USB Clock div by 2 mask
 0000           USB_CLOCK_SPEED_JUST: 	equ	0h	;USB Clock div by 2 justified
 0000           
 0000           CLOCK_OUT:				equ	0h  ;Clock Out value
 0003           CLOCK_OUT_MASK:			equ	3h	;Clock Out mask
 0000           CLOCK_OUT_JUST:			equ	0h 	;Clock Out value justified
 0000           
 0004           LV_DETECT_LEVEL:		equ	4h	;Low V Detect Level value
 0007           LV_DETECT_LEVEL_MASK:	equ	7h	;Low V Detect Level mask
 0004           LV_DETECT_LEVEL_JUST:	equ	4h	;Low V Detect Level value justified
 0000           
 0001           PWR_ON_RESET_LEVEL:   	 	equ	1h	;PowerOn Reset Level value
 0030           PWR_ON_RESET_LEVEL_MASK:	equ	30h	;PowerOn Reset Level mask
 0010           PWR_ON_RESET_LEVEL_JUST:	equ	10h	;PowerOn Reset Level value justified
 0000           
 0000           VREG_ENABLE: 	   		equ	0h  ;VREG Enable value
 0001           VREG_ENABLE_MASK:		equ	1h	;VREG Enable mask
 0000           VREG_ENABLE_JUST:		equ	0h	;VREG Enable value justified
 0000           
 0000           KEEP_ALIVE: 	   		equ	0h	;Keep Alive value
 0002           KEEP_ALIVE_MASK:		equ	2h	;Keep Alive mask
 0000           KEEP_ALIVE_JUST:		equ	0h	;Keep Alive value justified
 0000           
 0000           WATCHDOG_ENABLE: 	   	equ	0h	;Watchdog Enable value
 0000           
                export LoadConfigInit
                export _LoadConfigInit
                export LoadConfig_p1
                export _LoadConfig_p1
                export Port_1_Data_SHADE
                export _Port_1_Data_SHADE
                
                
                export NO_SHADOW
                export _NO_SHADOW
                
 0010           FLAG_CFG_MASK:      equ 10h         ;M8C flag register REG address bit mask
 00FF           END_CONFIG_TABLE:   equ ffh         ;end of config table indicator
 0000           
                AREA psoc_config(rom, rel)
                
                
                ;---------------------------------------------------------------------------
                ; LoadConfigInit - Establish the start-up configuration (except for a few
                ;                  parameters handled by boot code, like CPU speed). This
                ;                  function can be called from user code, but typically it
                ;                  is only called from boot.
                ;
                ;       INPUTS: None.
                ;      RETURNS: Nothing.
                ; SIDE EFFECTS: Registers are volatile: the A and X registers can be modified!
                ;               In the large memory model currently only the page
                ;               pointer registers listed below are modified.  This does
                ;               not guarantee that in future implementations of this
                ;               function other page pointer registers will not be
                ;               modified.
                ;          
                ;               Page Pointer Registers Modified: 
                ;               CUR_PP
                ;
 0000           _LoadConfigInit:
 0000            LoadConfigInit:
                   IF ( RAM_USE_CLASS_4 & RAM_USE_CLASS_1 )
                   ; Nothing to do
                   ENDIF ; RAM_USE_CLASS_1
                
                   IF ( RAM_USE_CLASS_4 & RAM_USE_CLASS_2 )
                      IF ( SYSTEM_IDXPG_TRACKS_IDX_PP )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                      or   F, FLAG_PGMODE_01b
                   ENDIF ;  SYSTEM_LARGE_MEMORY_MODEL
                      ENDIF
                   ENDIF ; RAM_USE_CLASS_2
                
                   IF ( RAM_USE_CLASS_4 & RAM_USE_CLASS_3 )
                      IF ( SYSTEM_IDXPG_TRACKS_STK_PP )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                      and  F, ~FLAG_PGMODE_01b
                   ENDIF ;  SYSTEM_LARGE_MEMORY_MODEL
                      ENDIF
                   ENDIF ; RAM_USE_CLASS_3
                
                   IF ( RAM_USE_CLASS_4 & RAM_USE_CLASS_4 )
                   ; Nothing to do
                   ENDIF ; RAM_USE_CLASS_4
                
                    
 0000 550000            mov             [Port_1_Data_SHADE], 0h
 0003           
 0003 7C0007            lcall   LoadConfig_p1
 0006           
                   IF ( RAM_USE_CLASS_4 & RAM_USE_CLASS_1 )
                   ; Nothing to do
                   ENDIF ; RAM_USE_CLASS_1
                
                   IF ( RAM_USE_CLASS_4 & RAM_USE_CLASS_2 )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                   IF ( SYSTEM_IDXPG_TRACKS_STK_PP )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                      and   F, ~FLAG_PGMODE_MASK        ; NOTE: transition thru 00b state
                      or    F,  FLAG_PGMODE_MASK & FLAG_PGMODE_11b
                   ENDIF
                   ENDIF ;  PGMODE LOCKED
                   IF ( SYSTEM_IDXPG_TRACKS_IDX_PP )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                      and   F, ~FLAG_PGMODE_MASK        ; NOTE: transition thru 00b state
                      or    F,  FLAG_PGMODE_MASK & FLAG_PGMODE_10b
                   ENDIF
                   ENDIF ; PGMODE FREE
                   ENDIF ; SYSTEM_LARGE_MEMORY_MODEL
                   ENDIF ; RAM_USE_CLASS_2
                
                   IF ( RAM_USE_CLASS_4 & RAM_USE_CLASS_3 )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                   IF ( SYSTEM_IDXPG_TRACKS_STK_PP )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                      and   F, ~FLAG_PGMODE_MASK        ; NOTE: transition thru 00b state
                      or    F,  FLAG_PGMODE_MASK & FLAG_PGMODE_11b
                   ENDIF
                   ENDIF ;  PGMODE LOCKED
                   IF ( SYSTEM_IDXPG_TRACKS_IDX_PP )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                      and   F, ~FLAG_PGMODE_MASK        ; NOTE: transition thru 00b state
                      or    F,  FLAG_PGMODE_MASK & FLAG_PGMODE_10b
                   ENDIF
                   ENDIF ; PGMODE FREE
                   ENDIF ; SYSTEM_LARGE_MEMORY_MODEL
                   ENDIF ; RAM_USE_CLASS_3
                
                   IF ( RAM_USE_CLASS_4 & RAM_USE_CLASS_4 )
                   ; Nothing to do
                   ENDIF ; RAM_USE_CLASS_4
                
 0006 7F            ret
 0007           
 0007           ;---------------------------------------------------------------------------
 0007           ; Load Configuration p1
 0007           ;
 0007           ;    Load configuration registers for p1.
 0007           ;    IO Bank 0 registers a loaded first,then those in IO Bank 1.
 0007           ;
 0007           ;       INPUTS: None.
 0007           ;      RETURNS: Nothing.
 0007           ; SIDE EFFECTS: Registers are volatile: the CPU A and X registers may be
 0007           ;               modified as may the Page Pointer registers!
 0007           ;               In the large memory model currently only the page
 0007           ;               pointer registers listed below are modified.  This does
 0007           ;               not guarantee that in future implementations of this
 0007           ;               function other page pointer registers will not be
 0007           ;               modified.
 0007           ;          
 0007           ;               Page Pointer Registers Modified: 
 0007           ;               CUR_PP
 0007           ;
 0007           _LoadConfig_p1:
 0007            LoadConfig_p1:
                   IF ( RAM_USE_CLASS_4 & RAM_USE_CLASS_1 )
                   ; Nothing to do
                   ENDIF ; RAM_USE_CLASS_1
                
                   IF ( RAM_USE_CLASS_4 & RAM_USE_CLASS_2 )
                      IF ( SYSTEM_IDXPG_TRACKS_IDX_PP )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                      or   F, FLAG_PGMODE_01b
                   ENDIF ;  SYSTEM_LARGE_MEMORY_MODEL
                      ENDIF
                   ENDIF ; RAM_USE_CLASS_2
                
                   IF ( RAM_USE_CLASS_4 & RAM_USE_CLASS_3 )
                      IF ( SYSTEM_IDXPG_TRACKS_STK_PP )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                      and  F, ~FLAG_PGMODE_01b
                   ENDIF ;  SYSTEM_LARGE_MEMORY_MODEL
                      ENDIF
                   ENDIF ; RAM_USE_CLASS_3
                
                   IF ( RAM_USE_CLASS_4 & RAM_USE_CLASS_4 )
                   ; Nothing to do
                   ENDIF ; RAM_USE_CLASS_4
                
 0007 7C0000        lcall   LoadConfigTBL_p1            ; Call load config table routine
 000A           
 000A           
                   IF ( RAM_USE_CLASS_4 & RAM_USE_CLASS_1 )
                   ; Nothing to do
                   ENDIF ; RAM_USE_CLASS_1
                
                   IF ( RAM_USE_CLASS_4 & RAM_USE_CLASS_2 )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                   IF ( SYSTEM_IDXPG_TRACKS_STK_PP )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                      and   F, ~FLAG_PGMODE_MASK        ; NOTE: transition thru 00b state
                      or    F,  FLAG_PGMODE_MASK & FLAG_PGMODE_11b
                   ENDIF
                   ENDIF ;  PGMODE LOCKED
                   IF ( SYSTEM_IDXPG_TRACKS_IDX_PP )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                      and   F, ~FLAG_PGMODE_MASK        ; NOTE: transition thru 00b state
                      or    F,  FLAG_PGMODE_MASK & FLAG_PGMODE_10b
                   ENDIF
                   ENDIF ; PGMODE FREE
                   ENDIF ; SYSTEM_LARGE_MEMORY_MODEL
                   ENDIF ; RAM_USE_CLASS_2
                
                   IF ( RAM_USE_CLASS_4 & RAM_USE_CLASS_3 )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                   IF ( SYSTEM_IDXPG_TRACKS_STK_PP )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                      and   F, ~FLAG_PGMODE_MASK        ; NOTE: transition thru 00b state
                      or    F,  FLAG_PGMODE_MASK & FLAG_PGMODE_11b
                   ENDIF
                   ENDIF ;  PGMODE LOCKED
                   IF ( SYSTEM_IDXPG_TRACKS_IDX_PP )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                      and   F, ~FLAG_PGMODE_MASK        ; NOTE: transition thru 00b state
                      or    F,  FLAG_PGMODE_MASK & FLAG_PGMODE_10b
                   ENDIF
                   ENDIF ; PGMODE FREE
                   ENDIF ; SYSTEM_LARGE_MEMORY_MODEL
                   ENDIF ; RAM_USE_CLASS_3
                
                   IF ( RAM_USE_CLASS_4 & RAM_USE_CLASS_4 )
                   ; Nothing to do
                   ENDIF ; RAM_USE_CLASS_4
                
 000A 7F            ret
 000B           
 000B           
 000B           
                AREA InterruptRAM(ram, rel)
                
 0000           NO_SHADOW:
 0000           _NO_SHADOW:
 0000           ; write only register shadows
 0000           _Port_1_Data_SHADE:
 0000           Port_1_Data_SHADE:      BLK     1
 0001           

⌨️ 快捷键说明

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