自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 STM32 10-04-I2C通信外设

我们直接来看I2C硬件的简介第一条,STM2内部集成了硬件I2C收发电路就像之前USART外设,它是串口通信的硬件收发器,这里I2C的外设就是I2C通信的硬件收发器有了硬件收发器之后,就可以也就是由硬件电路来自动翻转引脚电平软件,只需要写入 控制寄存器CR和数据寄存器DR就可以实现协议了当然,为了实时监控时序的状态,软件还得读取状态定器SR来了解外设电路当前处于什么状态,就像是开车一样,写入控制寄存器CR,就像是踩油门、打方向盘来控制汽车的运行,

2026-03-06 10:23:54 318

原创 STM32 09-01USART串口协议

从本节开始,我们来学习STM 32的通信接口。

2026-02-12 17:55:19 597

原创 STM32 06TIM-04

最后再来看,库函数里对应的函数在library文件夹下,找到tim.h的文件,拖到最后就是tim外设对应的库函数之前已经介绍过一部分,现在继续来看voidTIMxvoidTIMxvoidTIMxt);voidTIMx这四个函数就是用来配置输出比较模块的OC即output compare输出比较所以它就是用来配置我们结构图的这一块,这里输出比较大约有四个,所以对应有这四个函数一个函数配置一个单元第一个参数TIMx选择定时器第二个参数结构体。

2026-01-31 21:48:50 570

原创 STM32 03-GPIO输入

这个图就是套件里面的实物图,上面白色的是按钮,下面有两个引脚,当按键按下去的时候,下面两个引脚就是接通的;松手后,这两个引脚就自动断开了在单片机中应用按键时候的一个现象,按键抖动按键抖动现象的介绍及见上面图片通过这个波形也可以知道:按键没有按下的时候就是高电平;按键按下就是低电平在按下的瞬间,信号由高电平变为低电平就会来回抖动几下(这个抖动比较快,通常在5~10毫秒之间,人眼是分辨不出来的,但是对于高速运行的单片机而言,5~10ms还是比较漫长的,所以我们就要对抖动进行过滤)

2026-01-22 14:40:24 575

原创 STM32 -02 建立一个STM32的工程

编译并建立工程,可以看到上面是:0错误+警告即我们建立的工程没有问题这个工程·目前还没有添加STM32的库函数,所以他还是基于寄存器开发的工程(如果想用寄存器开发STM32,那工程建到这里就ok了)通过配置寄存器来完成点灯操作字体大小调整(我这个滚动屏幕也可以调整大小)将编码格式改为UTF-8(防止中文乱码问题)当然,当打开工程的时候,也要把编码格式改为UTF-8,否则中文显示就会出现问题Tab改为4(看起来舒服)接着拿出STM32最小系统板,STLINK和四根母对母杜邦线。

2026-01-19 14:37:49 733

原创 AT24C02补充:动态数码管显示

这里需要用到之前AT24C02写的代码,所以可以先去回顾本来interrupt中断函数是写在time0计时器当中的但是因为key和数码管这两个函数都需要去调用到这个interrupt但是interrupt又有一个所以我们就把这个interrupt写到主函数当中,然后在interrupt的内部写两个函数(让他关联到key和数码管这样在我们规定的时间内,它都会自动的去分别调用key和数码管)

2025-11-19 12:47:48 713

原创 51单片机实战篇08(蜂鸣器)

开发板上是无源蜂鸣器,所以可以发出不同频率的声音但是注意,如果是有源蜂鸣器的话,就只能发出固定频率(主播的蜂鸣器就是无源的😊)

2025-10-22 14:53:11 1698

原创 初识Vivado

之后(因为我们之前没有添加写好的.v文件,所以这里需要点击,如果之前写好的文件已经添加过了,那么这里就不需要了)而如果我们之前比如在VScode当中先写好文件,可以不勾选,然后添加之前写好的文件的路径,选择.v文件。之后,在design sources路径下面,我们就可以直接看到gates模块了,双击打开它。这里如果直接勾选的,就是不添加指定文件,也就会直接跳过下面两个,直接选芯片型号。但是,如果没有写好,点击创建一个文件就可(如果是跟着上面的流程走,见下)就算之前写好了,没有添加,也可在这里重新添加。

