ercircle 发表于 2024-11-15 21:53:21

学习官方Ai8051U实验箱 | 最强记录贴,Ai8051U-8Bit,Keil-C51, SDCC-51, IAR/C++

荣誉版主,学习官方Ai8051U实验箱超强演示程序包,最强记录贴
===Ai8051U-8Bit@40MHz,Keil-C51, SDCC-51, IAR/C++
用 8位模式将 Ai8051U实验箱配的32位8051程序简单移植跑了一遍
楼主威武,造福 51世界

楼主会按:
Ai8051U-8Bit@Keil-C51 版本发布 Ai8051U实验箱演示程序
Ai8051U-8Bit@SDCC-51 版本发布 Ai8051U实验箱演示程序
Ai8051U-8Bit@IAR/EW8051/C++ 版本发布 Ai8051U实验箱演示程序

由于荣誉版主即将做出的杰出贡献,本坛加了上面的注解

==========================================

感谢STC官方 免费+包邮 的 Ai8051U 实验箱。
借此实验箱学习一下 Ai8051U 的进阶操作,
在本贴记录一下学习过程。
先来个跑马灯开工仪式:
298




ercircle 发表于 2024-11-16 10:38:18

本帖最后由 ercircle 于 2024-11-30 14:09 编辑

2楼用来记录站里一些非常有用的帖子链接(太多了,学不完,根本学不完{:5_270:}):
教程:
《8051U深度入门到32位51大型实战视频》, 上线 !!!
视频教学:《32位8051单片机原理及应用》
深入剖析 AI-单片机 uC/OS-II RTOS 系列 | 实战派教授 权威 O/S 学习指南
PID 算法来了,视频讲解; PID温控;串口绘图;USB-CDC虚拟串口/就是串口
视频教学:【USB 原理及实战,16课时】,大学标准课程,有配套书籍

实践项目:
Ai8051U 运行 LeNet 卷积神经网络,实现手写计算器功能 ! 8051U, AI 开山之作
全双工声卡
Ai8051U驱动1.44寸黑白点阵LCD12864实验程序-SPI-DMA刷整屏523us,超高帧频
Ai8051U驱动0.96寸单色OLED12864实验程序,SPI-DMA 刷整屏523us,超高帧频
FFT频谱分析@Ai8051U, 256点FFT分析,快速傅里叶变换,USB-CDC虚拟串口送电脑显示
FFT频谱分析@Ai8051U, 256点FFT分析,快速傅里叶变换,通过SPI DMA送OLED12864显示
U盘 + FatFS文件系统 + uC/OS-II,RTOS 综合实战
手机也能对AI8051U, ISP/OTA升级用户程序了,使用用户系统区实现


其它:
Boot loader跳转到用户程序,中断重映射
实验箱改造适配5V TFT屏

V1.2.2实验箱 立创EDA Layout





ercircle 发表于 2024-11-16 11:00:22

声卡先体验下{:5_351:}

ercircle 发表于 2024-11-16 17:11:35

引用下autopccopy大佬的图:


ercircle 发表于 2024-11-16 17:17:31

本帖最后由 ercircle 于 2024-11-26 09:48 编辑

实验箱上需要自己焊接的芯片找了下应该是这两款:
锁存器-SN74HC573NSR (量了下尺寸,应该是SOP-20-208mil,还有一种是SOP-20一看就偏大)
https://item.szlcsc.com/73071.html
SRAM-IS62C256AL-45ULI-TR
https://item.szlcsc.com/14983.html

屏幕:
AI8051实验箱专用显示屏2.4寸(ILI9341+XPT2046驱动)3.3V供电


其它一些物料按需自行选购,楼主有一部分就不贴链接了:
CR1220电池
LCD1602 (3.3V)
LCD12864(ST7920-M6800接口)
LCD12864(ST7565R)
2.4寸TFT 320*240(ILI9325)
3.5寸TFT (ILI9486)
1.3寸TFT 240*240 (ST7789)
OLED12864 (SSD1306)

神农鼎 发表于 2024-11-16 20:16:35

TFT触摸屏,冲哥淘宝店:
https://shop204481741.m.taobao.com/

ercircle 发表于 2024-11-16 20:29:15

神农鼎 发表于 2024-11-16 20:16
TFT触摸屏,冲哥淘宝店:
https://shop204481741.m.taobao.com/

{:4_183:}收到,这个2.4寸的,我先试下3.5寸大的,不行了换这个.

神农鼎 发表于 2024-11-16 20:31:13

ercircle 发表于 2024-11-16 20:29
收到,这个2.4寸的,我先试下3.5寸大的,不行了换这个.
这个:1,3.3V;2, 已有触摸芯片
51U 全面进入 TFT触摸屏 时代

ercircle 发表于 2024-11-16 22:17:16

神农鼎 发表于 2024-11-16 20:31
这个:1,3.3V;2, 已有触摸芯片
51U 全面进入 TFT触摸屏 时代

{:4_237:}{:4_237:}已下单,用官方屏,听人劝吃饱饭{:4_245:}

ercircle 发表于 2024-11-16 22:50:12

搞了个IAR环境体验下C++上来就踩坑啊,
类的成员函数内位移操作不能用成员变量
{:4_260:},
用函数变量操作位移却是好的,
但是用成员变量赋值给函数变量就不行了。
还是先用C折腾吧~

#include "AI8051U.h"

typedef         unsigned char      u8;
typedef         unsigned int      u16;
typedef         unsigned long      u32;

#define MAIN_Fosc      24000000UL
#define LED_PORT P0

class LED {
public:
    int_pinNum;
    // 构造函数,关联PIN脚
    LED( int pinNum) {
      //_pinNum = pinNum;
      _pinNum = 1;
    }

    // 点亮LED
    void on() {
      int tempPin = _pinNum;
      //LED_PORT &= ~(1 << _pinNum);
      LED_PORT &= ~(1 << tempPin);
    }

    // 熄灭LED
    void off() {
      int tempPin = _pinNum;
      //LED_PORT |= (1 << _pinNum);
      LED_PORT |= (1 << tempPin);
    }
};

voiddelay_ms(u16 ms)
{
   u16 i;
   do{
          i = MAIN_Fosc / 10000;
          while(--i);
   }while(--ms);
}
int main( void )
{
    int_pinNum = 2;
    P_SW2 |= 0x80; //扩展寄存器(XFR)访问使能
    P0M1 = 0x00;   P0M0 = 0xff;   //设置为推挽输出
    P4M1 = 0x00;   P4M0 = 0x00;   //设置为准双向口
    P4_bit.P40 = 0;                //LED Power On

    P0 = 0xFF;
    LED led(1);
    while(1)
    {
      led.on();
      //LED_PORT &= ~(1 << _pinNum);
      //P0_bit.P00 = 0;                //LED On
      delay_ms(500);
      led.off();
      //LED_PORT |= (1 << _pinNum);
      //P0_bit.P00 = 1;                //LED Off
      delay_ms(500);
      //_pinNum++;
    }
}


页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 学习官方Ai8051U实验箱 | 最强记录贴,Ai8051U-8Bit,Keil-C51, SDCC-51, IAR/C++