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

📄 ram.inc

📁 the programe is the sound code in the book "usb2.0 theroy and project development".
💻 INC
字号:
;===============================================================================================
; ram.inc :RS232-USB的变量及常量的定义。
;===============================================================================================

;***********************************************************************************************
;                             USB协议的定义
;***********************************************************************************************

bmRequestType:          equ EP0_FIFO.0
bRequest:               equ EP0_FIFO.1
wValueLi:               equ EP0_FIFO.2   
wValueHi:               equ EP0_FIFO.3
wIndexLi:               equ EP0_FIFO.4   
wIndexHi:               equ EP0_FIFO.5 
wLengthLi:              equ EP0_FIFO.6   
wLengthHi:              equ EP0_FIFO.7

HOST_TO_DEVICE:         equ 00h
HOST_TO_INTERFACE:      equ 01h
HOST_TO_ENDPOINT:       equ 02h

DEVICE_TO_HOST:         equ 80h
INTERFACE_TO_HOST:      equ 81h
ENDPOINT_TO_HOST:       equ 82h

CLASS:                  equ 20h
VENDOR:                 equ 40h

EP1_STALLED:            equ 0 
REMOTE_WAKEUP:          equ 1 

SUSPEND_TIME:           equ 17h   

;***********************************************************************************************
;                             CY7C63001A RAM变量的定义
;***********************************************************************************************
bottom_of_ram:          equ 00h

protocol_status:        equ 1Ah
suspend_counter:        equ 1Bh
interrupt_mask:         equ 1Ch
loop_counter:           equ 1Dh
endp0_data_toggle:      equ 1Eh
data_count:             equ 1Fh
data_start:             equ 20h
configuration_status:   equ 21h

serial_rx_reg:          equ 22h    
serial_tx_reg:          equ 22h     
ep1_byte_count:         equ 23h     
rx_inptr:               equ 24h     
rx_outptr:              equ 25h
current_reportid:       equ 26h
baud_bitdelay:          equ 27h
fwcr:                   equ 28h    
transmit_count:         equ 29h     

RX_BUF_PTR_START:       equ 2Bh   
RX_BUF_PTR_END:         equ 66h   
SERIAL_BUF_SIZE:        equ (RX_BUF_PTR_END - RX_BUF_PTR_START)  

DATA_STACK_POINTER_START:   equ 70h
top_of_ram:             equ 7fh

;***********************************************************************************************
;                    CY7C63001A的一些常量
;***********************************************************************************************
POLLING_INTERVAL:      equ 0Ah     
EP1_REPORT_LENGTH:  equ 07h

ENUMERATE_MASK:     equ USB_EP0_IE 
ENUMERATED_MASK:    equ USB_EP0_IE+GPIO_IE+USB_EP1_IE
TRANSMITTING_MASK:  equ USB_EP0_IE
SUSPEND_MASK:       equ 00h
INTDISABLE_MASK:    equ 00h

SERIAL0TXBIT:       equ 01h     
SERIAL0RXBIT:       equ 02h     

nCTS:                       equ 01h  
nRST:                       equ 02h  

TIMER_SYNC:                 equ 01h
FIRSTBYTE_FLG_MASK:         equ 02h
BUSY_TRANSMITTING:          equ 04h
FLOW_CTL_OFF:               equ 08h

RID_RECEIVE:                equ 1h
RID_TRANSMIT:               equ 2h
RID_COMMAND:                equ 3h

BAUD_BITDELAY_57600:        equ 05
BAUD_BITDELAY_38400:        equ 09
BAUD_BITDELAY_19200:        equ 22
BAUD_BITDELAY_9600:         equ 48
BAUD_BITDELAY_4800:         equ 100
BAUD_BITDELAY_2400:         equ 205

BAUD_BITDELAY_DEFAULT:      equ BAUD_BITDELAY_9600

;***********************************************************************************************
;                    一些宏的定义
;***********************************************************************************************
;======================================================================
; BIT_DELAY:	
;=======================================================================
MACRO   BIT_DELAY
    cmp a,0     
                
bdloop:
    nop         
    nop         
    cmp a, [0]    

    dec a         
    jnz bdloop    

ENDM

;=======================================================================
; DELAY10MS:
;=======================================================================
MACRO DELAY10MS
    mov x,051               
    mov a,FFh

.Delay10ms_msB:
	iowr WDT            
.Delay10ms_lsB:
    dec A
    jnc .Delay10ms_lsB
    dec X
    jnc .Delay10ms_msB
ENDM

;======================================================================
; FLOW_OFF:	
;=======================================================================
MACRO FLOW_OFF
    iord P1_Data
    or a,nCTS                       
    iowr P1_Data       
    
    mov a,FLOW_CTL_OFF
    or [fwcr], a 
ENDM

;======================================================================
; FLOW_ON:	
;=======================================================================
MACRO FLOW_ON
    iord P1_Data
    and a,~nCTS                   
    iowr P1_Data        

    mov a, ~FLOW_CTL_OFF
    and [fwcr], a 
ENDM

;****************************************文件结束*************************************************

⌨️ 快捷键说明

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