欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

usb控制51单片机有关问题

更新时间: 2014-01-05 03:15:14 责任编辑: Author_N1

 

USB控制51单片机问题
我现在有个CP2102的USB,有个51单片机,我想在电脑键盘上按下1健然后单片机上面P1.1的LED灯亮起来求助
--参考方法--
USB转串口-> 单片机,不是容易点吗?
--参考方法--
引用:
Quote: 引用:

需要做一个上位机程序来匹配MCU内部自身的功能。上位机中键盘按下1会触发按键按下事件,通过此事件发送特殊的命令到MCU(USB协议来完成),MCU自身的程序解析此命令后进行点灯操作。你用的是那块51芯片,C8051F3xx吗?那个USB很好做,根本就不需要懂底层的USB协议

VB或者DELPHI都会做!但是就是没有头绪怎么通过USB给单片机发送指令,需要一个简单的例子


以C8051F340为例:
下位机的代码:
void main()
{
PCA0MD &= ~0x40; /* Disable Watchdog timer */
SYSCLK_Init();
USB_Clock_Start();
USB_Init(USB_VID, USB_PID, USB_MfrStr, USB_ProductStr, USB_SerialStr, USB_MaxPower, USB_PwAttributes, USB_bcdDevice);
// CLKSEL 
--参考方法--
= 0x02;
RSTSRC 
--参考方法--
= 0x02;

port_init();

ADC_VCC_ON = 1;

USB_Int_Enable();

while(1)
{
if(PacketIn) 
    {
PacketIn = 0;
Process_Receive_Data();
    }
}

}

void USB_ISR (void) interrupt 17
{
unsigned char int_val = Get_Interrupt_Source();

if (int_val & USB_RESET) /* Bus Reset Event, go to Wait State */
    {
        ms = stat_wait_dev;
    }

    if (int_val & DEVICE_OPEN) /* Device opened on host, go to Idle */
    {
        ms = stat_idle_dev;
    }

    if (int_val & TX_COMPLETE)
    {
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:15:14
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20153/
本文WWW.DOC100.NET DOC100.NET版权所有。