lijinlei 发表于 2024-11-11 15:05:44

AI8051U 多功能学习板设计

AI8051U 多功能学习板设计
主控 AI8051U-34K 48PIN 展示

USB转串口芯片 STC8H2K12U

前言感谢 深圳国芯人工智能有限公司 和嘉立创联合举办的 Ai8051U开源创意电子设计大赛 ,感谢国芯人工智能公司对本项目的物料和PCB打板支持,感谢大国工匠的 车规级 MCU 产品,性能超群,代码兼容性强,运行稳定可靠,适应各种复杂环境。配套的 Aiapp-ISP 烧录软件具备强大功能,串口助手、IO配置、波特率计算、软件延时计算、范例程序、程序调试仿真、OLED屏模拟、数码管仿真、按键模拟……越探索越强大,极大节约开发成本(包括开发时间成本和硬件购买成本),学习起来非常方便!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 品牌标识矢量图见附件;

3D效果展示实物效果展示视频效果展示1. OLED 显示 DHT11温湿度数据2. 串口打印 DHT11 温湿度数据3. 流水灯4. 按键控制提示:P32按键控制奇偶数交替闪烁,P33按键控制反向流水灯,P47控制正向流水灯,P53按键控制正反向流水灯。5. TFT彩屏显示相关例程代码见附件。新的测试内容更新将跟帖发布……更多有趣玩法正在探索中,欢迎大家复刻和讨论……完整测试视频效果如下295
在DHT11温湿度传感器测试项目中,包括 OLED 显示和UART串口打印数据两部分,关键代码如下
#include <STC8H.h>
#include <intrins.h>
#include <stdio.h>
#include <config.h>
#include <delay.h>
#include <DHT11.h>
#include <oled.h>                //OLED引脚定义、控制函数
#include <UART.h>

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,Temperature);//串口打印温度
    printf("Humidity = %u.%u%%RH\r\n",Humidity,Humidity);//串口打印湿度
                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,2,16);
                OLED_ShowString(60,0,".",16);
                OLED_ShowNum(65,0,Temperature,1,16);
                OLED_ShowString(75,0,"C",16);
               
                OLED_ShowString(0,2,"RH:",16);
                OLED_ShowNum(43,2,Humidity,2,16);
                OLED_ShowString(60,2,".",16);
                OLED_ShowNum(65,2,Humidity,1,16);
                OLED_ShowString(75,2,"%",16);
               
}

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




邮箱 发表于 2024-11-11 18:18:21

{:4_250:}

大叶子 发表于 2024-11-11 20:37:27

中规中矩。蛮好的。10*10的板,可以的。

lijinlei 发表于 2024-11-12 00:13:24

大叶子 发表于 2024-11-11 20:37
中规中矩。蛮好的。10*10的板,可以的。

{:4_167:}其实是 90x65mm

zhaoye818 发表于 2024-11-12 07:32:56

点赞收藏

wlhet 发表于 2024-11-12 08:01:57

这个板子不错

小涵子爸爸 发表于 2024-11-12 08:30:23

感谢分享

大叶子 发表于 2024-11-12 08:49:44

lijinlei 发表于 2024-11-12 00:13
其实是 90x65mm

是呀! 10*10的以内的呀!一个意思。

lijinlei 发表于 2024-11-14 03:41:34

开发板原理图







另外实现了 TFT-LCD 画面的 局部刷新 和 动态显示,效果如下




详见我的帖子:AI8051U 驱动 TFT-LCD

wlhet 发表于 2024-11-14 07:39:13

按键换一下就好了,这类按键不是很爽
页: [1] 2 3
查看完整版本: AI8051U 多功能学习板设计