firefly2k 发表于 2023-8-30 12:14:27

【已送实验箱】何宾教授主讲《STC32位8051单片机原理及应用-STC32G12K128》线上课程打

本帖最后由 32位8051-STCAI 于 2023-9-7 14:30 编辑

建议能看会议直播,尽量看。可以实时互动,有问题可以直接解答。看回放,效果要差些



第一天:
单片机基础知识及架构等



指令集类型、mcs51和251区别、嵌入式系统硬件和软件介绍




单片机程序设计语言、性能评价等











firefly2k 发表于 2023-8-30 12:20:47

本帖最后由 firefly2k 于 2023-8-30 13:04 编辑

第二天:STC32G介绍




Keil软件介绍



firefly2k 发表于 2023-8-30 13:02:58

本帖最后由 firefly2k 于 2023-8-30 13:13 编辑

第三天:keil应用程序开发项目创建、相关文件的用处或功能,硬件在线调试,不同进制数的表示方法等







firefly2k 发表于 2023-8-30 13:19:45

第四天:不同进制数的进一步讲解,处理器核内部结构



firefly2k 发表于 2023-8-30 13:20:26

本帖最后由 firefly2k 于 2023-8-30 13:23 编辑

第五天: 字节存储顺序,存储结构和地址空间





firefly2k 发表于 2023-8-30 13:27:14

第六天:处理器核内部结构,存储结构和地址空间、中断系统原理等






firefly2k 发表于 2023-8-30 13:30:35

第七天:数据类型和端、指令中的符号规则、





firefly2k 发表于 2023-9-3 20:26:47

本帖最后由 firefly2k 于 2023-9-3 21:53 编辑

2023/9/1
今天干货很多,又学习到了很多关键点。而且有老师现场解答。这里放一下一些关键的笔记


位寻址及定义bdata指8051兼容的位空间;ebdata指定扩展的stc32G单片机的空间int bdata ibase//可位寻址的int型char ebdata arry//可位寻址的char型数组sbit mybit0= ibase^0 //ibase的位0sbit mybit15= ibase^15 //ibase的位15sbit ary07= arry^7//arry的位78051总位数最大128bit,STC32可扩展位空间最多768位变量禁止 bit *ptr,bit ware,指针和数组不行
变量寻址范围idata, data, pdata(指针),只能寻址8位near, xdata, code(指针),寻址16位
far, huge(指针),寻址32位
浮点数问题检测C251库函数有_chkfloat_检查浮点数状态switch( chkfloat (f1))//调用判定结果结果
{
case 0:// 取值为0,表示浮点运算结果正常
printf (”result is a number\n"); break; // 在Keil UART窗打印信息
case 1:// 取值为1,表示浮点除数为零
printf ("result is zero\n"); break;// 在Keil UART窗口打印信息
case 2:// 取值为2,表示浮点运算上溢
printf ("result is +INF\n"); break;// 在Keil UART窗口打印信息
case 3:// 取值为3,表示浮点运算下溢
printf ("result is -INF\n"); break;// 在Keil UART窗口打印信息
case 4:// 取值为4,表示不是一个数
printf ("result is NaN\n"): break;// 在Keil UART窗口打印信息
}

Double变量注意的问题使用double,必须在keil->C251,选中“double precision floating point”

32位8051-AI 发表于 2023-9-4 08:46:44

建议爱学习的小伙伴直接联系我们客服小姐姐,以便更快的获的实验箱,
同时也希望能看到小伙伴后面更详细的学习感悟,一起提升大家的学习热情

=====提前获得 【免费+包邮送】的 STC32G12K128实验箱 或 STC8H8K64U实验箱
=====现在送的,都可以利用MCU自带的 硬件USB直接仿真,硬件USB直接下载

【免费+包邮】 送/申样/采购 可加 如下 QQ或微信联系
加STC华南区客服刘经理QQ: 3398500488 ;微信:18106296592要求 【免费+包邮】 送, 还免费教仿真
加STC华南区客服曹经理QQ:1933892258 ;微信:18106296595 要求 【免费+包邮】 送, 还免费教仿真
加STC华东区客服聂经理QQ:2593903262;微信:18106296598要求 【免费+包邮】 送, 还免费教仿真
加STC西北区客服孙经理QQ: 1347154513 ;微信:18106296593要求 【免费+包邮】 送, 还免费教仿真
加STC华北区客服石经理QQ: 1638975601 ;微信:19952583876要求 【免费+包邮】 送, 还免费教仿真
加STC华中区客服唐经理QQ:2571301708 ;微信:18106296589 要求 【免费+包邮】 送, 还免费教仿真
加STC东北区客服张经理QQ:3141888640 ;微信:19952583265   要求 【免费+包邮】 送, 还免费教仿真
加STC西南区客服张经理QQ:3141888640 ;微信:19952583265   要求 【免费+包邮】 送, 还免费教仿真
工作时间:8:30-12:00,13:00-17:30(周一 到 周五, 法定节假日除外)

【免费+包邮】 送/申样/采购传统电话热线:0513-55012928、0513-55012929、0513-55012966
工作时间:8:30-12:00,13:00-17:30(周一 到 周五, 法定节假日除外)

firefly2k 发表于 2023-9-5 16:02:55

本帖最后由 firefly2k 于 2023-9-5 17:00 编辑

2023/9/5 讲了几种变量类型的定义和指针
const运行时未修改的对象,常数变量
const unsinged short xdata a={1,2,3....}//在data, idata, xdata定义
const unsigned short code a={0,12...}//在ROM中定义 const unsigned char mask[]={0,1,3...};
const unsigned char *cp = mask;
unsigned char *p=mark;//与cp效果相同
....
*p='a';//这里没有意义,不会警告
*cp= 'a';//这里中导致错误 常数指针不能更改
volatile易失性限定符,用于限制编译器对对象值的假设
unsigned char reg1,reg2;
reg2= 7
reg2= 0xff
优化器对连续赋值的通一变量,会优化成只赋值一次。使用volatile要求不进行优化,所有的均执行
   auto是本地变量默认的存储类型;只能在函数定义内使用
register寄存器变量,通常C251编译器忽略register存储类,如有可能所有变量都保存在寄存器中;只能在函数定义内使用
static 限制变量范围并修改局部变量生存期。在函数外声明时,无法在声明文件外访问该变量;当声明时,该变量在启动时就被初始化(与其他变量一样),并且在调用该函数时保持int cal(intx){static int y=0;y=x-y-i;return y;}若没有static,每次进入y都被初始化成0;若有static,第二次进入y=0的初始化无效,用上次的结果值
extern声明在另一个模块中定义的全局变量,不能初始化,因已经在定义时初始化完了
_at_绝对位置变量,xdata, edata是基于基地址的偏移量;其他类型为绝对地址

C251支持使用*字符声明变量指针没有显式类型指针为通用指针
具有显式类型的指针为存储器特定指针
float data *dp //8位指针
int near *np;//16位指针
long xdat *xp//16 位指针


C251编译器可以转换指针的存储类型在对printf的调用中,:表示2字节near指针的参数fmt被自动转换成强制为通用指针这样做是因为printf的原型需要一个通用指针作为第一个参数。根据存储器模型,通用指针的大小为2个字节或4个字节
页: [1]
查看完整版本: 【已送实验箱】何宾教授主讲《STC32位8051单片机原理及应用-STC32G12K128》线上课程打