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

视频教学:《32位8051单片机原理及应用》,一等奖2万, 送实验箱; 冲哥版

   火... [复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:452
  • 最近打卡:2025-05-13 08:57:29

0

主题

2

回帖

1421

积分

金牌会员

积分
1421
发表于 2023-8-21 09:09:06 | 显示全部楼层
本帖最后由 SSZ_STCMCU 于 2023-8-29 10:07 编辑

看介绍应该还能赶上吧,有实验箱用肯定事半功倍

STC32G单片机开发,视频教程第一集:认识单片机:


    单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
     用途:仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域仪器仪表;
     开始了解了单片机是什么,学习了它的内部结构,以及在生活中的广泛应用。我们讨论了学习单片机的顾虑,并鼓励有兴趣的读者可以尝试学习。     


STC32G单片机视频开发教程第二集:了解硬件:
1.png

    看到了实验箱的样子,正是这个实验箱让我们决定踏入单片机学习的领域。我们可以自己做一些小实验,体验这个神奇的世界,也许我们就会有自己的创新产品。

STC32G单片机视频开发教程第三集:开发环境搭建和程序下载:

2.png 3.png 4.png

   学习了基础工具的使用和安装,这不是问题。
   
第四集:建立工程点亮第一颗LED上:
   
    1.png

    LED的亮灭?通电亮,什么时候通电(单片机来控制),简单的逻辑控制就出现了。
    跟着教程建立了工程,并成功编译了代码。虽然没有立即验证板子,但我们理解了简单的程序。
    硬件连接完成,给出相应的电压即可(引脚输出低电平/高电平)。

第四集:建立工程点亮第一颗LED下,USB-CDC/虚拟串口,不停电下载,高手必须懂:
   
    学习了不间断电下载的方法,看了源码,虽说东西不多,但理解还是有点难度。
    资料里面有demo,编译通过,留作后用。

第五集:C语言运算符和进制数入门上:
第五集:C语言运算符和进制数入门下:

    printf("Hello World!");
    学习了经典的“你好世界”例子,这是printf的基本用法。我们复习了进制的概念,包括二进制、十进制和十六进制。
    常用格式化字符(%d:十进制整数,%f:单精度浮点,%x:十六进制整数)
    二进制    八进制     十进制      十六进制
     1111        17           15               F
    数据的基本类型:
    2.png
    在巩固知识的一集中,我们温习了进制、运算符和数据类型。

第六集:LED闪烁和花式点灯上:
第六集:LED闪烁和花式点灯下:

    学习了延迟函数的应用,并考虑创建一个自己的常用函数库,或者直接使用现有的库。
    在模块化编程的概念中,我们学习了如何组织代码,使其更加清晰和可维护。
    代码格式示例(标准的延迟函数,可根据须要定制修改,注意延迟的精度问题):
    #define MAIN_Fosc      24000000UL
    void delay_ms(u16 ms)
    {
         u16 i;
         do
         {
                i = MAIN_Fosc/6000;
                while(--i);
         }
         while(--ms);
    }        

第七集:按键点灯上:
第七集:按键点灯下:
    按键种类:
    1.png
    虽然按键长得千奇百怪,但是本质就是两个引脚之间的通断。
    按键原理及防抖
    2.png 3.png

    深入了解了按键的原理和应用,包括按键消抖的过程。我们了解到可以通过按键实现多种控制,并开始考虑如何将这些技术应用到实际项目中。
    进一步探索了按键控制的应用,开始引入数组的概念,以便在按键较多时进行编码,方便在其他地方使用。
    4.png

第八集:蜂鸣器的应用:
    1.png
    主要区别:是否有震荡源,还有价格。
    学习了蜂鸣器的使用,包括有源和无源蜂鸣器的区别。我们还通过按键控制实现了电磁炉的基本功能,进一步理解了电气系统的操作过程。
   
第八集:作业:
   2.png
     讲解了电磁炉的例子,通过分块讲解加深了对常用功能的理解。

第九集:数码管的静态使用:

     数码管:实际就是将一些发光二极管封装在一起。
     显示除了数码管,还有液晶屏、异型显示屏等。
     学习了数码管静态显示的使用,利用之前学过的进制、数组、延迟和蜂鸣器等知识。
     静态显示简单理解就是,让他怎么亮就怎么亮很听话的那种。

第十集:数码管的动态显示:
      1.png
     学习了数码管动态显示的方法,这种技术通过利用人眼的视觉暂留效应,实现了全亮的显示效果,大大扩展了数码管的使用可能性。
     可以自己做个挑战10秒,留个后门,连点3次必中10秒(哈哈哈)。   

第十一集:定时器的使用:

     STC32系列单片机内部设置了5个24位定时器/计数器(8位预分频+16位计数)。5个16位定时器T0-T4都具有计数方式和定时方式两种工作方式。
     其核心部件是一个加法计数器,其本质是对脉冲进行计数。
     手册14.2.2 定时器0/1模式寄存器(TMOD)
     符号       地址          B7              B6               B5             B4            B3               B2               B1              B0
     TMOD     89H          T1_GATE     T1_C/T        T1_M1       T1_M0      T0_GATE      T0_C/T        T0_M1        T0_M0
     T0_C/T :
     0:定时器
     1:计数器

     EA:总中断,ET0:溢出中断允许位,0是禁止T0,1是允许T0。
     学习了定时器/计数器的使用,以及计数器的实际应用。
   
第十二集:计数器的使用:


     按键模拟波形说明码盘的控制原理;
     16位自动重装模式,定时器1计数器寄存器(TL1,TH1)
     符号       地址          B7              B6               B5             B4            B3               B2               B1              B0
     TL1        8BH
     TH1       8DH
     学习了计数器的使用方法,并举例说明了它在实际项目中的应用。

第十三集:简易多任务处理上:
第十三集:简易多任务处理中:
第十三集:简易多任务处理下:
第十三集:简易多任务处理终:


     总结之前的学习内容(GPIO和IM的用法),然后拨乱反正(让代码看起来更好看,思路更清晰);
     函数标准化注释模板
     //========================================================================
     // 函数名称:
     // 函数功能:
     // 入口参数: @
     // 函数返回:
     // 当前版本: VER1.0
     // 修改日期: 2023
     //当前作者:
     // 其他备注:
     //========================================================================

     创建程序三步:新建保存、添加到工程、添加引用路径
     函数定义三步:定义、声明、调用
     
     引入编程模块(LED、KEY、BEEP、TIME),将每个功能分别封装成一个独立文件,注重书写规范和编程思想的建立。
     
第十四集:矩阵按键:
   
    1.png
    在按键数量较多时,为了减少I/O口的占用,将按键排列成矩阵排列的形式的按键阵列我们称位矩阵按键。
     优点:省IO口
     缺点:程序复杂
     学习了矩形按键的控制原理,通过定时行列扫描输入信号的方式,有效减少了IO占用的问题。
     STC有64脚STC单片机中,由于IO足够多,对于简单的项目已经足够使用。
     
第十五集:外部中断:   
      
     中断系统(中途打断),为了使CPU具有对外界紧急事件的实时处理能力而设置的。
      没有中断的话,系统一直循环执行同样的命令,对于一般重复性场景可能影响不大,但如果常在河边走哪有不湿鞋,
      一旦设备有个故障(即使很小),可能也会要了整条生产线的命。
      打断的因素可以很多,可以通过优先级来管理,爸爸妈妈外公外婆同时要你拿东西,你会怎么选?请排序。。。
       2.png
      STC-ISP越来越贴心了,提供了的功能越来越好用了。

第十六集:IO中断:

      普通I/O口均可中断,不是传统外部中断,支持4种中断模式(下降沿中断、上升中断、低电平中断、高电平中断),每个I/O可独立设置中断模式。
      STC32GK28-Beta的普通I/O下降沿中断段和上升沿中断暂时不要使用(可以直接跳过这个Beta的芯片或者直接用高低电平中断)。
      端口的配置模式:PnIM1.x 和 PnIM0.x  【Pn.x中断模式】          端口中断使能PnINTE.x:0关闭 1使能
                                    0               0            下降沿中断
                                   0               1            上升沿中断
                                    1               0            低电平中断
                                    1               1            高电平中断   
       P2口的低电平中断:
       P2IM0 = 0x00;         //低电平中断设置
       P2IM1 = 0xFF;
       P2INTE = 0xFF;       //使能P2口中断(进入时先清空  P2INTE = 0x00;)
       EA = 1;                 //打开总中断
      
       中断口大于31的处理:
       热心网友提供的软件:拓展Keil的C代码中断号(支持0~254)
       或者跳转到未使用的中断号(类似嫁接)

       数码管和中断的优先级:解决了数码管显示问题(定时器优先级高于按键按下中断)
       实战:密码锁(获取想要的基础数据信息(用户到底按下了哪个按键),然后加入逻辑判断,一个小程序成型了);

第十七集:模数转换器ADC上:
第十七集:模数转换器ADC下:


      模数转换器就是A/D转换器(将模拟信号转变为数字信号的电子元件)。
      使用ADC功能时有Vref引脚的单片机千万千万千万不能悬空,必须接外部参考电压源或者VCC!!!
      ADC相关寄存器:
      ADC_CONTR(控制寄存器):ADC_POWER(电源控制位)、ADC_START(启动控制位)、DC_FLAG(转换结束标志位,必须手动清零)
      15个引脚可以用ADC功能。
      ADCCFG(配置寄存器) :RESFMT(ADC转换格式控制为,0:左对齐 1:右对齐)、SPEED(ADC时钟,简易慢点)。
      ADCTIM(时序控制寄存器):注意SMPDUTY 一定不能小于01010B。   
      ADC转换结果和反推公式
       1.png
      基准电压源(更高精度的ADC,独立的外部电压源,经典电路TL431)
      初始化过程:
      设置源(采集所用的引脚)---》设置时序---》配置对齐方式---》开启电源控制位
      查询法:
      启动AD转换---》2个命令延迟---》查询ADC完成标志位(用完清除)---》读取ADC结果
      中断法:
      设置ADC(检测引脚、内部时序、时钟)---》使能ADC---》打开ADC中断(和总中断)---》启动AD转换
      进入中断后(清除完成标志位)---》读取ADC结果---》继续

      ADC的15通道有个不随芯片工作电压改变影响的稳定内部信号源(约1.19V),用作反推外部电压。
      
      到这里,内容都能听懂,但脑袋里的???越来越多,准备放慢节奏,慢慢看几遍。
      
第十八集:ADC采集电源电压和ADC按键上:
第十八集:ADC采集电源电压和ADC按键中:
第十八集:ADC采集电源电压和ADC按键下:



      反推:基准电源电压(ADC15通道的固定输入信号源1.19V),如何提高测量精度?
      按钮复用,12位ADC按键检测(16个按键一个IO搞定),最多可以采集多少个按键呢?
      再多的按键采集应该可以实现,但是间距太小估计准确性会堪忧(不知道理解的对不对呢)?
      实战,移动到最右端数码管后,再移动全亮?程序需要继续修改......

第十九集:NTC温度采集:

      NTC(Negative Temperature Coefficient):可以随着温度上升电阻呈现指数关系减小、具有负温度系数的热敏电阻现象和材料。
      原理:半导体特性,温度和电阻建立联系(成一定比例划分对应的表格)。
      NTC温度计原理很简单(做成体温枪怎么样呢,用NTC直接接触式测量,采集1分钟取有效数据)。

第十九集:串口通信上:
第十九集:串口通信下:
      
      NTC
   

第二十一集:串口应用上:
第二十一集:串口应用下:

      NTC




   
      






























回复 支持 反对

使用道具 举报 送花

1

主题

14

回帖

90

积分

注册会员

积分
90
发表于 2023-8-21 22:35:38 | 显示全部楼层
打卡第九集。
回复 支持 反对

使用道具 举报 送花

0

主题

9

回帖

36

积分

新手上路

积分
36
发表于 2023-8-21 22:49:25 | 显示全部楼层
已看完第六集上。冲哥讲解delay与while do的用法。晕乎!{:4_174:

点评

加油  详情 回复 发表于 2023-8-22 08:36
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2025-04-27 10:40:24

11

主题

425

回帖

1985

积分

版主

积分
1985
发表于 2023-8-22 08:36:01 | 显示全部楼层
xus*** 发表于 2023-8-21 22:49
已看完第六集上。冲哥讲解delay与while do的用法。晕乎!{:4_174:

加油
QQ:2269694595     微信:18106296594
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:456
  • 最近打卡:2025-05-13 08:56:51

0

主题

4

回帖

1118

积分

金牌会员

积分
1118
发表于 2023-8-22 10:22:42 | 显示全部楼层
重新编辑过提示要审核,帖子怎么丢了

点评

审核中,稍等  详情 回复 发表于 2023-8-22 11:04
回复 支持 反对

使用道具 举报 送花

0

主题

9

回帖

36

积分

新手上路

积分
36
发表于 2023-8-22 10:48:44 | 显示全部楼层
已看完第六集下。看来我还得先熟悉下C语言的命令语句。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2025-04-27 10:40:24

11

主题

425

回帖

1985

积分

版主

积分
1985
发表于 2023-8-22 11:04:33 | 显示全部楼层
HL_DP*** 发表于 2023-8-22 10:22
重新编辑过提示要审核,帖子怎么丢了

审核中,稍等
QQ:2269694595     微信:18106296594
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-08-06 14:54:39

0

主题

26

回帖

115

积分

注册会员

积分
115
发表于 2023-8-22 11:44:07 | 显示全部楼层
本帖最后由 tang01 于 2023-8-22 12:57 编辑

大学生分在校生与毕业生,其实研究生和在科研沾边的工作社会自然人,也是大学生,也包括老师,各个领域的人,只要是能够用起STC32或STC单片机的都有机会,不管是不是大学生,也不管是不是在校,只要能对stc有益的、有技术推进作用的、贡献的,并且被STC官方承认的人,就要资格领走1000~20万不等奖金。不要只盯着在校大学生,他们虽然有活力,但基础不牢,考虑问题不全,设计的产品简单而单调,当然创意永远是第一位,培养创意人才至关重要,对在校大学生资源倾斜在所难免
回复 支持 反对

使用道具 举报 送花

0

主题

26

回帖

190

积分

注册会员

积分
190
发表于 2023-8-22 18:57:37 | 显示全部楼层
第16集: IO中断
变通IO口均可中断,不是传统外部中断。STC32G系列支持所有的IO中断,且支持4种中断模式:下降沿、上升沿、低电平、高电平中断,每组IO口都有独立的中断入口地址,且每个IO可独立设置中断模式。
回复 支持 反对

使用道具 举报 送花

0

主题

26

回帖

190

积分

注册会员

积分
190
发表于 2023-8-22 20:16:50 | 显示全部楼层
第17集:ADC  模数转换
STC32G系列单片机内部集成了一个12位高速A/D转换器。ADC的时钟频率为系统频率2分频再经用户设置的分频数进行再次分频。
ADC转换结果的数据格式有两种:左对齐和右对齐。
ADC的第15通道是专门测量内部1.19V参考信号源的通道。参考信号源出厂时校准为1.19V,大约有1%的误差。
如将ADC_VREF+短接到MCU-VCC,就可以反推MCU-VCC的电压。
如芯片有ADC的外部参考电源管脚ADC_VREF+,则一定不能浮空,必须接外部参考电源或者直接连到VCC。



ADC控制寄存器ADC_CONTR

ADC_POWER:ADC电源控制位,0:关闭ADC电源,1:打开ADC电源,建议进入空闲模式和掉电模式前将ADC电源关闭,以降低功耗。
                        特别注意:1、给MCU的内部ADC模块电源打开后,需等待约1ms,等MCU内部的ADC电源稳定后再让ADC工作。
                        2、适当加长对外部信号的采样时间,就是对ADC内部采样保持电容的充电或放电时间,时间够,内部才能和外部电势相等。
ADC_START:ADC转换控制位。写入1开始ADC转换,转换完成后硬件自动将此位清零。
                    0:无影响,即使ADC已开始转换工作,写0也不会停止AD转换。1:开始转换,转换完成后硬件自动将此位清零。
ADC_FLAG:转换结束标志位。当ADC完成一次转换后,硬件会自动将此位置1,并向CPU发出中断请求。此标志必须软件清零。
ADC_EPWMT:使能PWM实时触发ADC功能。
ADC_CHS[3,0]:ADC模拟通道选择位,被选择为ADC输入通道的IO口,必须设置PxM0/PxM1寄存器将IO口模式设置为高阻输入模式,另外,
                        如果MCU进入掉电模式/时钟停振模式后,仍需要使能ADC通道。则需要设置PxIE寄存器关闭数字输入通道。以防止外部模拟
                        输入信号忽高忽低面产生额外的功耗。     
         
ADC配置寄存器ADCCFG
RESFMT:ADC转换结果格式控制位,0:结果左对齐,ADC_RES保存结果的高8位,ADC_RESL保存结果的低4位。
                                                     1:结果右对齐,ADC_RES保存结果的高4位,ADC_RESL保存结果的低8位。
SPEED[3:0]:设置ADC时钟。FADC=SYSclk/2/(SPEED+1)

ADC时序控制寄存器


回复 支持 反对

使用道具 举报 送花

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

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

GMT+8, 2025-5-13 13:23 , Processed in 0.128731 second(s), 121 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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