- 博客(20)
- 收藏
- 关注
原创 温湿度采集与OLED显示
上电后要等待不少于100ms, 读取温湿度值之前, 通过发送0x71获取一个字节的状态字,如果状态字和0x18相与后不等于0x18,初始化0x1B、 0x1C、 0x1E寄存器, 详细初始化流程请参照官网例程;如果相等,执行下一步等待10ms发送0xAC命令(触发测量), 此命令参数有两个字节, 第一个字节为0x33,第二个字节为0x00等待80ms待测量完成,如果读取状态字Bit[7]为0, 表示测量完成, 然后可以连续读取六个字节;否则继续等待。
2024-06-23 19:26:31
1777
原创 基于I2C协议的OLED显示(利用U82G库)
U8g2是GitHub上一款十分优秀的开源图形库(GUI库),其本质是嵌入式设备的单色图形库。在 Github 上超过3.2K Star,2.6K Commit。其开发语言90%为C语言,且代码简洁干练便于移植与后期修改。
2024-06-11 22:34:15
881
原创 uc/OS-III多任务程序
3种物联网操作系统:Huawei LiteOS、Amazon FreeRTOS和RT-ThreadRTOS全称为:Real Time OS,就是实时操作系统,强调的是:实时性。实时操作系统又分为硬实时和软实时。硬实时要求在规定的时间内必须完成操作 ,硬实时系统不允许超时,在软实时里面处理过程超时的后果就没有那么严格。RTOS操作系统:UCOS,FreeRTOS,RTX,RT-Thread,DJYOS等。
2024-06-08 20:38:00
641
原创 定位器与PWM的LED控制
就是用来定时的机器,是存在于STM32单片机中的一个外设。STM32总共有8个定时器,分别是2个高级定时器(TIM1、TIM8),4个通用定时器(TIM2、TIM3、TIM4、TIM5)和2个基本定时器(TIM5、TIM6),如下图所示:这三种定时器的区别如下:高级定时器具有捕获/比较通道和互补输出,通用定时器只有捕获/比较通道,基本定时器没有以上两者。
2024-05-31 19:02:57
884
原创 HAL库LED点灯
CMSIS(微控制器软件接口标准):Crotex Microcontroller Software Interface Standard,是由ARM和与其合作的芯片厂商、软件工具厂商,共同制定的标准ARM官方提供的CMSIS规范架构ST最早的库,现在还在用目前只兼容 F0/F1/F3/F2/F4/L1 系列目前已停止维护ST目前主推的库全系列兼容兼容性好、移植方便,但效率不太高Low Layer与HAL库困捆绑发布全系列兼容轻量级、效率高。
2024-05-24 21:14:40
1036
1
原创 中端编程入门
1.68个可屏蔽中断通道,包含EXTI、TIM、ADC、USART、SPI、I2C、RTC等多个外设2. 使用NVIC统一管理中断,每个中断通道都拥有16个可编程的优先等级,可对优先级进行分组,进一步设置抢占优先级和响应优先级使能单片机中的使能通常指的是控制某个器件或模块的开关信号。例如,单片机中的GPIO口可以用来控制LED灯的亮灭,其中需要用到一个使能信号,即一个控制LED灯开关的信号。在程序中,通过设置GPIO口的状态(高电平或低电平)来控制LED灯的亮灭,从而实现使能的功能。
2024-05-19 23:00:05
1715
1
原创 UART串口通信协议
RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS(Recommended Standard)是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道。RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制。例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。
2024-05-12 22:31:59
1094
原创 stm32LED亮灭之寄存器地址版
输入输出端口的简称。可以通过软件控制其输出和输入。内部结构:主要功能:1、输入模式(模拟、上拉、下拉、浮空)在输入模式时,施密特触发器打开,输出被禁止。可通过输入数据寄存器GPIOx_IDR 读取 I/O 状态。输入模式可以配置为模拟、上拉、下拉以及浮空模式。上拉和下拉输入很好理解,默认的电平由上拉或者下拉决定。浮空输入的电平是不确定的,完全由外部的输入决定,一般接按键的时候可以使用这个模式。模拟输入则用于 ADC 采集。2、输出模式(推挽/ / 开漏)
2024-05-06 21:02:18
945
原创 单片机定时器与串口通信
利用T1的中断控制P1.7引脚输出频率为1kHz方波音频信号,驱动蜂鸣器发声。系统时钟为12MHz。方波音频信号周期1ms,因此T1的定时中断时间为0.5 ms,进入中断服务程序后,对P1.7求反。先计算T1初值,系统时钟为12MHz,则机器周期为1µs。1kHz音频信号周期为1ms,要定时计数的脉冲数为a。
2024-04-20 19:12:11
607
原创 51单片机——单总线温度采集
此温度计提供九位温度读数,指示器件的温度。信息经过单线接口送入DS1820或从DS1820送出,因此从中央处理器到DS1820仅需链接一条线和地线。读写和完成温度变换所需的电源可以由数据线本身提供,而不需要外部电源。因为每一个DS1820有唯一的系列号,因此多个DS1820可以存在于同一条单线总线上。这允许在许多不同的地方放置温度灵敏器件。此特性的应用范围包括HVAC环境控制,建筑物、设备或者机械内的温度检测,以及过程监视和控制中的温度检测。
2024-04-20 18:12:44
261
原创 51单片机——中断与定时计数
本次学习,学习了51单片机的中断系统与定时器、计数器原理,并且用c语言编程来实现。还使用普中开发板来验证了仿真结论。还学习了如何使用c语言编写函数指定时间间隔改变闪烁时间。
2024-04-07 17:14:56
2299
原创 汇编程序与周期性任务设计
硬件方面,对普中开发板的使用还不够得心应手,导致烧录的时候出了很多岔子,还需更多时间多家熟悉。代码学习方面,汇编语言的使用我个人感觉比c语言简单,但是指令很多,需要多使用,多记忆才能记住,而c语言我认为相对好懂,但是使用没有汇编语言方便,二者各有所长。还需学习的地方有很多。
2024-03-24 16:32:43
253
1
原创 Logisim设计CPU及ProteusLED流水灯汇报
首先打开Proteus,创建新的项目,输入所需芯片型号AT89C51,然后开始绘制电路,电路如下图;将10k的电阻改小是为了让灯泡更亮。
2024-03-08 13:47:28
286
1
原创 Verilog编程基础练习
根据功能分析,该工程只需实现一个3-8译码器的功能,所以设计一个模块即可。3-8译码器的输入信号共有3个,也就是可以输入8种不同的二进制编码,分别是000、001、010、011、100、101、110和111。对于每一种输入信号,3-8译码器都会产生对应的输出信号,输出信号共有8个,分别标识为Y0到Y7。从仿真分析角度来说wire对应于连续赋值,如assignreg对应于过程赋值,如always,initial。(1)代码生成的电路更为复杂,更为完整。(2)不可以把reg换成wire。
2023-12-17 19:41:38
112
1
原创 使用与非门搭建RS与D锁存器实验
前面RS触发器当输入R=1 S=1的情况的时候,输出是不确定状态,这种情况比较棘手,因此为了解决这个问题,又引入了D触发器。rs是最基础的时序电路中最基础的,需要认真学习透彻。(1)cp=0:G3、G4被封锁,D的变化不能传到G1、G2,触发器保持现状态。RS锁存器,我们可以把它理解为一个存储单元,可以储存一位数据(0或者1)。RS触发器中的R表示Reset(复位),S表示set(置位)。在RS触发器特征表中,0表示低电平,1表示高电平,若D=0,则RS =01,Q=0。若D=1,则RS=10,Q=1。
2023-11-21 19:34:47
661
1
原创 编码器-解码器电路以及multisim软件仿真
编码器的逻辑功能是将2的n次方个输入信号的高/低电平信号编成一个对应的n位二进制编码。而解码器作用则相反,是将一个N位二进制代码(N个输入信号)转译为2的n次方个输出的高/低电平信号(或者另一种代码)。目前经常使用的编码器有普通编码器和优先编码器两类。优先编码器(74LS148)功能表如下图所示:常用的译码器电路有二进制译码器、二-十进制译码器和LED显示译码器。除了CD4511之外,74LS48也是一种常用的七段数码管译码器。
2023-11-16 20:29:05
83
原创 基本逻辑门电路分析
注意不要看错芯片型号,以免出现不必要的实验差错,造成人力物力的资源浪费。用不同颜色的导线链接不同种类的部分会使电路连接更加清晰。
2023-10-24 21:06:21
74
原创 程序编译环境设置
此次我们学习了如何安装虚拟机,并且用虚拟机启动Ubuntu,还使用了Ubuntu编写了简单的c语言代码。其次,我们学习了十进制转二进制的程序编写。
2023-10-21 17:20:37
60
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人