meiao 发表于 2025-1-8 14:55:26

使用8051U虚拟串口/串口打印

<p>使用8051U虚拟串口/串口打印</p>
<p>具体步骤如下:</p>
<p>1、硬件理解:</p>
<p>AI8051U单片机内部集成了USB转串口的功能,无需额外的串口转换模块进行通信。</p>
<p>第一步,分析电路图,了解电路原理与实际的操作。</p>
<p>第二步,将AI8051U单片机通过USB线连接到计算机。</p>
<p><img src="data/attachment/forum/202501/08/143653cklp80d2i2qq3b3v.png" alt="image.png" title="image.png" /></p>
<p>2、软件代码理解:</p>
<p>在AI8051U单片机上编写串口打印程序,配置接口参数、使能USB中断等。</p>
<pre><code>usb_init();                                     //USB CDC 接口配置

    EUSB = 1;                                    //使能USB中断
    EA = 1;                                       //

    while (DeviceState != DEVSTATE_CONFIGURED);   //等待USB完成配置

        while(1)
        {
               if (bUsbOutReady)                  //如果接收到了数据
      {
            USB_SendData(UsbOutBuffer,OutNumber);   //发送数据缓冲区,长度(接收数据原样返回, 用于测试)
      
            usb_OUT_done();
                       
      }
</code></pre>
<p>3、串口助手设置:</p>
<p><img src="data/attachment/forum/202501/08/144622r32zecs92cycbo3a.png" alt="image.png" title="image.png" /></p>
<p>第一步,芯片型号选择对。</p>
<p>第二步,把开发板与电脑连接,会发现识别不了芯片,这里有一个方法,就是按住P3.2,重新上电,这个时候才会识别,在扫描串口那里就会弹出COM多少。</p>
<p>第三步,选择串口模式,勾选下面的”每次下载前都先发送自定义命令“这三个选项。</p>
<p>4、点亮LED代码:</p>
<pre><code>
    P0M1 = 0x00;   P0M0 = 0x00;
    P1M1 = 0x00;   P1M0 = 0x00;
    P2M1 = 0x00;   P2M0 = 0x00;
    P3M1 = 0x00;   P3M0 = 0x00;
    P4M1 = 0x00;   P4M0 = 0x00;
    P5M1 = 0x00;   P5M0 = 0x00;
    P6M1 = 0x00;   P6M0 = 0x00;
    P7M1 = 0x00;   P7M0 = 0x00;

P20 = 0;
delay_ms(200);
P20 = 1;
delay_ms(200);
P21 = 0;
delay_ms(100);
P21 = 1;
delay_ms(100);
</code></pre>
<p>硬件原理图:</p>
<p><img src="data/attachment/forum/202501/08/145301o1j03gpgzmogwf3y.png" alt="image.png" title="image.png" /></p>
<p>把IO口拉低就可以把LED点亮,加上延时就可以使LED交换闪烁。</p>
<p>5、实现效果:</p>
<p><img src="data/attachment/forum/202501/08/145434d1zc1lctccck1tyc.png" alt="image.png" title="image.png" /></p>
<video controls="controls" src="forum.php?mod=attachment&amp;aid=79655"></video>
页: [1]
查看完整版本: 使用8051U虚拟串口/串口打印