找回密码
 立即注册
查看: 752|回复: 16

感谢AI官方 免费+包邮 的 Ai8051U 实验箱。 借此实验箱学习一下 Ai8051U 的进阶操作

[复制链接]
  • 打卡等级:常住居民II
  • 打卡总天数:87
  • 最近打卡:2025-06-27 13:40:20
已绑定手机

2

主题

35

回帖

222

积分

中级会员

积分
222
发表于 2025-1-7 10:31:55 | 显示全部楼层 |阅读模式
截图202501071031413531.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:87
  • 最近打卡:2025-06-27 13:40:20
已绑定手机

2

主题

35

回帖

222

积分

中级会员

积分
222
发表于 2025-1-7 10:47:20 | 显示全部楼层
在原来的程序上继续更改,改用按键的方式控制灯的亮灭
#include "ai8051u.h"                //调用头文件


unsigned char state;
void main(void)
{

        P0M0 = 0;                //P0端口(P00-P07)为准双向口
        P0M1 = 0;

        while(1)
        {

                if(P32==0)
                {
                   state=!state;//每按下一次翻转一次
                        P00=state;//翻转后的值赋给P00口
                        while(P32==0);//按下就一直执行空,弹起来就结束。
               
                }
               
        }
}

debf190d9d6193af7f3ba03f4e1195d3.mp4

1021.44 KB, 下载次数: 63

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:87
  • 最近打卡:2025-06-27 13:40:20
已绑定手机

2

主题

35

回帖

222

积分

中级会员

积分
222
发表于 2025-1-15 17:43:21 | 显示全部楼层
学习了第六章的IO输出 ,忍不住开始移植OLED显示程序。
体验就是跟51的基本一样的使用,但是速度快了很多,不过这颗芯片的MDA刷新怎么驱动I2C的还没学会,
话不多说,上视频

video_20250115_110252.mp4

37.28 MB, 下载次数: 58

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:87
  • 最近打卡:2025-06-27 13:40:20
已绑定手机

2

主题

35

回帖

222

积分

中级会员

积分
222
发表于 2025-1-16 12:42:06 | 显示全部楼层
第一章的学习。
  之前都是用的STC89C51和STC89C52,一次偶然的机会再B站上看到了AI8051U的介绍,果断的在www.stcaimcu.com官网上下载资料,先是浏览了下规格书,写的内容非常的多,比起传统的51单片机内容真是多了不少,有点看不下去,还是看视频学习来的直接。
   第一个集,讲解了AI8051U的特点
     1:屏幕显示和视频播放(flash)
     2:II2录音放
     3:PWM_DMA
     4:频谱分析仪
     5:手写计算器
     6:QSPI,PWM移项,硬件乘除,单精度浮点


截图202501161149596875.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:87
  • 最近打卡:2025-06-27 13:40:20
已绑定手机

2

主题

35

回帖

222

积分

中级会员

积分
222
发表于 2025-1-16 12:57:37 | 显示全部楼层
第二章的学习。
   第二章视频  主要是讲解实验箱的硬件及下载工具介绍。
  我本人拿到的是免费申请到的“擎天柱”版本开发版,
原理图相对简单,就是一个主芯片,一个USB下载电路,和外围的LED灯电路,接口引出了40脚,可以之间插在原来的STC89C51或者STC89C52的板子上面。极大的节约了资源。
工具方便,首先得准备程序下载调试的软件安装,需要安装KEIL C251,和最新的SPI调试软件,目前的最新版本是6.95D,
相比之前的版本,真是功能多多。


截图202501161247326174.jpg
截图202501161254222340.jpg
截图202501161256417098.jpg
截图202501161256592804.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:87
  • 最近打卡:2025-06-27 13:40:20
已绑定手机

2

主题

35

回帖

222

积分

中级会员

积分
222
发表于 2025-1-16 14:16:53 | 显示全部楼层
第三章的学习
1:点亮第一颗LED
       部分分三步:
                     1:创建新工程  ,这个步骤跟传统的一样
                     2:添加头文件。   把原来的#include<STC89C51>换成#include "ai8051u.h"    “” 表示在当前文件夹下面找头文件
                     3:输入代码并编译。
     需要注意KEIL 软件的设置,要勾选生产HEX文件,不然找不到程序下载文件。
         P0M0 = 0;                //P0端口(P00-P07)为准双向口      程序的开始为要点灯的IO口设置输入方式,
        P0M1 = 0;
数据手册474页有关于IO口设置的介绍,总共有4种工作模式可以选择,这里我们点灯,第一种,准双向口,即既可以做输入也可以做输出。并且灌电流达到了20mA,与传统的51相对,省去了三极管驱动LED,也省去了传统P0口要加上拉电阻。
   P00=0;//这样就把P0口的第一颗LED灯给点亮了,要点亮第二颗就改成P01=0; 依次类推,直接修改就可以得到想要的结果。

                     
