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

📄 usb.c

📁 用C8051F020实现的基于TCP/IP协议的虚功率源。C8051F020外接LCD,键盘,USB接口
💻 C
字号:
#include<C8051F020.H>
#include<absacc.h>
#include"usb.h"
#include"..\config\function_declaration.h"

void usb_init(void)
{
	XBYTE[USB_CMD] = 0x05;
	delay(50);
	XBYTE[USB_CMD] = 0x15;
	wait_1us(50);
	XBYTE[USB_DATA] = 0x02;
	wait_1us(50);
}

void CH375Interrupt(void) interrupt 2
{
	uchar idata i,interrupt_status;
	uchar xdata test_usb[65];
	uchar xdata *p;
	EA = 0;
	XBYTE[USB_CMD] = 0x22;
	wait_1us(50);
	interrupt_status = XBYTE[USB_DATA];
	if(interrupt_status==0x0A)		//批量端点2发送数据成功
		{
			XBYTE[USB_CMD] = 0x23;
			EA = 1;
			return;
		}
	if(interrupt_status==0x02)
		{
			XBYTE[USB_CMD] = 0x28;
			wait_1us(50);
			for(i=0;i<65;i++)
				{
					test_usb[i] = XBYTE[USB_DATA];
					wait_1us(50);
				}
			p = &test_usb[8];
			lcd_clear();
			display_eng(0,0,p,5);
			EA = 1;
		}
}
/*
void usb_test(void)
{
	XBYTE[USB_CMD] = 0x2B;		//向USB端点2的上传缓冲区写入数据命令
	wait_1us(50);
	XBYTE[USB_DATA] = 0x05;		//数据长度
	wait_1us(50);
	XBYTE[USB_DATA] = 0xAA;		//测试数据
	wait_1us(50);
	XBYTE[USB_DATA] = 0xBB;		//测试数据
	wait_1us(50);
	XBYTE[USB_DATA] = 0xCC;		//测试数据
	wait_1us(50);
	XBYTE[USB_DATA] = 0xDD;		//测试数据
	wait_1us(50);
	XBYTE[USB_DATA] = 0xEE;		//测试数据
}
*/

⌨️ 快捷键说明

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