2025-10-12 17:54:18 136

原创 51单片机实战篇03

因为err比pass少一个字符,所以就像上面的原理一样,LCD是保持型显示设备,我们最后一位s(pass当中)会被保留下来(如果我们之前按下正确的密码,之后再次输入显示错误了),所以。- 当按键松开后, MatrixKey() 返回 0 , KeyNum 被赋值为 0 ,此时 if(KeyNum) 的条件不满足,不会执行 LCD_ShowNum 操作。为了正确显示,应该在err后加一个空格,清空原来pass中的s,'err ',这样就可以了。——它会持续显示最后一次写入的内容,直到有新的内容覆盖它。

2025-10-02 14:21:34 796

原创 Verliog赋值语句的区分

都是独立的“连线”,无论这些 assign 语句在代码中怎么排列,硬件上的连线关系都不会改变,所以。在 always 块内),是过程赋值,它描述的是“在代码执行流程中,变量的赋值时机”——此时语句的顺序会影响赋值结果(因为阻塞赋值是“先算右边,再立即给左边,下一条语句必须等它完成”)。assign 语句属于连续赋值,它描述的是硬件上的“连线”关系——只要输入变化,输出会立即同步变化,和语句的“顺序”无关。而 always 块内的阻塞赋值(过程赋值)顺序会影响,因为它描述的是代码执行流程中的赋值时机。

2025-10-01 14:05:13 368

原创 51单片机实战篇02

因为数码管的段选其实是引脚公用的,所以我们不能实现同时亮不同数字的效果(详细见数码管理论篇),所以就涉及到视觉残留(足够快)实现动态显示的效果。现在展示一下静态显示的代码,其实很简单,只需要在主函数中调用Nixie函数,控制段码和位码哪一个亮就可以了。因为之前P0置0,什么都不亮,所以达到消影效果,第二个数码管亮2,1ms后第二个数码管不亮。实现的效果如下,可以看到,实际上时会有残影出现的,为什么会出现这样的情况?第一个数码管亮1,过1ms之后,P0置0,也就是其实第一个数码管不亮了。

2025-10-01 10:34:14 319

原创 51单片机实战篇01

主播买的板子是普中的STC89C52RC系列的所以单片机型号要选这个(见图,不是要人买板子的意思啊,求审核通过,实在不行我仅个人可见给通过吧,我只是想自己做个笔记,回头看啊)(选完之后它就自动把串口号给我们选择好了)

2025-09-30 20:57:25 279

原创 单片机简介

单片机,英文Micro Controller Unit,简称MCU内部了CPU、RAM、ROM、定时器、中断系统、通讯接口等一系列电脑的常用硬件功能单片机的是信息采集(依靠传感器)、处理(依靠CPU)和硬件设备(例如电机,LED等)的控制单片机跟计算机相比,单片机算是一个袖珍版计算机,一个芯片就能构成完整的计算机系统。但在性能上,与计算机相差甚远,但单片机成本低、体积小、结构简单,在生活和工业控制领域大有所用同时,学习使用单片机是了解计算机原理与结构的最佳选择。

2025-09-27 19:36:23 386 1

原创 单片机入门04(数码管)

一个数码管上,其实是由8个led灯(a~g,dp)组成的,我们决定亮什么数字/字符,实际上就对应了亮哪几个灯,对应的我们就可以写出二进制代码(共阴极数码管,即只有断码对应为1,阳极为高电平,对应led才会亮)而位码是 二进制从右向左 对应 数码管 1 2...段选:是控制被选中的那个数码管显示什么数字或字符。位选:决定八个数码管中哪一个被选中(能被点亮)(这篇内容有点多,后面再补吧)数码管上显示的数字和字符。(见前面所引用的博客)02 数码管显示函数。

2025-09-27 18:27:07 397

