找回密码
 立即注册
楼主: stc真好用

【实验箱已发出】观看何教授《STC32位8051单片机原理及应用》|已建议送实验箱|实验箱

[复制链接]

1

主题

18

回帖

67

积分

注册会员

积分
67
发表于 2023-8-1 17:51:26 | 显示全部楼层
本帖最后由 stc真好用 于 2023-8-1 17:59 编辑

1
回复

使用道具 举报 送花

1

主题

18

回帖

67

积分

注册会员

积分
67
发表于 2023-8-1 17:55:20 | 显示全部楼层
8.1日下午,又学习了何老师讲解的stc32位单片机的课,这节课可谓是含金量满满,从接触单片机一年多以来,重来没有听到这么详细的底层原理讲解。

B7E4D2275782A9E6EAD2ED483372176F.jpg A26C9C16B3FC3EE47E8E5C07AA67D839.jpg 15F8813B747851530A7ED7A8593F7A96.jpg
我也上网了解到了xtiny存储器模型采用了一系列优化措施,以在有限的资源下提供最佳的性能和功耗平衡。它具有较小的存储器占用空间和较低的功耗消耗,适用于资源受限的嵌入式设备,如物联网设备、传感器和便携式设备等。
该存储器模型还具备高度可靠性,采用了错误检测和纠正机制,以确保数据的完整性和可靠性。它还支持快速访问和高速数据传输,以满足实时应用的需求。


小型存储结构模型通常用于存储和管理少量数据,适用于一些小规模的应用场景。
小型存储结构模型可以采用各种不同的数据结构,如数组、链表、栈、队列等。选择适当的数据结构取决于具体的需求和使用场景。
例如,对于需要频繁插入和删除元素的情况,链表数据结构可能更合适,因为插入和删除操作的时间复杂度较低。而对于需要快速随机访问元素的情况,数组数据结构可能更适合,因为可以通过索引直接访问元素。
数据指针DPTR是一种底层编程的概念,数据指针DPTR是一种指向数据存储位置的指针,用于读取和写入数据。它提供了对内存中特定位置的直接访问。数据指针DPTR的大小和复杂度取决于所指向的数据类型和平台。它只是一个指针变量,不占用大量内存和计算资源。数据指针DPTR主要用于底层编程中的内存管理和数据操作。它在系统编程、嵌入式系统、操作系统等领域经常被使用。


在今天这节课我对keil的debug的了解又多了一点。
在下载程序的时候遇到难以理解的程序或者问题可以有很多办法来解决。
1、设置断点,设置断点步骤:可以在源代码中单击行号旁边的空白区域来设置断点。单击调试工具栏上的“单步”按钮来执行代码的单步调试。
2、还可以最直接地去查看和修改寄存器的值,在Keil的菜单栏中选择“视图”>“窗口”>“寄存器”来打开寄存器窗口。
3、在调试时,可以在“内存”窗口中查看和修改内存的内容。在Keil的菜单栏中选择“视图”>“窗口”>“内存”来打开内存窗口。
4、在调试时,可以使用调试工具栏上的“运行到光标”按钮来跳转到当前光标所在的代码行。可以使用调试工具栏上的“运行到返回”按钮来跳转到函数返回的地方。
5在调试时,可以在“监视”窗口中添加要监视的变量。在Keil的菜单栏中选择“视图”>“窗口”>“监视”来打开监视窗口。


期待下节教学课,认真学习国产芯片,大力发展国产芯片,发展国产芯片对于一个国家的科技独立性和经济发展至关重要。


回复 支持 反对

使用道具 举报 送花

1

主题

18

回帖

67

积分

注册会员

积分
67
发表于 2023-8-1 18:48:56 | 显示全部楼层
观看冲哥stc32位单片机开发第七集(上下两集)
了解到了
1、按键的用法。
2、使用机械按键时一定要注意机械按键的机械抖动情况,最好去规避这个抖动。以防止出现bug
3、复习了数组的定义和使用,注意数组的索引长度是数组定义长度-1
回复 支持 反对

使用道具 举报 送花

1

主题

18

回帖

