找回密码
 立即注册
查看: 9527|回复: 124

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

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-05-01 06:56:44
已绑定手机

56

主题

1319

回帖

2938

积分

荣誉版主

无情的代码机器

积分
2938
发表于 2024-11-15 21:53:21 | 显示全部楼层 |阅读模式
荣誉版主,学习官方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 的进阶操作,
在本贴记录一下学习过程。
先来个跑马灯开工仪式:






3 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-05-01 06:56:44
已绑定手机

56

主题

1319

回帖

2938

积分

荣誉版主

无情的代码机器

积分
2938
发表于 2024-11-16 10:38:18 | 显示全部楼层
三天不学习,赶不上刘少奇~
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-05-01 06:56:44
已绑定手机

56

主题

1319

回帖

2938

积分

荣誉版主

无情的代码机器

积分
2938
发表于 2024-11-16 11:00:22 | 显示全部楼层
声卡先体验下{:5_351:}
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-05-01 06:56:44
已绑定手机

56

主题

1319

回帖

2938

积分

荣誉版主

无情的代码机器

积分
2938
发表于 2024-11-16 17:11:35 | 显示全部楼层
引用下autopccopy大佬的图:
截图202411161711084309.jpg

截图202411161711165853.jpg
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-05-01 06:56:44
已绑定手机

56

主题

1319

回帖

2938

积分

荣誉版主

无情的代码机器

积分
2938
发表于 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)

三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15609
发表于 2024-11-16 20:16:35 | 显示全部楼层
TFT触摸屏,冲哥淘宝店:
https://shop204481741.m.taobao.com/

点评

收到,这个2.4寸的,我先试下3.5寸大的,不行了换这个.  详情 回复 发表于 2024-11-16 20:29
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-05-01 06:56:44
已绑定手机

56

主题

1319

回帖

2938

积分

荣誉版主

无情的代码机器

积分
2938
发表于 2024-11-16 20:29:15 | 显示全部楼层
神*** 发表于 2024-11-16 20:16
TFT触摸屏,冲哥淘宝店:
https://shop204481741.m.taobao.com/

收到,这个2.4寸的,我先试下3.5寸大的,不行了换这个.

点评

这个:1,3.3V; 2, 已有触摸芯片  详情 回复 发表于 2024-11-16 20:31
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15609
发表于 2024-11-16 20:31:13 | 显示全部楼层
erci*** 发表于 2024-11-16 20:29
收到,这个2.4寸的,我先试下3.5寸大的,不行了换这个.

这个:1,3.3V;  2, 已有触摸芯片
51U 全面进入 TFT触摸屏 时代

AI8051U视频级彩屏TFT播放-DMA-QSPI-I8080-猫捉老鼠.mp4

1.3 MB, 下载次数: 99

手写输入计算器-Ai8051U-20241117.mp4

1.85 MB, 下载次数: 98

点评

已下单,用官方屏,听人劝吃饱饭  详情 回复 发表于 2024-11-16 22:17
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-05-01 06:56:44
已绑定手机

56

主题

1319

回帖

2938

积分

荣誉版主

无情的代码机器

积分
2938
发表于 2024-11-16 22:17:16 | 显示全部楼层
神*** 发表于 2024-11-16 20:31
这个:1,3.3V;  2, 已有触摸芯片
51U 全面进入 TFT触摸屏 时代

已下单,用官方屏,听人劝吃饱饭
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-05-01 06:56:44
已绑定手机

56

主题

1319

回帖

2938

积分

荣誉版主

无情的代码机器

积分
2938
发表于 2024-11-16 22:50:12 | 显示全部楼层
搞了个IAR环境体验下C++上来就踩坑啊,
类的成员函数内位移操作不能用成员变量
,
用函数变量操作位移却是好的,
但是用成员变量赋值给函数变量就不行了。
还是先用C折腾吧~

  1. #include "AI8051U.h"
  2. typedef         unsigned char        u8;
  3. typedef         unsigned int        u16;
  4. typedef         unsigned long        u32;
  5. #define MAIN_Fosc        24000000UL
  6. #define LED_PORT P0
  7. class LED {
  8. public:
  9.     int  _pinNum;
  10.     // 构造函数,关联PIN脚
  11.     LED( int pinNum) {
  12.       //_pinNum = pinNum;
  13.       _pinNum = 1;
  14.     }
  15.     // 点亮LED
  16.     void on() {
  17.       int tempPin = _pinNum;
  18.       //LED_PORT &= ~(1 << _pinNum);
  19.       LED_PORT &= ~(1 << tempPin);
  20.     }
  21.     // 熄灭LED
  22.     void off() {
  23.       int tempPin = _pinNum;
  24.       //LED_PORT |= (1 << _pinNum);
  25.       LED_PORT |= (1 << tempPin);
  26.     }
  27. };
  28. void  delay_ms(u16 ms)
  29. {
  30.      u16 i;
  31.      do{
  32.           i = MAIN_Fosc / 10000;
  33.           while(--i);
  34.      }while(--ms);
  35. }
  36. int main( void )
  37. {
  38.     int  _pinNum = 2;
  39.     P_SW2 |= 0x80; //扩展寄存器(XFR)访问使能
  40.     P0M1 = 0x00;   P0M0 = 0xff;   //设置为推挽输出
  41.     P4M1 = 0x00;   P4M0 = 0x00;   //设置为准双向口
  42.     P4_bit.P40 = 0;                //LED Power On
  43.     P0 = 0xFF;
  44.     LED led(1);
  45.     while(1)
  46.     {
  47.         led.on();
  48.       //LED_PORT &= ~(1 << _pinNum);
  49.         //P0_bit.P00 = 0;                //LED On
  50.         delay_ms(500);
  51.         led.off();
  52.         //LED_PORT |= (1 << _pinNum);
  53.         //P0_bit.P00 = 1;                //LED Off
  54.         delay_ms(500);
  55.         //_pinNum++;
  56.     }
  57. }
复制代码


点评

果然是版本太低导致的,网上搜"IAR EW for 8051 软件注册"能找到10.10.1版本跑起来就没问题。感谢神秘网友的支持。 装完IAR要导入devices: IAR平台开发 [attachimg]64200[/attachimg] 头文件可以用Ai8051U自己的:  详情 回复 发表于 2024-11-17 22:04
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-1 20:22 , Processed in 0.503445 second(s), 108 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表