截图202501161359487831.jpg
微信图片_20250116141747.png
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:87
  • 最近打卡:2025-06-27 13:40:20
已绑定手机

2

主题

35

回帖

222

积分

中级会员

积分
222
发表于 2025-1-16 14:54:53 | 显示全部楼层
第四章的学习
这一章比较的有意思,这章节之前的下载准备需要先点上面的P32按键,然后在点下面的电源键,然后在松开,IPS软件上就出现串口号了,这时候点打开文件,选择HEX文件下载。
每次编译都要重复的执行这个操作,比较的繁琐,
USB不停电下载分几个关键的步骤:
  1:添加USB库文件。
  2:程序中包含库文件。#include "stc32_stc8_usb.h"                //调用头文件
3:定义相关变量  char *USER_DEVICEDESC = NULL;
                          char *USER_PRODUCTDESC = NULL;
                          char *USER_STCISPCMD = "@STCISP#";
4:开启USB的使能访问XFR  P_SW2 |= 0x80;                //B7位写1,使能访问XFR
      初始化USB 和开启USB中断        usb_init();                                     //USB CDC 接口配置

    IE2 |= 0x80;                                    //使能USB中断
    EA = 1;                                                                                        //IE |= 0X80;
5:IPS软件选择下载选项
首次操作后,后面再编译就不需要点按之前的那样操作了,直接点编译就自动下载了,真是很方便。
微信图片_20250116142955.jpg
微信图片_20250116143046.jpg
截图202501161446383077.jpg
截图202501161446546928.jpg
截图202501161449234237.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:87
  • 最近打卡:2025-06-27 13:40:20
已绑定手机

2

主题

35

回帖

222

积分

中级会员

积分
222
发表于 2025-1-17 13:09:21 | 显示全部楼层

第五章的学习
跟着冲哥复习C语言知识。
1:USB_CDC串口printf 函数打印实现。
2:2进制,十进制和,十六进制 这个现在都用习惯电脑上自带的计算机功能了,不过这个转换还是得熟记0-9 ,ABCDEF的二进制吗,二进制转16进制的8421
3:数据的基本类型 这点还是很重要, 区分数据类型的范围,不然就可能出现不是我们想要的结果。
4:C语言常用运算符 这个在程序中就运用的比较的多,

图片.png

图片.png
图片.png
图片.png

图片.png

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:87
  • 最近打卡:2025-06-27 13:40:20
已绑定手机

2

主题

35

回帖

222

积分

中级会员

积分
222
发表于 2025-1-20 15:26:40 | 显示全部楼层

第六章的学习

一:GPIO的定义: GPIO就是通用输入/输出 用于输出高低电平或者读取引脚状态(高电平或者是低电平)
图片.png

二:IO口的4种模式。

1:准双向口
2:推挽输出
3:高组态输入
4:开漏模式
图片.png

三:按键检测

图片.png

if( P32 == 1 ) //判断P32按钮是否按下,
{
P20 = 0;//想让其他口的灯亮,更改此处的IO,就可以了

}

else

{
P20 = 1;

}

这里也跟着冲哥学到了串口打印状态。

if( P32 == 0 )
{
state = !state; //变量取反 0 1 0 1 0 1
P20 = state;
printf("state:%d\r\n",(int)state);

while( P32 == 0 ); //等待P32松
}

串口也可以看到灯的状态变化

这章节的点灯,还有个要点就是延时。

灯的亮灭之间要有个视觉停留,电平变化的太快,人眼分辨不开,需要加入延时,电平的变化分开点。

在一个按键的消抖,while( P32 == 0 ); 这个用的比较巧妙,学到了。

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:87
  • 最近打卡:2025-06-27 13:40:20
已绑定手机

2

主题

35

回帖

222

积分

中级会员

积分
222
发表于 2025-1-21 15:38:50 | 显示全部楼层

第七章的学习 定时器中断

一:中断的理解,就是暂时停下手上的活,去执行另外一个紧急的事情,处理完了在返回来继续干之前的活,定时中断就是按一定的时间,有规律的被打断。

配置定时中断,可以直接使用IPS下载软件直接生成,配置要始终频率,定时器号,定时时,定时器模式和定时器时钟,就可以生成出C代码或者汇编代码。

图片.png定时时钟的计算。

图片.png

二:函数的定义,声明,调用

图片.png

图片.png

定义的函数名字,就是一看就明白这段代码是起什么作用的,避免使用特殊的字符或者数字,函数名不能与C语言的关键字同名,

函数的声明,函数放在主函数main之前,就可以不用声明,在主函数之后就不用声明,定义就是有大括号,声明就是没有大括号,英文状态下的一个“;”

回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-30 00:37 , Processed in 0.267167 second(s), 97 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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