您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

USB总线接口芯片CH371及其应用

时间:2007-1-20栏目:电子通信论文

>

INC DPL

DJNZ R7,CH371_UPLOAD-1;继续读取上传数据直至结束

CH371_UPLOAD_0:MOV DPL,#CH371_LENGTH;CH371数据长度寄存器的地址偏移

MOV A,B

MOVX @DPTR,A;将本次数据的长度置入上传数据长度寄存器

RET

;中断服务子程序

;USE:堆栈6字节,工作寄存器组1的RO,R7

CH371_INTER:PUSH PSW;现场保护

CLR IEO;清中断标志,防止重复执行,对应于INTO中断

PUSH ACC

PUSH DPL

PUSH DPH

SETB RSO;PSW.3,切换至工作寄存器组1

MOV DPH,#CH371_PAGE;CH371所在的页面地址,地址译码后自动片选

MOV DPL,#CH371_STATUS;CH371传输状态信息寄存器的地址偏移

MOVX A,@DPTR;读取传输状态信息寄存器

MOV SAVE-STATUS,A;保存传输状态

MOV DPL,#CH371_LENGTH;CH371数据长度寄存器的地址偏移

JB ACC.0,CH371_INT_UP;传输状态信息寄存器位0为1,则指示上传完成

;是数据下传完成中断

MOVX A,@DPTR;读取下传数据长度寄存器

MOV SAVE_LENGTH,A;保持下传数据长度

JZ CH371_INT_RET ;下传数据长度为0,则直接退出中断

MOV DPL,#CH371_BUFFER;CH371数据缓冲区的起始地址偏移

MOV RO,#SAVE-BUFFER;单片机内部的数据缓冲区,用于存放下传数据

MOV R7,A ;用于读取数据的计数

CH371_INT_DOWN:MOVX A,@DPTR;读取一字节的下传数据

INC DPL ;指向下一个数据的地址

MOV @RO,A;保存到数据缓冲区

INC RO

DJNZ R7,CH371_INT_DOWN;继续读取下传数据直至结束

SJMP CH371_INT_RET ;接收完下传数据,退出中断

;是数据上传完成中断

CH371_INT_UP:MOV A,#0FH;15

MOVX @DPTR,A ;置上传数据长度寄存器为15,暂时没有后续数据

CH371_INT_RET: ;中断返回

POP DPH

上一页  [1] [2] [3] [4] [5] 下一页

下页更精彩:1 2 3 4 下一页