; .Outputusb_tx.SRC generated from: usbusb_tx.c
; vusb tx driver for 8051 core by crazy_code
; 2017/1/7
$NOMOD51
NAME USB_TX
#include 'hs6210.inc'
CSEG AT 0x400
EXTRN DATA (usb_tx_count)
EXTRN DATA (usb_tx_buffer_pointer)
EXTRN DATA (pfix_nop)
PUBLIC usb_tx
#define tx_next usb_tx_count
L_Bit0_Idle: // [82]
clr c //清除Cy --1cycle [83]
nop // --1cycle [84]
inc r0 //指针前移 --1cycle [85] ->13
djnz r7, L_Bit1_Begin //不需要bit suffing, 发送下一bit --3cycle [3]
inc @r1 //凑两个nop [2]
dec @r1 //凑两个nop [4]
mov r7, #06h // bit suffing 计数值还原 --2cycle [6]
XRL P0,#03H // 插入bit_suffing --3cycle [9]
sjmp L_Bit2_Begin // 发送下一bit --2cycle [11]
L_Bit1_Idle: //从上次翻转到这个分支 2+1+1+3 --7cycle [7]
clr c //清除Cy --1cycle [8]
mov tx_next, @r0 //下一byte数据存到tx_nex --2cycle [10] ->10
nop // --1cycle [11]
djnz r7, L_Bit2_Begin //不需要bit suffing, 发送下一bit --3cycle [14]
inc @r1 //凑两个nop [2]
dec @r1 //凑两个nop [4]
mov r7, #06h // bit suffing 计数值还原 --2cycle [6]
XRL P0,#03H // 插入bit_suffing --3cycle [9]
sjmp L_Bit2_Begin // 发送下一bit --2cycle [11]
L_Bit2_Idle: //从上次翻转到这个分支 [18]
clr c //清除Cy --1cycle [19]
inc @r1 // [21] ->11
djnz r7, L_Bit3_Begin //不需要bit suffing, 发送下一bit --3cycle [24]
inc @r1 //凑两个nop [2]
dec @r1 //凑两个nop [4]
mov r7, #06h // bit suffing 计数值还原 --2cycle [6]
XRL P0,#03H // 插入bit_suffing --3cycle [9]
sjmp L_Bit3_Begin // 发送下一bit --2cycle [11]
L_Bit3_Idle: //从上次翻转到这个分支 [28]
clr c //清除Cy --1cycle [29]
mov r2, tx_next //下一byte数据存到r2 --2cycle [31] ->10
nop // --1cycle [32]
djnz r7, L_Bit4_Begin //不需要bit suffing, 发送下一bit --3cycle [35]
inc @r1 //凑两个nop [2]
dec @r1 //凑两个nop [4]
mov r7, #06h // bit suffing 计数值还原 --2cycle [6]
XRL P0,#03H // 插入bit_suffing --3cycle [9]
sjmp L_Bit4_Begin // 发送下一bit --2cycle [11]
L_Bit4_Idle: //从上次翻转到这个分支 [39]
clr c //清除Cy --1cycle [40]
inc @r1 // [42] ->11
djnz r7, L_Bit5_Begin //不需要bit suffing, 发送下一bit --3cycle [45]
inc @r1 //凑两个nop [2]
dec @r1 //凑两个nop [4]
上一篇:基于8051内核的实验—流水灯
下一篇:ubuntu 8051 数码管
推荐阅读最新更新时间:2024-11-09 11:24
设计资源 培训 开发板 精华推荐
- 使用 Silicon Labs 的 Si2706-A10-GM 的参考设计
- Sony SUB-LVDS 至并行桥接参考设计
- 使用 Analog Devices 的 LT1587CM-3.45 的参考设计
- MCP1827 1.5A、低电压、低静态电流 LDO 固定输出稳压器的典型应用
- pcie开机卡纯供电延长线
- LT3003 的典型应用 - 具有 PWM 的 3 通道 LED 镇流器
- 【涂鸦智能】涂鸦低功耗人体+温湿度-402304A
- PMC234
- 使用 Richtek Technology Corporation 的 RT7297A 的参考设计
- TCR2LN21 200mA、2.1V输出电压CMOS低压降稳压器的典型应用