![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
學習日記
煤炭的奇妙漂流
热爱分享,拥抱开源
展开
-
STM32 定时器定时公式
在本实验中,我们将设置一个通用定时器模块以在定时器模式下运行。我们将使用下面的等式将溢出时间间隔设置为所需值。并在中断服务例程 (ISR) 中为计时器溢出事件切换 LED。STM32 定时器 HAL 中断公式 - 定时器公式STM32 定时器 HAL 中断公式 - STM32 定时器公式如您所见,输出时间间隔由预分频器值、时钟频率和定时器预加载寄存器的值决定。鉴于是stm32可以在高达72MHz的频率下运行,让我们将频率设置为72Mz。现在,我们可以为预分频器选择一个值,然后放入所需的TOUT并求解原创 2022-02-28 19:16:07 · 1241 阅读 · 0 评论 -
74hc165介绍
4.5.1并行输入串行输出模块的应用场合与串行输入并行输出模块相反,当需要将并行信号转换为串行信号输出时,可以使用并行输入串行输出模块。4.5.2并行输入串行输出模块的应用基础当并行负载(PL)输入为LOW时,从D0到D7输入的并行数据将异步加载到寄存器中。当PL为HIGH时,数据在DS输入处串行进入寄存器,并在每次正向时钟过渡时向右移一个位置(Q0→Q1→Q2,等等)。该特性允许通过将Q7输出连接到后续阶段的DS输入进行并行到串行转换器扩展真值表所示是74HCl65的真值表,可以看到,原创 2022-02-28 15:47:53 · 10084 阅读 · 0 评论 -
ESP32定时器睡眠模式
定时器唤醒ESP32 可以进入深度睡眠模式,然后在预定义的时间段内唤醒。如果您正在运行需要时间戳或日常任务的项目,同时保持低功耗,则此功能特别有用。ESP32 RTC 控制器具有一个内置计时器,可用于在预定义的时间后唤醒 ESP32。启用定时器唤醒让 ESP32 在预定义的时间后唤醒非常简单。在 Arduino IDE 中,您只需在以下函数中以微秒为单位指定休眠时间:esp_sleep_enable_timer_wakeup(time_in_us)法典让我们使用库中的示例来看看它是如何工作原创 2022-02-27 21:26:20 · 3600 阅读 · 0 评论 -
单片机统计字节中1的个数
统计字节中1的个数是51单片机应用系统编程中最常见的问题之一。例如,从端口入8个拨码开关的值,要求统计其中闭合的开关数量,虽然可以使用case、if等条件判断对于每个位变量进行统计,但是效率极低。本例效率较低但是要求更小的代码存储空间/除2取模的方式获得1的个数unsigned char divcount(unsigned char n){unsigned char sum=0;/统计值while(n)/如果n不为0则进行下一操作{sum+=n&0x01;∥相当于除2取模的操作n&原创 2022-02-24 15:54:47 · 558 阅读 · 0 评论 -
使用OP-AMP电路将DAC0832输出电压转换为电流
1.使用OP-AMP电路将电压转换为电流利用OP进行电流测量,有两种方法。利用电流在电阻上的压降,再进行电压放大,或者直接将电流注入OP的求和点。这样的电路,转换得到的电压信号可以直接加在OP放大的输入端上。这种转换方式有两个不妥的地方:首先电阻的加入将会破坏电路原来的状态,带来测量上的误差。其次OP的失调电压也会被OP自己放大,并加到测量的输出结果中去。使用电流——电压转换电路可以避免上面两点不足。电路结构如图13。输入电流直接接入OP的求和点(反相输入端),由KCL定理可知,OP输出端将通过R1原创 2022-02-22 15:19:04 · 2392 阅读 · 2 评论 -
虚拟CLKADC0832串行程序
#include<reg51.h>#include<absacc.h>//包含绝对地址访问库函数absacc.hsbit DIO=P2^5;//定义DIO为P2.5(0832输入输出控制端)sbit CLK=P2^6;//定义CLK为P2.6(0832时钟控制端)sbit CS=P2^7;//定义CS为P2.7(0832片选控制端)sbit Dp=P1^3;//定义Dp为P1.3(小数点驱动输出端)sbit E=P1^2;//定义E为P1.2(139译码允许端)unsi原创 2022-02-19 17:22:47 · 256 阅读 · 0 评论 -
继电器逻辑在控制系统中的应用
继电器逻辑在控制系统中的应用继电器逻辑的另一个实际应用是在控制系统中,我们希望确保两个不兼容的事件不能同时发生。这方面的一个例子是在可逆电机控制中,其中两个电机接触器被连接以将极性(或相序)切换到电动机,我们不希望正向和反向接触器同时通电:当接触器 M1通电后,3相(A、B和C)分别直接连接到电机的端子1、2和3。但是,当接触器M2通电,相位 A 和 B 反转,A 转到电机端子 2,B 转到电机端子 1。相线的这种反转导致电机旋转相反的方向。我们来看看这两个接触器的控制电路:请注意常闭的"O原创 2022-02-17 11:42:00 · 650 阅读 · 0 评论 -
使用梯形图逻辑的逻辑联锁
使用梯形图逻辑的逻辑联锁让我们开始实验工作,现在打开模拟器,第一个示例如图10所示,有两个泵。我们需要在每个给定时间运行一个泵。因此,当另一个工作时,它们中的任何一个都不会起作用。图1所示的梯形图逻辑代码使用每个泵的线圈的触点来锁定另一个泵。例如,如果第一个泵正在运行,这将打开路径,以防止在第二个泵的线圈被要求运行时通电。同样,当第二个泵运行时,第一个泵的线圈会受到阻碍。它看起来很聪明,但让我们测试一下,看看我们设计的逻辑是否与实时环境相匹配,或者是否有问题需要解决!图 10:第一个梯形图逻辑程序示例原创 2022-02-17 11:08:59 · 1474 阅读 · 0 评论 -
排插的结构
排插排插内部排插旁边的小孔是保险丝座原创 2022-02-16 07:22:42 · 781 阅读 · 0 评论 -
TinyWireM.h函数理解
TinyWireM是Wire的替代库,我认为它是兼容的。我的问题是:如何用TinyWireM替换Wire?是否像使用TinyWireM替换Wire的所有实例一样简单?还有什么我需要做的才能使库ATtiny85兼容吗?我确实尝试将“Wire”重新定义为TinyWireM,如下所示:#include "TinyWireM.h"#define Wire TinyWireM所有内容编译并上传到我的ATtiny85就好了。但是,传感器似乎只能始终输出大约7600mm的值。谢谢!1 个答案:答案 0原创 2022-02-06 12:37:38 · 294 阅读 · 0 评论 -
proteus——74hc164+165
将74HC165并行口健状态信号串行输入,再串行输出至74HC164,控制164并行口LED亮暗,要求LED亮暗状态与按健开合状态一致。#include<reg51.h>//包含访问sfr库函数reg51.h sbit P25=P2^5;//定义P25为P2.5sbit P26=P2^6;//定义P26为P2.6 sbit P27=P2^7;//定义P27为P2.7void main(){//主函数unsigned char i,s;//定义循环序号i,串行数据暂存器s .原创 2022-02-05 18:23:49 · 556 阅读 · 0 评论 -
ESP32CAM电阻设置
在IPEX连接器旁边有三个小的白色方块,像一个"<"一样布置,中间位置很常见。有一个电阻器选择所需的天线。以下是两种配置:要将 IPEX 连接器与外部天线配合使用,电阻器必须位于底部位置,如""。见下图;查看您的主板,看看它是否设置为使用板载天线或 IPEX 连接器。如果您靠近路由器,则使用板载天线效果很好。我们建议使用带有外部天线的 IPEX 连接器,以获得更好的效果。由于连接不良,当您不使用外部天线时,具有视频流的项目经常崩溃。因此,请确保您获得一个可以使您的项目可靠地运行。要启用或禁用原创 2022-01-31 21:25:06 · 2254 阅读 · 0 评论 -
3.5 母音频插孔介绍
3.5 母音频插孔只有三根线!但是你需要注意,因为有左通道,右通道和接地引脚(LEFT channel, the RIGHT channel and the GROUND pin)当涉及到焊接时,您必须将母插孔的接地连接到左通道的接地和右通道的接地。然后,只需将左通道的红线焊接到母插孔的L引脚,将右通道的红线焊接到母插孔的R引脚上即可。...原创 2022-01-25 15:05:04 · 1127 阅读 · 0 评论 -
什么是对地电压?
这个问题,就涉及到“电压”这个概念了。电压,就是两点之间的电位差。“电位”又是什么呢?这是一个“相对”问题,即以某个参考点(物)为0电位得到的电压,(通常以地面为参照物)。类似的还有速度。身高等。如平时说这高铁的时速是300km,是指相对于地球而言(地球为参照物)。身高1.8m也就是这人在该处与地面的相对高度。也是以地球为参照物(面)。同理,平时说的电压,其实没有特别注明者都是指对地电压,以地面(大地为0电位)为参照物(点)。因为我国所有的低压供电系统(380/220v,特殊行业除外)中都是中性点直接接地原创 2021-11-14 23:10:43 · 2108 阅读 · 0 评论 -
DS18B20主要指令
原创 2021-11-08 15:24:38 · 1692 阅读 · 0 评论 -
1-wire总线ROM指令表
1-wire总线ROM指令表2.原创 2021-11-08 15:23:09 · 423 阅读 · 0 评论 -
在线生成.SVG文件
原因:设计网站为了在不同分辨率的手机上达到最佳显示效果,就将图片转换成SVG矢量图,就上网找到了在线工具1.SVG在线编译器2.导入图片,再导出图片即可获得SVG文件原创 2021-10-30 13:23:46 · 4260 阅读 · 1 评论 -
给MDK5/KEIL5安装51/ARM编译坏境
给MDK5安装51/ARM编译坏境起因:因为有时用到51和STM32,就同时使用KEIL4和KEIL5,但是太麻烦了,决定修改一下MDK让它可以同时编译51和STM1.准备工具①MDK安装包②51/ARM编译坏境安装包③注册机2032版2.请按如下顺序安装:2.1安装ARM编译坏境1,安装mdk511a.exe(安装包)2,安装ARM.CMSIS.4.1.1.pack(ARM工具)3,安装Keil.STM32F4xx_DFP.1.0.8.pack4,安装mdkcm511a.exe(原创 2021-10-11 10:37:02 · 1030 阅读 · 0 评论 -
cube中inputfrequency调不了
时钟树配置中HSE点不了在pin设置那里选择RCC将选成“Crystal/ceramic resonator"选项点开时钟树就可以了原创 2021-10-08 22:18:08 · 268 阅读 · 0 评论 -
Quartus Prime19 lite 创建工程
1.准备1.安装好Quartus Prime19 lite,不会安装可看教程Quartus Prime 19.1版本精简版下载安装教程2.cyclonev-19.1.0.670组件包,访问组件包下载及安装2.新建工程 ①启动后会呈现 Quartus Prime Lite 19.1 的开始视窗 该窗口分成几个部分,分别为: 工作区、设计项目层次显示区、信息提示窗口、任务区等。 ②原创 2021-09-25 13:49:41 · 628 阅读 · 0 评论 -
串口发送一个字符
/**********************与飞电子开发板例程************************* 名称:往串口发送一字节数据(可通过超级终端显示出来, 超级终端波特率选为9600)。 超级终端设置好后,每按下一次K1键,松开后均会在超级终端 上显示一个字母"a"。 入口参数:d: 要发送的字节数据。 注: 1、 C0M 口 设置要与单片机通讯口一致 2、 11.0592M晶振 设置的波特率 为 9600 3、 选择“字原创 2021-08-31 22:32:39 · 1424 阅读 · 0 评论 -
XBYTE[0X7FFF]是什么意思
XBYTE[0X7FFF]是什么意思首先XBYTE[]是用来定义绝对地址的,对51单片机而言,P2和P0作为地址总线,但是P0还可以作为数据总线来使用,由高位地址P2和低位地址P0组成16位地址.0X7FFF=0111 1111 1111 1111,说明P2.7=0,其余为为1,这样就指向了地址为7fff的地址单元。XBYTE是指从该地址中读取或写入的数据是字节,设作为一个内存单元来访问的情形XBYTE[0x8000]=0x08的意思是对外部的内存单元0x8000写入0x80数据,而且会调用MOVX原创 2021-07-26 16:42:49 · 6532 阅读 · 1 评论 -
Proteus——测量脉冲频率
1.“频率”、“占空比”、“脉宽”三者之间的关系。:频率f=占空比δ/脉冲宽度t一、频率简介频率,是单位时间内完成周期性变化的次数,二、占空比简介占空比是指在一个脉冲循环内,通电时间相对于总时间所占的比例。三、脉宽简介脉冲宽度就是高电平持续的时间2.原理图#include<reg51.h> //包含访问sfr库函数req51. #include<absacc.h> //包含绝对地址访问库函数bit T = 0; //一秒标志unsigned c原创 2021-07-20 21:12:01 · 5929 阅读 · 1 评论 -
Proteus仿真——通过I/O方式控制LCD1602
1.LCD1602的引脚功能2.LCD1602的指令字3. LCD1602液晶模块的读/写操作、显示屏和光标的操作都是通过指令编程来实现的(其中,1为高电平,0为低电平)11个指令字介绍如下。(1)指令1(01H):清屏。光标复位到地址00H(屏幕的左上方)。(2)指令2(02H):光标复位。光标复位到地址00H。(3)指令3:显示方式设置。 其中,I/D表示光标的移动方向,I/D=1右移,I/D=0左移; S表示显示屏上所有文字是否左移或右移,高电平表示有效,低电平表示无效。原创 2021-07-20 10:59:38 · 1989 阅读 · 3 评论 -
构建线圈L286放大器
构建线圈L286放大器首先你需要一个接收线圈。24V DC 继电器线圈(只要线圈)无铁芯效果最好。接下来,您必须焊接一个与线圈并联的 150nF 箔电容器。电容器平滑信号并滤除高频干扰。现在您可以将带有 L286 放大器模块的线圈连接到输入端。模块上的 100 微法电容器必须桥接,否则您的信号不正确。现在我们必须构建一个 RC 滤波器。该模块会产生一些与信号相关的噪声并使其产生噪声。对于过滤器,您需要一个 94K 电阻器和一个 22pF 陶瓷电容器。将输出接入所需电路。..原创 2021-07-19 11:56:11 · 256 阅读 · 0 评论 -
测量脉冲宽度仿真proteus
1.原理80C51单片机定时/计数器有一个特殊功能,即定时/计数器工作方式控制寄存器TMOD中门控位GATE特性。GATE=1时,定时/计数器的运行同时受TR0/TR1和外中断输人信号INT0/INTI的双重控制,只有当INT0/INTI=1且TR0/TR1=1时T0/T1才能开始运行。运行后,若出现INTO/INT1=0,T0/T1立即停止2.原理图3.利用GATE的特性的代码块将GATE置1,控制TR0和外部中断INT0的高低电平来测量脉冲宽度unsigned int width()原创 2021-07-17 18:16:56 · 2205 阅读 · 1 评论 -
电梯运行仿真
电梯运行程序#include"reg51.h"#include"intrins.h"#define uchar unsigned char#define uint unsigned intsbit p36=P3^6;sbit p37=P3^7;/************************函数声明**************************/void delay(uint t);/************************定义全局变量******************原创 2021-07-12 21:19:51 · 330 阅读 · 0 评论 -
小型继电器的使用及proteus仿真
问题:开发板上的继电器不会用,结果发现要给继电器两个电源解决:原创 2021-06-26 09:05:11 · 4510 阅读 · 7 评论 -
python入門學習
python學習Python 变量类型变量存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。变量赋值Python 中的变量赋值不需要类型声明。每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。等号 = 用来给变量赋值。等号 = 运算符左边是一个变量名,等号 = 运原创 2020-10-25 12:20:53 · 67 阅读 · 0 评论 -
U盤中壓縮文件損壞如何解決
U盤中壓縮文件損壞辛辛苦苦把13G的好東西傳到U盤裏,拿給別人用,結果他告訴我無法打開,U盤壓縮文件損壞,如何修復U盤,使得以後文件不會再發生這種情況1 U盤格式化錯誤查看U盤屬性,如果U盤是EXFAT格式,而格式化時將系統文件選擇成FAT32,就會導致U盤内的文件受損文件系統要選擇正確2.打包和解壓時使用的不是同款壓縮軟件我用的是360壓縮,朋友是用zip,也是一種情況,最好選擇同一種軟件來解壓縮。3.在傳輸文件過程中對文件進行操作在傳輸過程中,對文件進行操作,也會導致它錯誤,最好原创 2020-10-25 08:10:00 · 1145 阅读 · 0 评论