凡亿教育-豆豆
凡事用心,一起进步
打开APP
公司名片
凡亿专栏 | AI8051U 多功能学习板设计
AI8051U 多功能学习板设计
AI8051U 多功能学习板设计

3D_PCB3_2024-11-02.png

AI8051U-34K64-LQFP48

AI8051U.jpg

前言

感谢 深圳国芯人工智能有限公司 和嘉立创联合举办的 Ai8051U开源创意电子设计大赛 ,感谢国芯人工智能公司对本项目的物料和PCB打板支持,感谢大国工匠的 车规级 MCU 产品,性能超群,代码兼容性强,运行稳定可靠,适应各种复杂环境。

配套的 Aiapp-ISP 烧录软件具备强大功能,串口助手、IO配置、波特率计算、软件延时计算、范例程序、程序调试仿真、OLED屏模拟、数码管仿真、按键模拟……越探索越强大,学习起来简直不要太方便!

Aiapp-ISP.png

PCB 工程详见:Ai8051U多功能学习板 - 立创开源硬件平台 .

主要特点
  • 基于性能强悍的 Ai8051U - LQFP48 芯片设计,芯片手册详见:深圳国芯人工智能有限公司-产品_AI8051U系列

  • 所有 IO 引出,便于学习、测试和外设模块连接;

  • 多路电源引出,包括 5V ,3.3V 和 GND,为更多外设提供充足的电源接口;

  • 支持多种供电和通信接口,包括 Type-C、Type-A(USB)、Type-B(打印机线)、串口通信接口;

  • 支持多种显示屏幕,包括 4引脚 IIC OLED 接口、7 引脚 SPI 接口、8 引脚 TFT 彩屏接口;

  • Ai8H2K12U串口通信芯片全IO引出,可作为单独 MCU 使用,也可烧录USB转双串口程序与 Ai8051U 通信;

  • 包含一个扩展 IIC 通信接口,可接 DHT11 温湿度传感器;

  • P2.0~P2.7引脚控制LED设计,低电平点亮,可作流水灯测试;

  • 4个轻触开关,可作按键测试,配合 ISP 软件进行模拟仿真;

  • 各引脚丝印文字采用特别加粗的 Comic Sans MS Negreta 手写体,结合顶层和底层图案设计,提升观感和整体风格搭配舒适度,

    • MCU 品牌标识矢量图见附件;

AI8051U-logo.png

原理图

SCH_Schematic1_1-P1_2024-11-14.png

SCH_Schematic1_2-P2_2024-11-14.png

PCB

PCB_2D.png

3D_PCB1_2024-11-02.png

3D_PCB2_2024-11-02.png

3D效果展示

PCB_top.png

PCB_bottom.png

实物效果展示

PCB_real.jpg

DHT11_OLED_UART.jpg视频效果展示1. OLED 显示 DHT11温湿度数据

DHT11_OLED.gif

2. 串口打印 DHT11 温湿度数据

UART_DHT11.gif

3. 流水灯

flow_LEDs.gif

4. 按键控制

Switch_LED.gif

提示:P32按键控制奇偶数交替闪烁,P33按键控制反向流水灯,P47控制正向流水灯,P53按键控制正反向流水灯。

5. TFT彩屏显示

SPI_TFT.gif

相关例程代码见附件。新的测试内容更新将发布在 国芯论坛 - AI32位8051交流社区

lijinlei 的主题

更多有趣玩法正在探索中,欢迎大家复刻和讨论……

附录

在DHT11温湿度传感器测试项目中,包括 OLED 显示和UART串口打印数据两部分,关键代码如下

#include
#include
#include
#include
#include
#include
#include                //OLED引脚定义、控制函数
#include

void Display();

void main()
{
       
       P_SW2 |= 0x80; //扩展寄存器(XFR)访问使能
       
       GPIO_Init();
       UartInit();
       printf("AI8051U DHT11 Test...\r\n");
       
       OLED_Init();                        //初始化OLED
       OLED_ColorTurn(0);                //0正常显示,1 反色显示
       OLED_DisplayTurn(0);        //0正常显示  1 屏幕翻转显示
       
       while(1)
       {
               DHT_Collect();
               printf("Temperature = %u.%u°C\r\n",Temperature[0],Temperature[1]);//串口打印温度
   printf("Humidity = %u.%u%%RH\r\n",Humidity[0],Humidity[1]);//串口打印湿度
               delay_ms(1000);
               
               Display();
               OLED_ShowString(0,4,"ECNU",16);                  //显示字符串
               OLED_ShowString(40,4,"2024",16);//显示字符串
               OLED_ShowString(0,6,"Shanghai,China",16);                  //显示字符串
               //OLED_Clear();                                                  //清屏
       }          
       
}

void Display()
{
               OLED_ShowString(0,0,"Temp:",16);
               OLED_ShowNum(43,0,Temperature[0],2,16);
               OLED_ShowString(60,0,".",16);
               OLED_ShowNum(65,0,Temperature[1],1,16);
               OLED_ShowString(75,0,"C",16);
               
               OLED_ShowString(0,2,"RH:",16);
               OLED_ShowNum(43,2,Humidity[0],2,16);
               OLED_ShowString(60,2,".",16);
               OLED_ShowNum(65,2,Humidity[1],1,16);
               OLED_ShowString(75,2,"%",16);
               
}参考AI8051U用户手册

自动下载电路.png

预告

程序可扩展实现 LabVIEW 上位机数据采集、结合 MQTT 协议实现 Home Assistant 智能家居平台展示等,这些内容正在进行开发,预计本周上线,敬请期待……


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表凡亿课堂立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。
相关阅读
进入分区查看更多精彩内容>
精彩评论

暂无评论