- 博客(30)
- 收藏
- 关注
原创 STM32I2C读写EEPROM实验
2)支持多种数据传输方式:STM32 I2C总线支持不同的数据传输方式,如使用7位或10位地址、读取或写入数据,以及使用不同的数据传输模式(如批处理、字节模式等)。4)易于使用:STM32 I2C总线通过硬件支持,使得I2C通信的配置和操作非常简单。3)支持高速模式:STM32 I2C总线支持高达400kHz的高速模式,这使得它非常适合数据传输速度较快的应用。1)支持多主机模式:STM32 I2C总线支持多主机模式,可以进行多个设备之间的通信。(3)使能时钟:外部晶振,配置时钟。写时序:(每次写一位)
2023-11-22 14:30:12
692
原创 STM32DMA多路采集实验(电压,温度)
DMA是一种用于高速数据传输的技术,通过DMA,可以在不占用CPU资源的情况下,将数据从一个设备传输到另一个设备,提高了系统效率和数据传输速度。STM32DMA是一种硬件DMA实现,支持多种数据传输方式,包括UART、SPI、I2C等多种外设接口,是STM32系列芯片中的重要组成部分。STM32DMA能够使数据传输过程中不产生CPU中断,支持多种数据传输方式,支持多路DMA通道,从而支持多任务并行传输。
2023-11-21 15:34:55
577
原创 STM32ADC单通道采集实验
ADC(模数转换器)是一种用于将模拟信号转换为数字信号。ADC通常用于将模拟信号(如声音、光、温度等)转换为数字信号,以便数字信号可用于数字信号处理器、微处理器、计算机等数字系统中。ADC也可用于测量物理量,如温度、压力、湿度等。ADC的精度和速度取决于采样率和量化位数。一般而言,采样率越高、量化位数越多,ADC的精度和速度也就越高。但同时,分辨率越高,转化时间越长。
2023-11-20 15:05:56
1609
原创 STM32窗口看门狗实验(WWDG)
窗口看门狗(WWDG)通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数器的值在T6位(WWDG->CR的第六位)变成0前被刷新,看门狗电路在达到预置的时间周期时,会产生一个MCU复位。在递减计数器达到窗口配置寄存器(WWDG->CFR)数值之前,如果7位的递减计数器数值(在控制寄存器中)被刷新,那么也将产生一个MCU复位。主程序正常运行时喂狗,用按键中断模拟程序故障死机,此时将触发唤醒中断并产生复位,用LED灯指示唤醒中断的触发。
2023-11-19 22:22:14
147
原创 STM32独立看门狗实验(IWDG)
独立看门狗(Independent Watchdog,简称IWDG)是嵌入式系统中常用的一种硬件监视器。它通常由一个计时器和一个特殊的倒数计数器组成。独立看门狗的作用是监控系统运行状态并在系统出现死锁或其他异常情况时进行重启。具体来说,独立看门狗通过定期向其喂狗(写入特定寄存器或执行特定指令)来确认系统处于正常运行状态。如果系统由于软件错误、死循环或其他故障导致无法继续喂狗,那么独立看门狗将在预定的超时时间内未被喂狗而触发,从而导致系统复位或采取其他预设的应对措施。
2023-11-19 15:00:04
423
原创 STM32通用定时器输入捕获实验
通用定时器输入捕获实验,通常用于测量外部信号的频率和占空比。在这个实验中,利用通用定时器2的输入捕获功能测量按下KEY4键后低电平持续的时间,并使用定时器捕获输入信号的时间,并将结果与预期值进行比较。
2023-11-19 10:23:30
150
原创 STM32基本定时器的中断实验
基本定时器 TIM6 和 TIM7 包含一个 16 位自动重载计数器,该计数器由可编程预分频器驱动。这些定时器彼此完全独立,不共享任何资源。(1)时钟源:定时器时钟 TIMxCLK,即内部时钟 CK_INT,经 APB 预分频器后分频提供。(2)计数器时钟:定时器时钟经过 PSC 预分频器之后,即 CK_CNT,用来驱动计数器计数。接下来尝试着做一个定时器中断实验:利用基本定时器实现一秒中断,并在中断处理函数中打印字符。注:TIM6是基本定时器,主优先级和子优先级最好降低一点点,防止干扰系统异常的中断。
2023-11-18 08:00:00
906
原创 STM32通用定时器的呼吸灯实验
PWM是脉冲宽度调制(Pulse Width Modulation)的缩写,是一种控制方法,主要应用于各种电子设备的控制器中。它通过控制每个脉冲的宽度和频率,来控制输出电平的平均值,从而达到控制电路的目的。例如,在电机控制器中,PWM技术可以通过改变电机绕组的电流方向和大小来控制电机的转速和转向。在LED灯控制器中,PWM技术可以通过短时间的开关灯电压,来控制LED的明暗和亮度。
2023-11-17 20:30:00
353
原创 无线传感器网络学习总结
隐藏终端"是指,节点A和节点C都在节点B的覆盖范围内,因此节点A和节点B,节点B和节点C之间可以相互通信。典型覆盖算法:基于网格的覆盖定位传感器配置算法,圆周覆盖,连通传感器覆盖,轮换活跃/休眠节点的Self-Scheduling覆盖协议,最坏与最佳情况覆盖,暴露穿越覆盖。以参考节点为圆心,未知节点到该锚节点的距离测量值为半径所构成圆的外接矩形,计算外接矩形的质心为未知节点的估计坐标。节点的功能设计,节点的安全性和可靠性设计,节点的性能设计,节点的扩展性和灵活性设计,节点的管理和维护。
2023-11-09 21:12:57
2232
1
原创 NFS服务器的搭建
nfs(Network File System)即网络文件系统,其基于UDP/IP使用nfs能够在不同计算机之间通过网络进行文件共享,能使使用者访问网络上其它计算机中的文件就像在访问自己的计算机一样。
2023-10-24 20:00:00
69
原创 TFTP服务器的搭建
TFTP(Trivial File Transfer Protocol)即简单文件传输协议,是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。
2023-10-24 12:01:54
391
原创 C语言已知三角形三条边abc,求面积
输入三角形的三条边a,b,c,利用海伦公式求三角形的面积。海伦公式又称海伦-秦九韶公式,它是利用三角形的三条边的边长直接求三角形面积的公式。表达式为:S=√p(p-a)(p-b)(p-c),它的特点是形式漂亮,便于记忆。
2023-07-09 12:00:00
5753
6
原创 C语言实现大小写之间的转换
在C语言中,每个字母在ASCII码中都有一个与之对应的整型数据,相同字母的大小写之间的差值为32,那么大写字母转化为小写字母,可以在字母的ASCII的值基础上加上32,反之,小写字母转换为大写字母则需要减去32。1、大写字母转小写字母。2、小写字母转大写字母。
2023-07-08 09:48:21
13320
原创 四、C语言入门教程(条件判断语句 if 和 switch )
if语句只能从两者中选择一个,当要实现几种可能之一时,就要用if···else if,甚至多重嵌套 if 来实现,当分支较多时,程序可读性将会很差,因此我们可以使用 switch 开关语句专门处理多路分支的情形。如:if(a= =b && x= =y) printf(“a=b,x=y”);(3)请区分if(x=1)与if(x= =1)的不同。(2)当表达式的值与case后面的常量表达式值相等时,就执行此case后面的语句。else if(表达式2) 语句块2。
2023-07-04 22:09:23
172
1
原创 三、C语言入门教程(运算符)
C语言的优先级分为15级,1级最高,15级最低。当表达式中有多个不同级别的运算符出现时,优先级高的运算符总是优先于运算符低的运算符进行运算。
2023-07-03 08:00:00
96
1
原创 二、C语言入门教程(常量与变量)
关于变量的定义和变量的声明是两个极易混淆的概念,在对变量进行定义后,存储器需要为其分配一定的存储空间,一个变量在其作用域范围内只能有一个定义;而变量的声明则不同,一个变量可以有多次声明,且存储器不会为其分配空间。
2023-07-02 21:31:39
156
1
原创 六、51单片机 使用Proteus仿真实现用DS18B20测量温度并用数码管显示(仿真及代码)
使用Proteus仿真实现用DS18B20测量温度并用数码管显示
2023-06-16 21:39:36
2903
4
原创 五、51单片机 使用Proteus仿真烟雾报警器(仿真及代码)
本次设计以STC89C52单片机为控制核心,通过使用MQ-2烟雾传感器模块、LCD1602液晶显示模块、按键控制模块、蜂鸣器报警模板,实现对烟雾的检测。本次设计主要针对的是检测厨房空气中液化气、氢气等其他可燃气体的浓度并进行预警。本次设计的烟雾报警系统的设计成功的实现报警、烟雾浓度预警值和温度预警值的设定,烟雾浓度级别和温度的显示等功能,本方案设计的烟雾报警系统具有性能优越、成本低廉、反应速度快等优点,同时简单快捷的操作方式给使用者带来极大的方便。另外小伙伴们有什么想学的小项目,欢迎评论或私信留言。
2023-05-07 08:57:35
14111
41
原创 四、51单片机使用Proteus仿真实现交通信号灯的控制(仿真及代码)
设置C/T*=0,为定时器模式;对T0的运行控制仅由TR0来控制,应使相应的GATE位为0。设定时时间5ms(即5000µs),设T0计数初值为X,假设晶振的频率为11.059 2MHz,则定时时间为:定时时间=(216−X)*12/晶振频率。将定时器控制寄存器TCON中的TR0=1,则启动定时器T0;TR0=0,则停止定时器T0定时。(3)设置IE寄存器本例由于采用定时器T0中断,因此需将IE寄存器中的EA、ET0位置1。转换成十六进制后为:0xee00,其中0xee装入TH0,0x00装入TL0。
2023-02-18 08:30:00
3228
原创 三、51单片机 使用Proteus仿真实现8位数码管滚动显示(仿真及代码)
使用51单片机控制8位数码管,分别滚动显示单个数字0~7,程序运行之后,单片机先控制最左边的第一位数码管显示0,其他的熄灭,延时一段时间之后,控制左边第二个数码管显示1,其它熄灭,以此类推,反复循环上述过程。使用P0输出段码,P2输出位码,因为单片机的电流不足以点亮数码管,因此,我们可以通过使用由8个NPN型三极管组成的位驱动电路来对数码管进行位驱动和位控制扫描,实现8位数码管的滚动点亮
2022-12-24 08:00:00
16569
7
原创 一、51单片机 使用Proteus掌握LCD1602显示屏的使用(仿真及代码)
proteus仿真,通过51单片机初步掌握LCD1602显示原理
2022-12-14 08:30:00
26703
9
《自动控制原理》(第四版)西安电子科技大学
2023-06-16
使用51单片机设计的一个烟雾报警器,资源里面包含了c程序、原理图,PCB图、元器件图、实物图、开题报告、任务书以及答辩常见问题
2023-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人