实验一
#include "config.h"void main(void)
{
SYS_Init();
while (1)
{
printf_usb("Hello World !\r\n");
}
}
void SYS_Init(void)
{
EnableAccessXFR();
IAP_SetTimeBase();
P0M0 = 0x00; P0M1 = 0x00;
P1M0 = 0x00; P1M1 = 0x00;
P2M0 = 0x00; P2M1 = 0x00;
P3M0 = 0x00; P3M1 = 0x00;
P4M0 = 0x00; P4M1 = 0x00;
P5M0 = 0x00; P5M1 = 0x00;
P6M0 = 0x00; P6M1 = 0x00;
P7M0 = 0x00; P7M1 = 0x00;
delay_ms(1);
USBLIB_Init();
delay_ms(1);
EnableGlobalInt();
}
void delay_us(uint16_t us)
{
do
{
NOP(14);
} while (--us);
}
void delay_ms(uint16_t ms)
{
uint16_t i;
do
{
i = MAIN_Fosc / 10000;
while (--i);
} while (--ms);
}
void USBLIB_Init(void)
{
usb_init();
USB_SetIntPriority(0);
set_usb_ispcmd("@STCISP#");
}
void USBLIB_WaitConfiged(void)
{
while (DeviceState != DEVSTATE_CONFIGURED)
WDT_Clear();
}
void USBLIB_OUT_Done(void)
{
if (bUsbOutReady)
{
USB_SendData(UsbOutBuffer, OutNumber);
usb_OUT_done();
}
}
实验二#include "config.h"
void main(void)
{
SYS_Init();
while (1)
{
USBLIB_OUT_Done();
}
}
void SYS_Init(void)
{
EnableAccessXFR();
IAP_SetTimeBase();
P0M0 = 0x00; P0M1 = 0x00;
P1M0 = 0x00; P1M1 = 0x00;
P2M0 = 0x00; P2M1 = 0x00;
P3M0 = 0x00; P3M1 = 0x00;
P4M0 = 0x00; P4M1 = 0x00;
P5M0 = 0x00; P5M1 = 0x00;
P7M0 = 0x00; P7M1 = 0x00;
delay_ms(1);
USBLIB_Init();
delay_ms(1);
EnableGlobalInt();
}
void delay_us(uint16_t us)
{
do
{
NOP(14);
} while (--us);
}
void delay_ms(uint16_t ms)
{
uint16_t i;
do
{
i = MAIN_Fosc / 10000;
while (--i);
} while (--ms);
}
void USBLIB_Init(void)
{
usb_init();
USB_SetIntPriority(0);
set_usb_ispcmd("@STCISP#");
}
void USBLIB_WaitConfiged(void)
{
while (DeviceState != DEVSTATE_CONFIGURED)
WDT_Clear();
}
void USBLIB_OUT_Done(void)
{
if (bUsbOutReady)
{
if (UsbOutBuffer == 6)
printf_usb("Hello World !\r\n");
else if (UsbOutBuffer == 7)
printf_usb("China !\r\n");
usb_OUT_done();
}
}
试验三#include "config.h"
void main(void)
{
SYS_Init();
while (1)
{
}
}
void SYS_Init(void)
{
EnableAccessXFR();
IAP_SetTimeBase();
P0M0 = 0x00; P0M1 = 0x00;
P1M0 = 0x00; P1M1 = 0x00;
P2M0 = 0x00; P2M1 = 0x00;
P3M0 = 0x00; P3M1 = 0x00;
P4M0 = 0x00; P4M1 = 0x00;
P5M0 = 0x00; P5M1 = 0x00;
P6M0 = 0x00; P6M1 = 0x00;
P7M0 = 0x00; P7M1 = 0x00;
delay_ms(1);
USBLIB_Init();
delay_ms(1);
EnableGlobalInt();
}
void delay_us(uint16_t us)
{
do
{
NOP(14);
} while (--us);
}
void delay_ms(uint16_t ms)
{
uint16_t i;
do
{
i = MAIN_Fosc / 10000;
while (--i);
} while (--ms);
}
void USBLIB_Init(void)
{
usb_init();
USB_SetIntPriority(3);
set_usb_OUT_callback(USBLIB_OUT_Callback);
set_usb_ispcmd("@STCISP#");
}
void USBLIB_WaitConfiged(void)
{
while (DeviceState != DEVSTATE_CONFIGURED)
WDT_Clear();
}
void USBLIB_OUT_Callback(void)
{
if (UsbOutBuffer == 6)
printf_usb("Hello World !\r\n");
else if (UsbOutBuffer == 7)
printf_usb("China !\r\n");
}
yitong jianghu.牛 ai8051给力