67

积分

注册会员

积分
67
发表于 2023-8-1 20:49:40 | 显示全部楼层
观看冲哥stc32位单片机开发第八集
学习到了
1、有源和无源蜂鸣器的区别,有源蜂鸣器接上高低电平就会响。
if(key == 0)
{
     delay_ms(10);
     if(key == 0)
    {
         while(key ==0)
           {
            }
    }
}
根据此按键模板可以来控制蜂鸣器的工作
回复 支持 反对

使用道具 举报 送花

1

主题

18

回帖

67

积分

注册会员

积分
67
发表于 2023-8-1 21:36:18 | 显示全部楼层
观看冲哥stc32位单片机开发第九集--《数码管的静态使用》
学习到了 50b6843e15466b41427ec4c16e1f624.png 3dbe1c899c5fb0a4119bd6ff2b7f15d.png
1、数码管内码的由来,和数码管分为共阳极哥共阴极,自己写出了共阳极和共阴极的段码如下:
共阳极:
0~F :{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}
阴极:
0~F :{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}
2、掌握了段码之后,如果为多个数码管就可以根据数码管的位码来,控制具体数码管显示什么数字,也可利用数组和按键来实现按键显示。
回复 支持 反对

使用道具 举报 送花

1

主题

18

回帖

67

积分

注册会员

积分
67
发表于 2023-8-2 12:52:32 | 显示全部楼层
STC32G是STC新推出的32位单片机,也就是广义的32位的8051单片机。实际上使用的是Intel的C251架构,因此在编译器上KeilC51是编译不了STC32G的工程的,要使用KEILC251。优势的话最大的就是价格了,STC32G12K128目前推广价格在5块钱左右(当前时间哈),LQFP48的封装,128K的Flash,4+8K的RAM,带USB带CAN。这个配置和价格还要啥自行车。而且本身LQFP48的封装,即便是ARM的架构,应用也不会太复杂。因此可能会替代很多低复杂度的32位ARM的场景。另外的话可以从51平台方便的过渡到这个平台,对于51使用者来说十分的友好。本人就是通过51过度的。
回复 支持 反对

使用道具 举报 送花

1

主题

18

回帖

67

积分

注册会员

积分
67
发表于 2023-8-3 11:58:32 | 显示全部楼层
最近了解了一下stc32的串口通信,要想玩起来单片机通信必须要掌握好。
STC32G 系列单片机有4个全双工通用串行通信接口,串口1与串口2既有异步通信功能、又有同步通信功能,串口1与串口2都可进行SPI通信,SPI是一个全双工高速同步串行;通信总线串口3、串口4只有异步通信功能。STC32G 单片机通用串行通信接口可以进行管脚切换。串口编程涉及接口管脚选择设置,通信模式设置,波特率发生器定时器(需要定时器做波特率发生器,单片机串口通信接口内部没有波特率发生器)选择设置,波特率设置、数据发生与数据接收等。
串口1的管脚可在4组管脚间切换,通过寄存器P_SW1的B6~B7位设置,如下
e674c5b1316f3d882fc7ec0b01bc6b08.png

串口2的管脚可在2组管脚间切换,通过寄存器P_SW2的B0位设置,如下:

5cb9c6a5039e6b3bcfd23d38bc0e4ffb.png

串口3及串口4的管脚可分别在2组管脚间切换,串口3通过寄存器P_SW2的B1位设置,串口4通过寄存器P_SW2的B2位设置,如下:

c530f0d8727bc06710654a583bcc1014.png

STC32G 系列单片机串口通信(UART)模式有4种,如下:

78f8413bcf64b0cfacbdbb8b017561be.png

