📄 ram.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 + -