
单片机
おもいね
脱发ing
展开
-
最逼真的简易交通灯设计
1.当主干道允许通行亮绿灯时,支干道亮红灯,而支干道允许亮绿灯时,主干道亮红灯。2.主支干道交替允许通行,主干道每次放行60s、支干道40s。设计60s和50s计时显示电路。在过程中间,要亮5s的黄灯作为过渡,设置5s计时显示电路。 3.可以通过按键设置加减通行时间。原创 2024-06-29 19:58:17 · 244 阅读 · 0 评论 -
【Proteus仿真】基于stm32的数码管时钟
基于stm32的数码管时钟原创 2024-06-27 18:26:21 · 446 阅读 · 0 评论 -
【proteus仿真】基于STM32的简易计算器设计
基于STM32单片机的简易计算器仿真设计系统。完成LCD1602液晶显示、矩阵按键扫描、LCD1602显示等多项任务。原创 2024-06-25 09:36:40 · 262 阅读 · 0 评论 -
【实物资料包】基于STM32智能台灯设计
1 添加wifi模块模块,可通过wifi模块APP或者手动按钮切换自动/手动模式2 自动模式下,台灯可以感应是否有人落座,有人落座就开灯,人走灯灭3 添加光照度传感器,自动模式下台灯自动调节灯光强弱,减少对眼睛的伤害4 添加一个温湿度传感器和小显示器可以实时显示室内温湿度原创 2024-06-24 18:33:51 · 565 阅读 · 0 评论 -
利用可变参数宏优雅输出日志
一.__VA_ARGS__简介__VA_ARGS__是一个可变参数宏,其实用需要配合define,作用将左边…里的内容照样抄写在右边__VA_ARGS__所在的位置例:#define myprintf(...) printf( __VA_ARGS__)这样定义后 myprintf 和 printf 函数的作用其实是一样的。二.使用有了这个宏之后我们就可以定义一些输出函数,用来规范的输出一些日志。#ifdef USER_MAIN_DEBUG#define user_main_printf(原创 2022-05-12 12:41:20 · 176 阅读 · 0 评论 -
STM32------HAL库使用之串口通信
本文介绍一下在使用Cubemx 生成串口代码后如何具体使用。1.阻塞式发送阻塞式也就是说只有当完成发送或者完成接收后单片机才能够继续运行。 HAL_UART_Transmit(&huart1,temp,1,2); //第一个参数固定生成了,指定转口 //第二个参数对于一个uint8的发送数组地址 // 发送内容大小,注意发送的的内容是一个字节整型 // 发送最大时间2. 重定向fputc实现阻塞式发送 # include "stdio.h"原创 2022-05-12 10:12:20 · 2096 阅读 · 0 评论 -
ESP8266自动下载电路分析
1.模式介绍GPIO_0GPIO_2GPIO_14运行模式110程序运行010程序烧录GPIO_0拉低,然后复位进入烧录模式2. CH340C烧录时自动下载电路使用到了DTR#和RTS#当在软件点击下载会,会使DTR拉低,RTS拉高,然后延时一段时间,拉高DTR,RTS恢复到高电平。因此设计电路:RTSDTRGPIO_0REST10010110这样的话,在点击下载按钮候,CH340的DtR处于低电平原创 2022-03-13 18:30:34 · 3009 阅读 · 3 评论 -
蓝桥杯进阶——IIC总线和PCF8591应用
文章目录1. IIC总线1.0 概述1.1 IIC数据传输过程2.PCF85912.1概述2.2设备地址2.3控制2.4A/D转换流程3.实例1. IIC总线1.0 概述 IIC总线全称:Inter-Integrated Circuit,是由飞利浦公司开发出来的一种串行总线协议,它是一种多主机的总线,当发生主机竞争时,有总线仲裁机制。IIC总线只有两根信号线:* SDA:数据线* SCL:时钟线当总线空闲时,这两根数据线均处于高电平的状态,数据传输时由设备拉低总线。IIC的通信原理可以原创 2022-01-20 16:24:20 · 1586 阅读 · 4 评论 -
DHT11模块使用总结
对于一个外设来说,它就是我们通过I/O扩展所添加的新的功能,我们只要能够学会外设与主控如何通信,并且能够正确处理数据,即基本掌握了这个模块1.模块介绍DHT11 温湿度传感器模块是以 DHT11 温湿度传感器为核心,已含有校准数字信号,可测量环境温度,相对湿度。具有极高的可靠性与卓越的长期稳定性。模块带有电源指示灯2.软件设计1.通信数据过程主机发送起始引号----> DHT11检测并发送相应信号------>DHT11发送40位数据---->DHT11发送结束信号名原创 2022-01-11 20:46:46 · 5009 阅读 · 0 评论 -
图片存放1
原创 2021-12-05 20:54:19 · 205 阅读 · 0 评论 -
蓝桥杯02---蜂鸣器和继电器的驱动
文章目录一、介绍1.蜂鸣器2.继电器二. 控制1.ULN20032.代码一、介绍1.蜂鸣器比赛单片机自带的蜂鸣器为有源蜂鸣器(内置震荡源),也就是说给N_BUZZ一个低电平,蜂鸣器就会发出声音了。N_BUZZ = 0;我们再说一下无源蜂鸣器,无源蜂鸣器没有震荡源,直接给予一个直流信号蜂鸣器是不会发出声音的,所以我们要手动给与一个方波信号。怎么实现呢?while(1){N_BUZZ = 0;delay_ms(200);(不同时间,会发出不同的声音哦)N_BUZZ = 1;del..原创 2021-10-27 09:06:25 · 9305 阅读 · 1 评论 -
32单片机——pwm波输出
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、什么是PWM波二、代码示例1.32中利用定时器TIM1的通道1输出PWM2.使用解析。前言目前学习单片机是为了参加各种的机器人比赛,而PWM是控制舵机和电机法宝,在经过一段时间的学习后准备作一下总结,也方便之后的查询。一、什么是PWM波脉冲宽度调制(PWM)原创 2021-04-17 16:33:20 · 2412 阅读 · 0 评论 -
stm32中定义和声明问题
原创 2021-04-05 14:58:24 · 583 阅读 · 0 评论 -
Proteus仿真--51单片机最小系统
1.单片机的最小系统是由组成单片机系统必需的一些元件构成的,除了单片机之外,还需要包括电源供电电路、时钟电路、复位电路。下面着重介绍时钟电路和复位电路。1)时钟电路单片机工作时,从取指令到译码再进行微操作,必须在时钟信号控制下才能有序地进行,时钟电路就是为单片机工作提供基本时钟的。单片机的时钟信号通常有两种产生方式:内部时钟方式和外部时钟方式。内部时钟方式的原理电路如图所示。在单片机XTAL1和XTAL2引脚上跨接上一个晶振和两个稳频电容,可以与单片机片内的电路构成一个稳定的自激振荡器。晶振的取值原创 2021-02-21 18:52:19 · 11842 阅读 · 1 评论 -
51单片机学习——PWM
一.PWM:脉冲宽度调调制,它是按一定规律改变脉冲序列的脉冲宽度,以调节输出量和波形的一种调制方式。二.我们在控制系统中最常用的矩形PWM信号,在控制时需要调节PWN波的占空比(指的是高电平持续时间在一个周期时间内的百分比)。三.当用单片机IO口输出PWM信号时,可采用下面三种方法(1)利用软件延时。当高电平延时时间到时,对IO口电平取反得到低电平,然后再延时,当低电平延时时间到时,再对IO口电平取反,如此循环就可以得到PWN信号(2)利用定时器》控制方向如上,只是在这里利用单片机的定时间来定原创 2021-02-02 14:35:20 · 2334 阅读 · 1 评论 -
51单片机——使用DS18B20温度传感器设计温控系统
简单描述(1)DS18B20采用单线接口,它与微处理器连接时仅仅需要一条口线即可实现微处理器与DS18B20的双向通信。(2)引脚引脚定义GND接地VDD电源正极DQ信号的输入输出从此我们可以看出DS18B20和单片机的连接十分的简单,单片机用一个...原创 2021-02-01 15:37:30 · 4486 阅读 · 0 评论 -
51单片机——1602液晶显示
LCD显示原理 : 以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面。1602是字符型液晶,通过一个一个点阵来显示,由于每一个点阵之间会有很大的间隔因此不适合来显示图形,只能用来显示数字,字母和各种符号。1602 2行 每行16个字符...原创 2021-01-22 17:27:46 · 3815 阅读 · 1 评论 -
串口通信原理(1)
串行通信是将数据字节分成一位一位的形式在一条数据线上传送,8位依次传送一异步通信与同步通信*每一个字符内的各位是以相同时间间隔发送的2.同步通信:同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。此时,传输数据的位之间的距离为为间隔的整数倍。同步的两种实现方法3.串行通信的传输方式1.单工;一个方向2.半双工;两个方向单是要分时进行3.双工;同时进行4.传输速率比特率是每秒钟传输二进制代码的位数,单位是bps。...原创 2021-01-18 20:27:04 · 727 阅读 · 0 评论 -
定时器中断的一些小问题理解(自我记录)
刚刚学完计时器兴奋的不得了,那就赶紧写个最常见的计时器压压惊。当上手代码发现自己竟然忘了数码管怎么用的了(狗头),不管了不管了对着原理图一顿操作。en? ,那个那个60进制的时间表示用动态数码管怎么实现呢,是不是要用两个中断,就当我想要寻求大佬的时候我负隅顽抗了一下,从9到0的一个倒计时我总能写出来吧,果真我真的行。上代码`# include <reg51.h>typedef unsigned long u16;typedef unsigned char u8;u8 num[17]=原创 2021-01-17 15:16:00 · 860 阅读 · 2 评论 -
51单片机——定时器的原理和使用
定时器的原理1.cpu时序的有关知识震荡周期:为单片机提供定时信号的震荡源的周期(由外部的晶振)状态周期:2个震荡周期,用s表示机械周期 6个状态周期,12个震荡周期 (12MHz的晶振1us)指令周期 完成一条指令所占用的全部周期2. 51单片机有两组定时器/计数器,它们的执行不需要cpu的参与,独立。3.51单片机的定时器和计数器是根据机器内部的时钟或者是外部的脉冲信号对寄存器中的数据加1;4.提高了单片机的效率,简单的操作有定时器和计数器完成,cpu去处理更加复杂的事情。同时实现了精确原创 2021-01-16 21:33:33 · 14805 阅读 · 1 评论 -
中断系统的原理
一.中断的概念1.cup在处理某一件事情A时,发生了另外的一件事B请求CPU迅速去处理(中断发生)2.cpu暂停中断当前的工作,转去处理事件B3.待cpu将事件B处理完后,再回到原来的事件A被中断的地方继续处理事件A(中断返回)这一个过程叫错中断例图。优点1.分时操作:cpu可以分时为多个IO设备服务,提高了计算机的利用率2.实时响应:cpu能够及时处理应用系统的随机事件,系统的实时性大大的增强3.可靠性强51单片机中的中断系统结构:5个中断(1.)通过配置中断标志IEO或者是I原创 2021-01-16 11:23:47 · 2726 阅读 · 0 评论 -
继电器
继电器1.小电流去控制大电流的自动开关(5v可以来控制220v)。在电路中起到流自动调节、安全保护、转换电路的作用。(加热的设备达到一定温度停止加热)2.继电器内部有线圈和触点,线圈得电会使触电吸合3.内部结构4.(1)IN4148 续流二极管 防止其余设备被破坏,当开关闭合时线圈会积聚能量,当开关管关断时,续流电路可以释放掉变压器线圈中储存的能量。(单片机提供的是直流电,不是应为产生磁场,而是上面的电磁铁通电得到磁性,关电磁性消失)(2)VCC电源(3)DK led小灯检测继电器是否正常工作原创 2021-01-15 12:40:18 · 3460 阅读 · 1 评论 -
直流电机介绍
一.基本信息电压1-6V3v转速:17000-18000转每分钟单片机原理图直流电机的接入方法:在J47上直流电机上一个口接VCC另外一个口接任意一个输出口二.ULN2003 芯片1.此芯片用来驱动高电流,高电压的设备。就比如直流电机直接用单片机的IO口肯定是不能驱动的,因此我们借用这个芯片来实现对直流电机的驱动。2.主要特点500mA 额定集电极电流(单个输出)高电压输出:50V输入和各种逻辑类型兼容继电器驱动器3.逻辑框图注意其中的非门电路输入低电压输出高电压输入高电原创 2021-01-15 12:35:48 · 1967 阅读 · 0 评论 -
单片机LED点阵控制。
系列文章目录<font color=#999AAA文章目录系列文章目录前言一、74HC595芯片的说明及其使用二、LED点阵1就是视频中所说的把OE接地才能正常使用,而且视频当中都是很老的板子,还要直接连接也没注意,犯了错误;解决方案: 把短接的东西拔下来,把OE和地短接就okl...原创 2021-01-14 19:36:42 · 506 阅读 · 0 评论 -
2021-1-14 单片机点阵 l love you效果实现代码
#include "reg51.h" #include<intrins.h> typedef unsigned int uint; typedef unsigned char uchar; sbit SRCLK=P3^6;sbit RCLK=P3^5;sbit SER=P3^4;sbit pause=P3^3; uint i,j,m=0,w;char code love[]={ 0x00,0x81,0x81,0xFF,0x81,0x81,0x.原创 2021-01-14 19:19:52 · 1603 阅读 · 0 评论 -
关于intrins.h头文件的介绍
在单片机中应用最多的当然就是移位函数,利用移位函数可以更简便的实现流水灯等效果。移位函数移位函数名 左移 _crol_(移位对象,位数) ; 右移 _cror_(移位对象,位数);函数原型unsigned char _crol_(unsigned char val,unsigned char n); .unsigned char _cror_(unsigned char val,unsigned char n); 我们用常用这个移位来实现一个流水灯的效果,实现代码如下`原创 2021-01-13 21:21:00 · 10698 阅读 · 0 评论