找回密码
 立即注册
楼主: lao4jiadian

《8051U深度入门到32位51大型实战视频》打卡OR lao****dian | 已送

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:167
  • 最近打卡:2025-05-02 15:27:34
已绑定手机

34

主题

171

回帖

1181

积分

金牌会员

积分
1181
发表于 2024-12-10 21:20:47 | 显示全部楼层
第8集学习内容 (第8集. 定时器周期性调度任务)
1.程序常见错误分析排除
   
    关键词/变量函数名称的大小写错误或者漏了一个字符,P00写出p00,u8写成U8等等---关键       字区分大小写
    大括号缺了半个;(大括号上下一定要对齐,就不容易遗漏)
   符号的中英文错误---书写要在英文半角模式--中文全角字符会报错---书写代码时要注意输入法   状态
   语句结尾没加分号;
   变量/函数定义之后没有声明/重复定义;
   #include在调用头文件时后面要先加一个空格,在+引号头文件名称
2.定时器周期性任务调度介绍,一个定时器对3个变量进行计数,达到设定值时执行相应动作.
   数组的简介,数组索引从0开始.数组的读写.
数组概念.PNG
   for语句使用介绍 ,用for语句循环了3个数组变量的赋值.
   小知识:(int)强制转换到int类型
   小知识:按住Shift再按 Tab键就可以向前缩进
   小知识:/*中间可以放注释文本,可以连续多行*/
   小知识:2进制位权 为1 2 4 8
   数组流水灯的C代码实现
数组流水灯.PNG
文件的创建(.c和.h)一个硬件或一个功能创建一个.c与.h文件,方便调用与移植
    新建xxx.c和xxx.h文件,代表一个功能块。
     xxx.h格式:
     #ifndef __XXX_H  (要英文大写)
     #define __XXX_H  (要英文大写)
     调用头文件
     函数声明...
     #endif
xxx.c格式
     #include “xxx.h”  (要英文小写)
     函数定义
添加.c .h文件一定要记得引用路径和添加到工程里
程序块的创建.PNG
   结构体的介绍
   结构体数组的周期性任务调度---难理解.视频1:00到1:08.已重复观看3次
糊涂.PNG
   小知识:变量类型和名称中间一定要加空格
   怎样添加任务调度到程序---还差一点意思

定时器多任务使用.PNG 结构体数组周期任务调度.PNG

8位程序---换个STC32G.h头文件,换个C251编译器就直接到STC32的高度了;
          想回到8位机,则换个STC8H.h头文件,换个C51编译器就回到8位机了.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:167
  • 最近打卡:2025-05-02 15:27:34
已绑定手机

34

主题

171

回帖

1181

积分

金牌会员

积分
1181
发表于 2024-12-10 21:43:07 | 显示全部楼层
擎天柱-----定时器周期性调度任务.

捕获.PNG 捕获2.PNG

8位程序---换个STC32G.h头文件,换个C251编译器就直接到STC32的高度了;
          想回到8位机,则换个STC8H.h头文件,换个C51编译器就回到8位机了.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-04-27 14:40:11
已绑定手机

16

主题

468

回帖

2165

积分

版主

积分
2165
QQ
发表于 2024-12-11 10:49:25 | 显示全部楼层
试验箱昨日已送,请注意查收
www.STCAI.com
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:167
  • 最近打卡:2025-05-02 15:27:34
已绑定手机

34

主题

171

回帖

1181

积分

金牌会员

积分
1181
发表于 2024-12-11 11:30:41 | 显示全部楼层
8H8K*** 发表于 2024-12-11 10:49
试验箱昨日已送,请注意查收

好的,谢谢版主.谢谢论坛.谢谢STC官方
8位程序---换个STC32G.h头文件,换个C251编译器就直接到STC32的高度了;
          想回到8位机,则换个STC8H.h头文件,换个C51编译器就回到8位机了.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:167
  • 最近打卡:2025-05-02 15:27:34
已绑定手机

34

主题

171

回帖

1181

积分

金牌会员

