
C/C++
文章平均质量分 83
C和C++
夏子曦
这个作者很懒,什么都没留下…
展开
-
算法——数学建模的十大常用算法
数学建模的十大常用算法在数学建模竞赛和实际问题解决中起着至关重要的作用。请注意,以上代码仅为示例,实际应用中需根据具体问题进行修改和扩展。数学建模过程中,选择合适的算法并正确实现是解决问题的关键。原创 2025-02-12 22:10:16 · 2403 阅读 · 0 评论 -
算法——用C语言解答汉诺塔问题
汉诺塔,又称河内塔,是一个益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。原创 2025-02-12 13:32:30 · 870 阅读 · 0 评论 -
C++中string字段 的assign 与直接赋值=有何区别
在C++中,类的assign方法和直接赋值字符串(使用赋值运算符)在功能上是等效的,它们都会改变对象的内容以匹配新的字符串。然而,在语法和使用场景上,它们有一些细微的差别。assign。原创 2024-11-20 15:35:39 · 460 阅读 · 0 评论 -
C++ 常函数、常对象
在C++中,常函数(也称为常量成员函数)和常对象是与对象的不可变性相关的两个概念。它们用于确保对象的状态在特定操作下不会被改变。原创 2024-11-17 14:06:58 · 403 阅读 · 0 评论 -
C++ mutable
在C++中,mutable关键字是一个修饰符,用于类的成员变量声明中。它的作用是允许即使对象被声明为常量(const),该成员变量仍然可以被修改。这通常用于那些需要在常量对象中修改状态的场景,比如缓存值、计数器等。原创 2024-11-17 14:10:43 · 285 阅读 · 0 评论 -
C++中 ,new int(10),new int(),new int[10],new int[10]()
关键字进行动态内存分配时,可以根据需要初始化分配的内存。原创 2024-11-15 21:43:46 · 617 阅读 · 0 评论 -
C++ 中 字符串 的 assign 与 malloc 的区别
在C++中,的assign方法和C语言的malloc函数在用途、功能和所属领域上存在显著的差异。原创 2024-11-20 15:29:19 · 405 阅读 · 0 评论 -
两个程序是否可以同时操作同一个文件的内容
两个程序是否可以同时操作同一个文件的内容,取决于多个因素,包括操作系统、文件访问模式、文件锁机制以及程序的具体实现。原创 2024-11-17 21:13:46 · 985 阅读 · 0 评论 -
C++的版本
C++是一种高效、灵活和强大的编程语言,自1983年由Bjarne Stroustrup在贝尔实验室创立以来,经历了多个版本的更新。原创 2024-11-15 15:15:34 · 579 阅读 · 0 评论 -
STM32F103C8----3-3 蜂鸣器(跟着江科大学STM32)
面包板的的使用请参考:《原创 2024-09-29 10:10:45 · 856 阅读 · 0 评论 -
STM32F103C8----3-1 LED闪烁(跟着江科大学STM32)
面包板的的使用请参考:《原创 2024-09-29 09:14:37 · 1078 阅读 · 0 评论 -
STM32F103C8----3-2 LED流水灯(跟着江科大学STM32)
面包板的的使用请参考:《原创 2024-09-29 09:28:04 · 366 阅读 · 0 评论 -
STM32F103C8----GPIO(跟着江科大学STM32)
GPIO(General Purpose Input Output)通用输入输出口可配置为8种输入输出模式引脚电平:0V~3.3V(0V),部分引脚可容忍5V输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等。原创 2024-09-04 17:03:58 · 2192 阅读 · 0 评论 -
STM32F103C8----2-1 Keil5搭建STM32项目模版(跟着江科大学STM32)
搭建一个STM32模版项目原创 2024-07-18 17:11:46 · 1322 阅读 · 0 评论 -
51单片机STC89C52RC——19.1 SG90舵机(伺服电机)
舵机只是我们通俗的叫法,它的本质是一个伺服电机,也可以叫做位置(角度)伺服驱动器。一般被应用在那些需要控制角度变化的系统中,可以方便的实现转动任意的角度,实现控制角度的变化。应用场景航模、智能小车的转向在很多的航模中,sg90舵机都被用于两翼的位置控制,从而实现航模的转向,倾斜之类的。因为航模本身的要求,需要尽量的控制航模的自重,而sg90舵机的重量本身就很轻,扭矩也大,所以能很好的满足要求。因为sg90舵机的精准角度控制,所以在很多的智能小车类中被用作转向控制。原创 2024-07-15 20:30:57 · 2953 阅读 · 5 评论 -
51单片机STC89C52RC——18.1 HC-SR04超声波测距
HC-SR04超声波测距模块提供2cm~400cm的测距功能,精度达3mm。原创 2024-07-14 20:08:46 · 1662 阅读 · 0 评论 -
51单片机STC89C52RC——17.2 红外遥控数字加减、电机调速
红外遥控0,1,2,3 按键 对应hex为。详细了解红外遥控控制原理请参考《有关直流电机详细介绍请参考《电机的运转速度需要用到。模数数模AD/DA《原创 2024-07-13 12:14:50 · 632 阅读 · 0 评论 -
51单片机STC89C52RC——17.1 红外线遥控器
人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。光的波长和频率如下图红外遥控是利用红外光进行通信的设备,由红外LED将调制后的信号发出,由专用的红外接收头进行解调输出。通信方式:单工,异步红外LED波长940nm通信协议NEC标准通常我们说的红外遥控器是由键盘电路、红外编码电 路、电源电路和红外发射电路组成。原创 2024-07-13 11:19:55 · 1681 阅读 · 0 评论 -
51单片机STC89C52RC——16.1 五线四相步进电机
步进电机可以理解为:是一个按照固定步幅运动的“小型机器”。它与普通电机不同点在于,普通电机可以持续旋转,而步进电机按照特定的步数或者角度来移动。它每次只能移动一定的距离或者旋转一定的角度,运动更像是按照固定的步伐一步一步地走。这种特性让步进电机在需要精确控制位置和速度的场景中非常有用,比如打印机、机器人、数控机床等。原创 2024-07-07 22:27:03 · 2538 阅读 · 0 评论 -
51单片机STC89C52RC——15.1 AD/DA(模数数模)
AD(Analog to Digital):模拟-数字转换,将模拟信号转换为计算机可操作的数字信号DA(Digital to Analog):数字-模拟转换,将计算机输出的数字信号转换为模拟信号AD/DA转换打开了计算机与模拟信号的大门,极大的提高了计算机系统的应用范围,也为模拟信号数字化处理提供了可能。XPT2046是一款4线制电阻式触摸屏控制器,内含12位分辨率125KHz转换速率逐步逼近型A/D转换器。XPT2046支持从1.5V到5.25V的低电压I/0接口。原创 2024-07-06 22:41:11 · 2254 阅读 · 0 评论 -
51单片机STC89C52RC——14.1 直流电机调速
直流电机是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。一般的直流电机有两个电极,当电极正接时,电机正转,当电极反接时,电机反转。直流电机主要由永磁体(定子)、线圈(转子)和换向器组成。除直流电机外,常见的电机还有步进电机、舵机、无刷电机、空心杯电机等。原创 2024-07-05 22:45:13 · 2035 阅读 · 0 评论 -
51单片机STC89C52RC——13.1 温度传感器DS18B20
DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以数字信号的方式输入输出,相比较于模拟温度传感器,具有功能强大、硬件简单、易扩展、抗干扰性强等特点测温范围:-55°C 到 +125°C通信接口:1-Wire(单总线)只需1个接口引脚即可通信其它特征:可形成总线结构、内置温度报警功能、可寄生供电。原创 2024-06-30 20:27:21 · 1750 阅读 · 0 评论 -
51单片机STC89C52RC——12.1 数据存储芯片AT24C02
AT24C02是一个2K位串行CMOS E2PROM,内部含有256个8位字节,采用先进CMOS技术实质上减少了器件的功耗。AT24C02有一个8字节页写缓冲器,该器件通过IIC总线接口进行操作,有一个专门的写保护功能。原创 2024-06-29 10:02:24 · 1999 阅读 · 0 评论 -
51单片机STC89C52RC——10.1 LED呼吸灯
脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称。原创 2024-06-28 18:39:11 · 1600 阅读 · 0 评论 -
51单片机STC89C52RC——9.1 DS1302涓流充电计时芯片
/引脚定义//时钟针脚 输入. SCLK 用来同步串行接口上的数据动作.此管脚内部有一个//40kΩ(典型值)的下拉电阻连接到地//数据针脚 推挽输出.I/O 管脚是三线接口的双向数据管脚.此管脚内部有//一个 40kΩ(典型值)的下拉电阻连接到地//重置位针脚 CE信号在读写时必须保持高电平.此管脚内部有一个 40kΩ(典//型值)的下拉电阻连接到地. 注意:先前的数据手册修正把 CE当作//RST. 管脚的功能没有改变./*** 函 数:显示时间* 参 数:无* 返 回 值:无。原创 2024-06-26 20:36:01 · 979 阅读 · 0 评论 -
51单片机STC89C52RC——8.2 8*8 LED点阵模块(动态图像)
我们点亮一个LED,接下来我们将在8*8的矩阵中展示动态的图像。》,我们了解了如何点亮点阵的LED。原创 2024-06-25 21:05:32 · 911 阅读 · 0 评论 -
51单片机STC89C52RC——8.1 8*8 LED点阵模块(点亮一个LED)
在单片机系统中,操作任意寄存器或者某一位的数据时,必须给出其物理地址,又因为一个寄存器里有8位,所以位的数量是寄存器数量的8倍,单片机无法对所有位进行编码,故每8个寄存器中,只有一个是可以位寻址的。对不可位寻址的寄存器,若要只操作其中一位而不影响其它位时,可用“&=”、“|=”、“^=”的方法进行位操作。比如本节我们用到了下面几个,我们把针脚P34、P35、P36定义用对应申明,在使用时不在写针脚地址寄存器(当然也可以继续使用针脚,作用一样)。DP上的HEX=0x80=1000 0000(二进制)原创 2024-06-25 20:06:07 · 1930 阅读 · 0 评论 -
51单片机STC89C52RC——7.1 串口通信
实现单片机串口与电脑串口工具进行数据通讯,原创 2024-06-24 20:36:44 · 3138 阅读 · 0 评论 -
51单片机STC89C52RC——6.3 定时器/计数器 实现计时功能(定时器+中断系统+LCD1602液晶显示器)
用定时器实现系统中断,计时信息显示在LCD1602上。原创 2024-06-22 22:04:00 · 1128 阅读 · 0 评论 -
51单片机STC89C52RC——6.2 定时器
STC89C51RC/RD+系列单片机的定时器0和定时器1,与传统8051的定时器完全兼容,当在定时器1做波特率发生器时,定时器0可以当两个8位定时器用。STC89C51RC/RD+系列单片机内部设置的两个16位定时器/计数器TO和T1都具有计数方式和定时方式两种工作方式。对每个定时器/计数器(TO和T1),在特殊功能寄存器TMOD中都有一控制位―CT来选择TO或T1为定时器还是计数器。定时器/计数器的核心部件是一个加法(也有减法)的计数器,其本质是对脉冲进行计数。原创 2024-06-22 21:13:25 · 2101 阅读 · 0 评论 -
51单片机STC89C52RC——6.1 中断系统
当中央处理机CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。微型机的中断系统一般允许多个中断源,当几个中断源同时向CPU请求中断,要求为它服务的时候,这就存在CPU优先响应哪一个中断源请求的问题。一个正在执行的低优先级中断能被高优先级中断所中断,但不能被另一个低优先级中断所中断,一直执行到结束,遇到返回指令RETI,返回主程序后再执行一条指令才能响应新的中断申请。原创 2024-06-22 20:38:54 · 2205 阅读 · 0 评论 -
51单片机STC89C52RC——3.2 数码管动态展示(多位动态)
让数码管在显示我们接着《原创 2024-06-19 21:11:07 · 2004 阅读 · 0 评论 -
51单片机STC89C52RC——3.1 数码管静态展示
让数码管在显示。原创 2024-06-19 19:58:14 · 1682 阅读 · 0 评论 -
51单片机STC89C52RC——2.4 三个独立按键模拟控制LED流水灯方向Plus
按下K1键LED流水向左移动按下K2键LED流水向右移动按下K3键LED流水停止(原位闪烁)原创 2024-06-16 10:48:32 · 1447 阅读 · 0 评论 -
51单片机STC89C52RC——2.3 两个独立按键模拟控制LED流水灯方向
按下K1键LED流水向左移动按下K2键LED流水向右移动。原创 2024-06-16 09:42:30 · 1464 阅读 · 0 评论 -
51单片机STC89C52RC——2.2 独立按键控制LED亮灭Plus
当独立K1按键按一下(立即松开),LED D1点亮。再按一下K1(立即松开)LED D1熄灭。与前一节《》当独立K1按键按下时LED D1 点亮,松开D1熄灭 效果不一样。原创 2024-06-16 08:48:43 · 871 阅读 · 0 评论 -
51单片机STC89C52RC——2.1 独立按键控制LED亮灭
轻触(还是要多用点力,不是手机屏幕那种轻触)按下就导通,引脚P30就是高电平0(比如:按下按键K1,此时电路就接通GND接地了)。如果我们要检查P3_0 处于高电平还是电平。我们也不用把按键的构造想太复杂 ,就当成一个普通的开关就好。我们用程序让引脚P3_0处于高电平,可以用 P3_0=0;这里我们一直去检测这个引脚的状态就可以了。松开时电路就断开,引脚P30是底电平1。P3_0 引脚对应是K2。原创 2024-06-15 20:54:34 · 1105 阅读 · 0 评论 -
51单片机STC89C52RC——1.3 LED流水灯
如果只点亮D1一个,只需要将D1位置的bit位设置为0。这里我们是否觉得这样相同的代码虽然有利于阅读和理解,但是代码量却很大,我们需要优化。我这里用的STC8952RC芯片的频率是12MHz,指令集是STC-Y1。D3亮:1111 1011 (0xFB)D7亮:1011 1111 (0xBF)我们程序中要点亮的LED灯的位置如下图。D1亮:1111 1110 (0xFE)D4亮:1111 0111 (0xF7)D5亮:1110 1111 (0xEF)D8亮:0111 1111 (0x7F)原创 2024-06-15 16:00:27 · 2067 阅读 · 4 评论