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

📄 ram.inc

📁 个人用HT82M99E开发的无线小键盘接收端源码
💻 INC
字号:
;;********************************************************************
;;*********************Valiable Section*******************************
;;********************************************************************
DATA.     SECTION      AT  20H  'DATA'
R_ACCUSB                     DB        ?
R_ACCTimer                   DB        ?
R_StatusUSB                  DB        ?
R_StatusTimer                DB        ?
R_MP0USB                     DB        ?
R_MP0Timer                   DB        ?
R_MP1USB                     DB        ?
R_TBLPBAK                    DB        ?
R_TBLPFIFO                   DB        ?
R_Temp1                      DB        ?
R_Temp2                      DB        ?
R_DeviceAddress              DB        ?
R_EndpointNO                 DB        ?
R_Receiver                   DB        ?                  
R_STALL                      DB        ?
R_ReportIndex                DB        ?                  
R_DataLengthL                DB        ?
R_DataLengthH                DB        ?                  
R_DescriptorLength           DB        ?                  
R_DataPacketLength           DB        ?                  
R_FIFOBAK0                   DB        ?
R_FIFOBAK1                   DB        ?
R_FIFOBAK2                   DB        ?
R_FIFOBAK3                   DB        ?
R_FIFOBAK4                   DB        ?
R_FIFOBAK5                   DB        ?
R_FIFOBAK6                   DB        ?
R_FIFOBAK7                   DB        ?
R_FIFOAddress                DB        ?
R_IdleTime                   DB        ?
R_inputReportSize       DB        ?                  
R_InputReportDataSize        DB        ?
;R_TrDataBits                 DB        ?                  ;;HT82M99E transmit to RS232 device data.
R_ReDataBits                 DB        ?
;R_TransmitData               DB        ?                  ;;RS232 device transmit to HT82M99E data.
R_ReceiveData                DB        ?
R_ReBaudRateL                DB        ?
R_ReBaudRateH                DB        ?
R_ReBufferAddress            DB        ?                   
R_TrBufferAddress            DB        ?                  
R_ReceiveBuffer              DB        32   DUP(?)        ;;HT82M99E receiver data from rs232 device buffer.
R_Flag0                      DB        ?
F_AddressStatus              EQU       R_Flag0.0          
F_ConfigurationStatus        EQU       R_FLAG0.1          
F_ControlEvent               EQU       R_FLAG0.2          
F_SetupData                  EQU       R_FLAG0.3          
F_SendData                   EQU       R_FLAG0.4          
F_RemoteWakeup               EQU       R_FLAG0.5          
F_RdHighTable                EQU       R_FLAG0.6          ;;If F_RdHighTable is 1 then indicated read high byte of table. If F_RdHighTable is 0 then indicated read low byte of table.
F_BufferFull                 EQU       R_FLAG0.7
R_FLAG1                      DB        ?
F_SendContinue               EQU       R_FLAG1.0
F_DataUpdate                 EQU       R_FLAG1.1
F_ReportProtocol             EQU       R_FLAG1.2          
F_TimerInterruptEnable       EQU       R_FLAG1.3
F_Polling                    EQU       R_FLAG1.4  
F_Maximize		     equ       R_FLAG1.5
;F_KeyCode       	     EQU       R_Flag1.5
F_LastFrame		     EQU	R_Flag1.6
F_level			     EQU	R_Flag1.7        
;;********************************************************************
;;*********************Constant Section*******************************
;;********************************************************************
@USB_Req                     EQU       0H
@USB_Tx                      EQU       1H
@Clear                       EQU       2H
@SetupToken                  EQU       5H
@Ready                       EQU       6H
@Packet0                     EQU       7H

F_Suspend                    EQU       USC.0
F_USBReset                   EQU       USC.2               ;;if the flag is 1 indicated USB device attached.
F_Resume                     EQU       USC.3

F_AccessEP0                  EQU       USR.0
F_AccessEP1                  EQU       USR.1
F_PS2mode                    EQU       USR.4
F_USBmode                    EQU       USR.5

F_USBClockOn                 EQU       SCC.3
F_Suspend2                   EQU       SCC.4               ;;This bit is used for decreasing power consumption in suspend mode.(it is only used in 82K96E)
F_FsysClock                  EQU       SCC.6

T_RequestType                EQU       R_FIFOBAK0
T_RequestNUM                 EQU       R_FIFOBAK1
T_ValueL                     EQU       R_FIFOBAK2
T_ValueH                     EQU       R_FIFOBAK3
T_IndexL                     EQU       R_FIFOBAK4
T_IndexH                     EQU       R_FIFOBAK5
T_LengthL                    EQU       R_FIFOBAK6
T_LengthH                    EQU       R_FIFOBAK7

C_RequestType                EQU       60H
C_FIFOSize                   EQU       08H
C_RamAddress                 EQU       20H                 ;;The start address of general data register is 20H
C_RamNumber                  EQU       60H                 ;;The number of general data register is 96
C_PollingL		     EQU	0e6h		;e8h
;C_PollingL                  EQU       0f6H                ;;98H
C_PollingH                   EQU       0FFH
C_USBRegisterBank            EQU       01H
C_Addr_Wakeup                EQU       42H                 
C_STALL                      EQU       43H   
C_SIES                       EQU       45H              
C_MISC                       EQU       46H
C_FIFO0Address               EQU       48H
C_FIFO1Address               EQU       49H
C_InterfaceNO                EQU       02H
C_LanguageIDL                EQU       09H
C_LanguageIDH                EQU       04H
C_DeviceDescriptorLength     EQU       12H
C_ConfigurationDesLength     EQU       22H
C_ReportDescriptorLength     EQU       9ch	;3fH
C_HIDDescriptorLength        EQU       09H
C_ReportType                 EQU       04H
C_SetReport                  EQU       01H
C_ReportSize                 EQU       08H
C_DataBits                   EQU       09H                 
C_ReceiveBufferSize          EQU       1FH                

recHbyte	db	?		;5bit
recLbyte	db	?		;7bit
r_delayvalue1	db	?
r_delayvalue2	db	?
r_delayvalue3	db	?
R_PreCodeNum	db	?
R_KeyCodeNum	db	?
R_KeyBuffer	db	?	
;EP1_times	db	?
R_FrameNum	db	?
R_KeyValue	db	?
R_KeyValue1	db	?
R_KeyValue2	db	?
C_PreCode	EQU	00011011B
C_Delay840usL	EQU	013h	;028h
C_Delay840usH	EQU	0fbh	;0f6h
;;*********************************************************************
M_PUSH          MACRO
		MOV        R_ACCUSB,A
		MOV        A,STATUS
		MOV        R_StatusUSB,A
		MOV        A,MP0
		MOV        R_MP0USB,A
		MOV        A,MP1
		MOV        R_MP1USB,A
		MOV        A,TBLP
		MOV        R_TBLPBAK,A
		ENDM
;;********************************************************************
M_POP          MACRO
		MOV       A,R_StatusUSB
		MOV       STATUS,A
		MOV       A,R_MP0USB
		MOV       MP0,A
		MOV       A,R_MP1USB
		MOV       MP1,A
		MOV       A,R_TBLPBAK
		MOV       TBLP,A
		MOV       A,R_ACCUSB
		ENDM
;;*********************************************************************

⌨️ 快捷键说明

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