原创 单片机入门03

按键读取操作Key_Read(),也就是这个函数中,我们将按下操作(即P为0状态)的值,- 按键2按下时: Key_Val = 2 , Key_Old 会被更新为 2;

2025-09-27 12:06:39 1088 3

原创 单片机入门02

另外,打开main.c下面的代码,发现其实里面的引脚都是单独给出来的,所以我们可以给每一个引脚去赋值,来实现灯亮/灭的效果。所以 0 1 0 1 0 1 0 1 ,利用计算机将其转化为16进制。就像上面的代码一样,可以根据P1接口整个赋值实现流水灯的效果(法2)电源两端的状态为1,为了实现led灯亮的效果,右边状态应该为0。比如,我们要使第一个led灯亮,就只需要代码写下。(1) 注释当中写中文,有可能乱码的情况,这里,我们先打开stc软件,按照下面操作进行。选择该文件,即利用里面的代码进行仿真。

2025-09-26 21:14:20 457 2

原创 单片机入门

然后再进行了上面第一步之后,会跳转到下面这个界面,我们只需要打开我们先前在D盘上创建的文件,然后并将文件名和自己的文件名 同名即可。3.在search当中直接搜索 我们需要用到的 芯片类型,点击ok即可。2.在自己的D盘上,先创建一个新的文件夹,并命名为test_01。8.再回到keil软件中,界面就如下图所示,即文件夹创建成功。7.去自己先前在D盘创建的test_01文件中查看。发现完成上述操作之后,文件夹中会新建这四个文件。4.选择是/否 差别不大,这里选择 是。5.点击魔法棒,操作依次按图进行。

2025-09-26 18:54:51 201

原创 FPGA入门 LED闪烁verliog代码

这里的第三步,其实对应的就是上面assign语句,不过因为这个代码比较复杂,所以使用了always语句。2.按键控制led交替闪烁。

2025-09-21 20:16:15 210

原创 GPU和显卡的关系

GPU是显卡的核心芯片,而显卡是承载GPU及其他配件设备的物理载体,提供GPU运行的完整环境。集成显卡: GPU集成在CPU/主板中,共享系统内存,功耗低,适合日常办公(轻量级任务)驱动显卡: 通过安装/更新显卡驱动程序(软件),让显卡(硬件)能够被系统识别并正常运作。独立显卡:独立的硬件板卡,配备专用的GPU和显存,性能更强,适用于游戏,专业设计等。(深度学习、科学模拟)没有驱动,显卡就像没有翻译官,无法理解系统发出的指令。,负责执行复杂的数学运算,如:图像处理、3D渲染。显卡:是包含GPU的。

2025-02-26 16:57:45 2339

原创 简单的爱心代码

其中,y轴作为外循环(控制列坐标),x轴作为内循环(控制行坐标上的打印)(x的平方+y的平法-1)的3次方 - x的平方*y的三次方 = 0。可以根据爱心的长度宽度去调整其中数据的值,以实现效果更加美观。爱心内部的函数值小于0,爱心外部的函数值大于0。红色: \033[31m。重置所有文本属性: \033[0m。为了实现加粗闪烁和红色爱心的效果。按照这个理论,我们可以写代码,设置粗体: \033[1m。设置闪烁:\033[5m。可以进行函数内部的填充。将爱心的轮廓打印出来。

2025-02-15 16:39:14 593 2

原创 C语言 Visual Studio Code

(Vs Code上支持各种编程语言,安装这些插件是为了拥有更多C语言相关的便捷强大的功能,如:代码自动补全,语法高亮等)完成之后打开该文件夹,找到mingw64当中bin的gcc.exe就是我们所需要的GCC。为了下载GCC,可以下载MSYS2(它包含了GCC编译器当中的Windows版本)将下载的.exe文件保存在D盘当中的msys64文件夹当中。下载C编译器,常见的一款C编译器:GCC。下载完成后,打开Vs Code,安装C程序相关的插件。2.安装代码的编辑器Vs Code。

2025-02-14 18:02:23 484

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除