串口1与串口2可工作在以上4种的任一模式下,串口3与串口4只能工作在可变波特率8位数据方式或9位可变数据方式。串口1的工作模式通过串口1的控制寄存器SCON的B6~B7位来设置。串口2的工作模式通过串口2的控制寄存器S2CON的B6~B7位来设置、串口3的工作模式通过串口1的控制寄存器S3CON的B7位来设置、串口4的工作模式通过串口4的控制寄存器S4CON的B7位来设置、串口1可选择(通用)定时器1或2做波特率发生器,通用定时器0不可做波特率发生器。串口1的波特率发生定时器通过辅助寄存器AUXR的B0位(S1BRT)来设置:0-选择T2做波特率发生器,1-选择T1做波特率发生器。串口2固定用(通用)定时器2做波特率发生器。串口3可选择(通用)定时器T2或T3做波特率发生器,串口4可选择(通用)定时器T2或T4做波特率发生器。串口3的波特率发生定时器通过寄存器S3CON的B6位(S3ST3)来设置:0-选择T2做波特率发生器,1-选择T3做波特率发生器。串口4的波特率发生定时器通过寄存器S4CON的B6位(S3ST3)来设置:0-选择T2做波特率发生器,1-选择T4做波特率发生器。应用最多的位可变波特率8位数据、其次为可变工作频率9位数据,可变波特率模式的常用的波特率如下:4800,9600,19200,38400,57600,115200;最常用的是9600,很多仪器设备缺省的波特率都是9600,。在设置波特率时,最好在常用波特率中选择,最好不要设置随意的波特率,特别是与上位机通信时更应如此。
回复 支持 反对

使用道具 举报 送花

1

主题

18

回帖

67

积分

注册会员

积分
67
发表于 2023-8-3 11:59:49 | 显示全部楼层
很希望很早些时候申请到免费的实验箱,想上手试试
回复 支持 反对

使用道具 举报 送花

1

主题

18

回帖

67

积分

注册会员

积分
67
发表于 2023-8-3 13:21:15 | 显示全部楼层
观看冲哥stc32位单片机开发第十一集—《定时器的使用》
学习到了定时器的使用,定时器的使用可以有助于
1、实现精确的时间控制:定时器可以提供准确的时间基准,用于执行周期性任务或测量时间间隔。
2、生成特定频率的信号:定时器可以用来生成特定频率的信号,例如用于驱动蜂鸣器、产生PWM信号等。
3、实现延时功能:定时器可以用来实现延时功能,例如在某个时间段内暂停程序的执行。
4、时间测量和计数:定时器可以用来测量时间间隔、计数外部事件的频率等。
5、实现周期性任务:定时器可以用来执行周期性任务,例如定时采集传感器数据、定时发送数据等。
下面是关于定时器的使用步骤:
92f781e04c95dce772861834099fcf5.png 077454ef614d689535cf7ecf8477b05.png 86b3df21483819c01a6b971d701acdd.png 227ad7762d8f5c3e60148346540e35a.png 03f025bd529b1816af0bb12bdb71ad8.png

这些在stc官方手册上介绍的都有,现在也可以使用stc-isp直接生成定时器的配置代码,更加方便
3a3ca94b1f2ae5e28ba06936f46d941.png

我认为这样是方便了许多但是定时器的工作原理还是必须要理解。
第一步初始化定时器:在使用定时器之前,需要对其进行初始化设置。这包括选择计数器的位宽、时钟源和预分频系数等。  
第二步开始计数:一旦定时器被初始化,它会开始从零开始计数。计数器的值会根据时钟源的频率以及预分频系数进行递增。
第三步比较匹配:在计数过程中,定时器的值会与预设的比较值进行比较。当两者相等时,定时器会触发一个中断或者产生一个输出信号。
第四步中断或输出:当定时器触发中断时,单片机会暂停当前的任务,转而执行中断服务程序。如果定时器产生输出信号,它可以用于控制其他设备或执行特定的操作。
第五步 重置计数器:一旦计数器达到最大值(取决于计数器的位宽),它会自动重置为零,从而循环计数。
TMOD寄存器和TCON寄存器是掌握定时器必须要理解的寄存器,可以去stc32官方手册去具体了解相关内容。
db98720791d6c957f7cbd4756dc25e7.png
回复 支持 反对

使用道具 举报 送花

1

主题

18

回帖

67

积分

注册会员

积分
67
发表于 2023-8-3 16:45:09 | 显示全部楼层
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-3 00:34 , Processed in 0.121082 second(s), 100 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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