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 智能家居平台展示等,这些内容正在进行开发,预计本周上线,敬请期待……
{:4_250:} 中规中矩。蛮好的。10*10的板,可以的。 大叶子 发表于 2024-11-11 20:37
中规中矩。蛮好的。10*10的板,可以的。
{:4_167:}其实是 90x65mm
点赞收藏 这个板子不错 感谢分享 lijinlei 发表于 2024-11-12 00:13
其实是 90x65mm
是呀! 10*10的以内的呀!一个意思。 开发板原理图
另外实现了 TFT-LCD 画面的 局部刷新 和 动态显示,效果如下
详见我的帖子:AI8051U 驱动 TFT-LCD
按键换一下就好了,这类按键不是很爽