积分
1181
发表于 2024-12-11 13:55:48 | 显示全部楼层
第8集 定时器周期性调度任务   代码新理解(个人理解,欢迎纠正)
定时器周期性调度任务-1.PNG
定时器周期性调度任务-2.PNG
定时器周期性调度任务-3.PNG





8位程序---换个STC32G.h头文件,换个C251编译器就直接到STC32的高度了;
          想回到8位机,则换个STC8H.h头文件,换个C51编译器就回到8位机了.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:167
  • 最近打卡:2025-05-02 15:27:34
已绑定手机

34

主题

171

回帖

1181

积分

金牌会员

积分
1181
发表于 2024-12-11 19:31:14 | 显示全部楼层
第9集学习内容 (第9集. 数码管)
1.数码管介绍
  数码管由多个发光二极管封装在一起组成,他们可以有很多种颜色,很多种外形,很多种样式·都是通过点亮内部的LED来显示的,理论可以显示任意的字符或者图案。共阴(负极),共阳(正极)2种.
2.数码管显示原理
74HC595是一个8位串行输入、并行输出的位移缓存器。
74hc 595工作原理演示
3.数码管静态显示
   数码管段码,位码的概念
数码管.PNG
段码位码.PNG
  多个同类型的变量,尽量声明成一个变量数组
变量数组.PNG
  ISP数码管工具使用方法演示
ISP数码管工具.PNG
  数组的大括号后面要加分号
4.数码管动态显示
  具体的控制方法:每个数码管延时不能太短,我们这边程序就·以1ms为准,且需要保证一个循环 的时间不能大于20ms,因为人眼的视觉不容易分辨出50HZ以上的动态刷新。
数码管动态显示要求.PNG
简易时钟的C代码实现,0xFD文字记得要处理,避免出现问题.
0xFD.PNG
OxFD-2.PNG
5.虚拟显示——LED和数码管
   擎天柱调用虚拟接口显示流水灯演示
   擎天柱调用虚拟接口秒表显示演示

小知识:static在c语言中的作用

‌在C语言中,关键字static主要有以下几种作用‌:‌

  • 限定变量和函数的作用域‌:加上static关键字后,变量和函数的作用域通常被限定在定义所在的文件内部,不能在其他文件中被访问和使用,这方便了程序的管理和维护。

  • 防止冲突‌:在多文件程序中,如果多个文件中定义了同名的静态变量或函数,则它们之间不会产生冲突,这样可以避免命名空间的污染。

  • 初始化‌:静态变量在程序运行时只会初始化一次,常常用于实现单例模式、缓存等功能。

  • 存储位置‌:静态变量和函数通常存储在程序的数据段和代码段中,而不是栈内存中,因此它们的访问速度更快。

  • 对象的持久性‌:静态变量在程序生命周期内一直存在,即使在函数调用结束后也不会被销毁,因此可以用于实现一些需要长期保存数据的功能。

  • ‌静态局部变量‌:被static修饰的局部变量只被初始化一次,并且在函数调用之间其值保持不变,作用范围为定义它的函数或语句块。

  • 静态全局变量‌:被static修饰的全局变量仅在定义它的源文件中有效,防止在其他文件单元中被引用。

  • ‌静态函数‌:被static修饰的函数仅在定义它的文件中有效,不能被其他文件调用,实现了对该函数的封装。





8位程序---换个STC32G.h头文件,换个C251编译器就直接到STC32的高度了;
          想回到8位机,则换个STC8H.h头文件,换个C51编译器就回到8位机了.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:167
  • 最近打卡:2025-05-02 15:27:34
已绑定手机

34

主题

171

回帖

1181

积分

金牌会员

积分
1181
发表于 2024-12-12 20:26:46 | 显示全部楼层
感谢 www.STCAI.com , 感谢STCAI论坛,感谢曹经理,赠送的Ai8051U试验箱已收到.

