找回密码
 立即注册
楼主: 云上太阳

小白开启Ai8051U学习

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:19
  • 最近打卡:2025-10-17 10:38:42
已绑定手机

1

主题

17

回帖

115

积分

注册会员

积分
115
发表于 2025-9-19 10:51:46 | 显示全部楼层
keil的默认设置---32位8051项目:

截图202509191041337286.jpg

截图202509191047211793.jpg

输入大写的‘REMOVEUNUSED’,移除未使用的函数,减小编译后的代码量


截图202509191048196743.jpg





以下是需要仿真时的设置



截图202509191050351818.jpg 截图202509191051005493.jpg 截图202509191051399813.jpg












截图202509191038013993.jpg
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:19
  • 最近打卡:2025-10-17 10:38:42
已绑定手机

1

主题

17

回帖

115

积分

注册会员

积分
115
发表于 2025-9-22 14:36:56 | 显示全部楼层


中文乱码的设置和TAB键的设置

截图202509221436266243.jpg


回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:19
  • 最近打卡:2025-10-17 10:38:42
已绑定手机

1

主题

17

回帖

115

积分

注册会员

积分
115
发表于 2025-9-22 15:49:05 | 显示全部楼层

中文乱码的设置
TAB 键的设置

截图202509221438202254.jpg


头文件的调用与设置

截图202509221439424325.jpg
在文件夹内添加头文件方法
截图202509221548203452.jpg


回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:19
  • 最近打卡:2025-10-17 10:38:42
已绑定手机

1

主题

17

回帖

115

积分

注册会员

积分
115
发表于 2025-9-27 19:47:14 | 显示全部楼层
第四课   USB不停电下载功能
2.下载所需文件(STC官网-库函数-USB库文件)[Ai8051U根据所选的8位/32位模式可使用相同位数的库,此库文件与教学视频有变化]

3.移植关键部分到工程:
    3.1 添加头文件
    3.2 USB初始化函数(lib+.h库实现)
    3.3 命令参数   //新库已不需要再定义此处
    3.4 打开P_SW2寄存器和IE2寄存器(只打开一个位!)


截图202509271924067501.jpg
截图202509271942456583.jpg




回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:19
  • 最近打卡:2025-10-17 10:38:42
已绑定手机

1

主题

17

回帖

115

积分

注册会员

积分
115
发表于 2025-9-27 19:48:32 | 显示全部楼层
云上*** 发表于 2025-9-27 19:47
第四课   USB不停电下载功能
2.下载所需文件(STC官网-库函数-USB库文件)[Ai8051U根据所选的8位/32位模式 ...

回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:19
  • 最近打卡:2025-10-17 10:38:42
已绑定手机

1

主题

17

回帖

115

积分

注册会员

积分
115
发表于 2025-9-28 22:54:23 | 显示全部楼层
第五课  C语言基础


一、printf函数的实现:
      使用“printf”功能需要在"stc32_stc8_usb.h"内启用输出重定向


截图202509282232204819.jpg

二、函数原型定义
printf (const char *fmt, ...);
直接输出:在输出时,普通字符将原样不动地复制到标准输出。
转换输出:每个转换说明都由一个百分号字符(%)开始,以转换说明符结束,从而说明输出数据的类型、宽度、精度等。


举例:
printf("state:%d\r\n",(int)state);        //   %d以十进制整数输出    \r是回车   \n是换行

转换说明简介:
1.类型:根据不同的 fmt 字符串,函数可能需要一系列的附加参数,每个
参数包含了一个要被插入的值,替换了 fmt 参数中指定的每个 % 标签。
关于附加参数,既可以是变量,也可以是常量。

2.位置:printf()函数的普通字符和转换说明放在" "双引号内,附加参数
放在双引号外,每个附加参数之间用逗号隔开。

3.数量:printf() 的附加参数与转换说明符是⼀⼀对应关系,如果有 n 个转
换说明符, printf() 的参数就应该有 n + 1 个。如果参数个数少于对应的转
换说明符,printf() 可能会输出内存中的任意值。

当需要输出字符串%时,就输入2个%%即可;



截图202509282249446765.jpg
截图202509282249012247.jpg


想要使用64位变量,需要在程序文件里面添加申明:#pragma float64

截图202509282253575194.jpg


截图202509282254166712.jpg

截图202511081401331675.jpg
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:19
  • 最近打卡:2025-10-17 10:38:42
已绑定手机

1

主题

17

回帖

115

积分

注册会员

积分
115
发表于 2025-10-4 11:22:21 | 显示全部楼层
第六课 I/O输入输出


STC最高供电电压5.5V;I/O口输入电压不能超过供电+0.3V;
准双向模式时,灌电流20mA,而拉电流仅为0.2mA左右;
输入口因触发器不同,低电平至少在0.99V以下才能识别为低电平,高电平最小要在1.18V以上才能识别为高电平;

机械按钮在按下和松开时都有抖动,一般在20ms以内;故需要消除抖动使用;

跟着课程做如下截图
截图202510041120248774.jpg

截图202510041122107566.jpg


回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:19
  • 最近打卡:2025-10-17 10:38:42
已绑定手机

1

主题

17

回帖

115

积分

注册会员

积分
115
发表于 2025-10-15 14:30:30 | 显示全部楼层
第七课  定时器中断

利用ISP软件生成定时函数
截图202510151426532636.jpg

注意:初始化函数放在main函数之前,总中断开启前,中断函数放在最后;

回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:19
  • 最近打卡:2025-10-17 10:38:42
已绑定手机

1

主题

17

回帖

115

积分

注册会员

积分
115
发表于 2025-10-17 13:14:06 | 显示全部楼层

课前第一集   AiCube直接 printf_usb

通过ISP进入AICube,启动页面后勾选USB,点击运行即可运行编译
截图202510171123195657.jpg
截图202510171233543605.jpg




课前第二集  AiCube查询方式printf_usb 课前2 AiCube查询方式printf_usb0 课前2 AiCube查询方式printf_usb


截图202510171302255881.jpg




课前第三集 AiCube中断方式printf_usb

截图202510171312225393.jpg


截图202510171314006478.jpg




回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-12-16 16:08 , Processed in 0.132643 second(s), 76 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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