微信图片_20241212202005.jpg 微信图片_20241212201936.jpg
一定认真的学习,把试验箱用好,祝www.STCAI.com越来越强大
8位程序---换个STC32G.h头文件,换个C251编译器就直接到STC32的高度了;
          想回到8位机,则换个STC8H.h头文件,换个C51编译器就回到8位机了.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:167
  • 最近打卡:2025-05-02 15:27:34
已绑定手机

34

主题

171

回帖

1181

积分

金牌会员

积分
1181
发表于 2024-12-12 22:54:33 | 显示全部楼层
Ai8051U的优美音乐响起来,音质刚刚的




按照梁工的音乐盛宴贴下载的https://www.stcaimcu.com/forum.p ... mp;extra=#pid129736

8位程序---换个STC32G.h头文件,换个C251编译器就直接到STC32的高度了;
          想回到8位机,则换个STC8H.h头文件,换个C51编译器就回到8位机了.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:167
  • 最近打卡:2025-05-02 15:27:34
已绑定手机

34

主题

171

回帖

1181

积分

金牌会员

积分
1181
发表于 2024-12-21 20:01:04 | 显示全部楼层
第10集学习内容 (第十集 虚拟LED和数码管)
1.虚拟显示LED
硬件:擎天柱    AI8051试验箱
软件:AI-ISP
虚拟接口.PNG
调试接口(擎天柱-LED-DIP40)介绍
擎天柱DIP40LED.PNG
2.虚拟显示数码管
extern.PNG
在C语言中,‘extern’是一个关键字,用于表示一个变量或函数在其他文件或模块已经定义,也可以在当前文件或模块使用。
具体来说,‘extern’可以有以下俩种用法:
1. 用于声明全局变量或函数,在一个文件中声明一个全局变量或函数为extern,表示该变量或函数在其他文件中定义,这样就可以在当前文件中使用该变量或函数,例如:
    extern int count; //声明全局变量count在其他文件中定义
    extern void print(); //声明函数print在其他文件中定义
2. 用于引用全局变量或函数:在当前文件中引用其他文件中已经定义的全局变量或函数。例如:
    extern int count; //声明全局变量count在其他文件中定义
    printf("count=%d\n", count); //引用全局变量count
使用extern关键字的好处是可以在多个文件中共享变量和函数,方便了模块化编程和代码重用。
需要注意的是,如果在同一个文件中定义了变量或函数并使用了extern关键字,这个变量或函数就会变成全局变量或函数,可以被其他文件中的代码访问.
3.虚拟键盘

2.PNG 3.PNG

8位程序---换个STC32G.h头文件,换个C251编译器就直接到STC32的高度了;
          想回到8位机,则换个STC8H.h头文件,换个C51编译器就回到8位机了.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:167
  • 最近打卡:2025-05-02 15:27:34
已绑定手机

34

主题

171

回帖

1181

积分

金牌会员

积分
1181
发表于 2025-1-26 15:32:36 | 显示全部楼层

第11集学习内容
1.矩阵按键的原理
矩阵按键可以减少I/O口的占用,用有效的端口实现更多得按键.缺点:检测慢一些,不能检测多个按键一起按下的状态.

2.矩阵按键的程序代码实现
    小插曲:设置代码缩进为4个空格对其.Configuration---Editor选项卡---Tab size:调整为4.
    声明变量时:不能赋值,加extern修饰符后,所有C文件中都可以调用.
    变量定义时:可以赋初始值
    1.所有行端口输出高电平,检测到行端口电平为低时,判断行端口数字.
    2.所有列端口输出高电平,检测到列端口电平为低时,判断列端口数字.
    3.判断是几号按键按下,赋值变量为对应数值.
3.密码锁的实现.保存键值到数组,然后进行比对处理.
4.思考按键防抖如何实现的..PW_write_Task函数为10毫秒执行一次,Key_Vol3等于5时才会保存键值,相当于50MS防抖.





8位程序---换个STC32G.h头文件,换个C251编译器就直接到STC32的高度了;
          想回到8位机,则换个STC8H.h头文件,换个C51编译器就回到8位机了.
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-3 07:58 , Processed in 0.221303 second(s), 106 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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