自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 温湿度采集与OLED显示

软件I2C,又称为模拟I2C,是通过微控制器的通用输入输出(GPIO)引脚,由软件程序模拟I2C协议的时序来实现的。软件I2C的优势在于灵活性高,可以在没有硬件I2C模块的微控制器上实现I2C通信,或者在硬件I2C模块被占用时作为一种替代方案。使用硬件I2C时,开发者通常只需要通过硬件寄存器配置I2C模块的参数(如时钟速度、设备地址等),然后通过硬件I2C模块提供的接口进行数据的读写操作。//CRC校验后,读取AHT20的温度和湿度数据。

2024-06-29 22:12:29 755

原创 ucOS-III多任务程序

任务间通信与同步:为了在任务之间进行有效的通信,uC/OS提供了多种机制,如信号量、互斥量和消息队列。在uC/OS中,每个任务都被赋予一个优先级,系统根据任务的优先级来决定哪个任务应该运行。它使用了一种基于优先级的抢占式调度策略,高优先级的任务可以打断低优先级的任务。uC/OS的核心是一个抢占式多任务内核,它支持任务的优先级调度。中断管理:中断管理是嵌入式系统的一个重要方面,uC/OS通过快速中断处理机制来响应中断,并且提供了能够在中断服务例程(ISR)中使用的系统调用。中的以下图中的8个文件添加到。

2024-06-14 19:44:23 924

原创 基于I2C协议的OLED显示(利用U82G库)

0.96寸OLED屏通常具有较低的分辨率,因此显示的汉字可能需要使用较小的点阵尺寸,如12x12或16x16。在显示汉字时,OLED屏幕的优势在于其高对比度和宽视角,使得汉字即使在不同的观看角度下也能清晰显示。SDA上的数据在SCL为高电平时必须是稳定的,只有在SCL为低电平时,SDA上的数据才允许改变。个汉字的点阵图案被映射到一个二维阵列中,阵列中的每个点对应屏幕上的一个像素。从的串行通信协议,用于连接低速的外围设备。当SCL为高电平时,SDA由高电平向低电平跳变,表示一个数据传输的开始。

2024-06-11 22:56:11 759

原创 定时器与PWM的LED控制

占空比(Duty Cycle)是指高电平持续时间与整个周期时间的比例。占空比的范围通常是0%到100%,当占空比为0%时,输出电压为0;PWM(Pulse Width Modulation,脉冲宽度调制)是一种常用的信号控制技术,通过调制脉冲的宽。STM32F103拥有多种定时器,包括高级定时器(TIM1和TIM8)、通用定时器(TIM2、TIM3、PWM信号是一种周期固定、宽度可变的脉冲信号。TIM4、TIM5)和基本定时器(TIM6和TIM7)。脉冲宽度调制(PWM):控制电机速度或LED亮度。

2024-05-31 15:41:43 507

原创 HAL库LED点灯

RCC:SYS:GPIO_OUTPUT:Clock Configuration:Project Manager:在while(1)中输入:HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET); // 灯1亮HAL_Delay(1000); // 延时1sHAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET); // 灯1灭Keil编译:GPIO:SYS:EXIT:Keil编译:

2024-05-24 21:02:42 147 1

原创 中断编程入门

/ 等待发送数据寄存器为空。if (USART1->SR & USART_SR_RXNE) { // 检查接收数据寄存器非空。

2024-05-19 22:28:46 814 1

原创 stm32串口通信入门

TTL到RS-232转换:由于TTL电平和RS-232电平不兼容,CH340芯片内部进一步将这些TTL电平的串行数据信号转换为RS-232电平的信号,这样就可以与遵循RS-232标准的设备进行通信。CH340芯片将接收到的RS-232电平信号转换为TTL电平,然后再将TTL电平信号转换为USB协议格式的数据,通过USB接口发送到计算机。RS-232电平:在RS-232标准中,逻辑“1”用-3到-15伏特之间的电压表示,而逻辑“0”用+3到+15伏特之间的电压表示。// 使能GPIOC时钟。

2024-05-12 22:21:16 545 1

原创 stm32F103的LED亮灭

寄存器,例如引脚PA2与PB8的高低电平数据(1或0)肯定放在不同的寄存器里,那么怎么区分不同的寄存器呢?通过地址,不同的寄存器有不同的地址,就像老张行李寄存处在101号店铺,老王行李寄存处在258号店铺。LED控制函数:A_LED_LIGHT、B_LED_LIGHT和C_LED_LIGHT分别用于设置三个LED的状态。器码都是0或1,只是特别的规定下,数据寄存器里面存放的0和1表示数据,指令寄存器里存放的表示指令。存放数据的寄存器是最好理解的,如果你需要读取一个数据,直接到这个寄存器所在的地方来。

2024-05-06 19:35:49 560

原创 单总线温度采集

统的热敏电阻等测温元件相比,它是一种新型的体积小、适用电压宽、与微处理器接口简单的数字化温度传感器。--------------初始化函数----------------------------------写一字节函数--------------------------------读取温度函数--------------------------------读取一字节函数----------------//写"1" 在15微秒内拉低。//写"0" 拉低60微秒。

2024-04-25 15:40:21 637 1

原创 单片机定时器与串口通信

乙机接收到的8位二进制数据有可能出错,需进行奇偶校验,其方法是将乙机的RB8和PSW的奇偶校验位P进行比较,如果相同,接收数据;方波音频信号周期1ms,因此T1的定时中断时间为0.5 ms,进入中断服务程序后,对P1.7求。用2位数码管显示计时时间,最小计时单位为“百毫秒”,计时范围0.1~9.9s。T0定时时间定为50ms,采用中断方式进行溢出次数累计,满20次,则秒计数变量second加1;第3次按一下计时功能键,秒表清0。第2次按一下计时功能键时,停止计时,将计时的时间值送到数码管。

2024-04-21 18:18:53 786 1

原创 中断与定时计数

【代码】中断与定时计数。

2024-04-07 23:26:17 196

原创 汇编程序与周期性任务设计

假设时钟频率为 1 MHz,那么 LED 灯大约每隔 5 x 1/1,000,000 = 5/1,000,000 秒变化一次状态,约等于 5微秒。假设 Delay 函数的循环次数为 N,每次循环包含两条指令,即 “MOV R6, #250” 和 “DJNZ R6, D2”,所以 Delay 函数的总时钟周期数为 1us + 4us = 5us。对于指令 “MOV R6, #250”,其指令周期数为1,时钟周期数为1,所以对应的时钟周期总数为 1 x 1 = 1us。

2024-04-01 20:32:54 282

原创 基于SDCC和Edsim51的代码仿真

打开Windows命令提示符,输入“d:”等进入相应硬盘,再输入“cd ”及上述.c文件地址进入对应的代码路径。for (j = 0;for (j = 0;// 将P1端口置为低电平,LED点亮。P1 = 0xFF;// 将P1端口置为高电平,LED熄灭。P1 = 0xFF;delay(500);// 延时500毫秒。delay(500);// 延时500毫秒。

2024-03-17 17:31:05 579 1

原创 51单片机架构与汇编指令

S1: (RL为累加器循环左移,故设置P2的状态,需要先将P2的给累加器A。MOV P2,#0FEH (P2端口与LED灯相连,设置灯的初始状态为1111 1110,即D0亮。MOV P1, # 0xFF:将0xFF这个数据存入P1端口,以点亮所有LED灯。MOV R0,#50H (给R0,R1赋初值,用于延时函数的循环次数。P1:51单片机上的一个I/O端口,用于控制LED灯。0xFF:十六进制数,表示所有的LED灯都点亮。

2024-03-10 18:31:48 452 2

原创 Verilog编程基础练习

2)Verilog中,reg寄存器类型用于always模块内被赋值的信号,wire导线类型用于always模块内未被赋值的信号。3-8译码器模块的输出信号out是在always块中被赋值的,所以应定义为reg类型,不能改成wire类型。不能将output reg [7:0] out改为output [7:0] out,因为wire类型的信号可以有多个驱动器,而reg类型的信号只能有一个驱动器。1)两者的电路总体思路一致,差异在于Verilog的电路图将中间接线部分合为一个整体。仿真测试结果与真值表一致。

2023-12-17 19:00:17 371 1

原创 触发器电路仿真与硬件实现

RS锁存器/RS触发器可理解为一个存储单元,可以存储一位数据(0或1)。

2023-11-20 23:25:07 81 1

原创 组合逻辑电路的分析与设计

7段数码显示管是由7个单独LED二极管组合而成,常用来显示0-9这些数字,它可以用4个输入项A-B-C-D和7个输出项a-g的逻辑关系真值表来表示。用”与非“门设计一个表决电路:当四个输入端ABCD中有三个或四个为1时,输入端才为”1“。

2023-11-16 12:53:53 454 1

原创 编码器解码器电路设计

编码器(Encoder)的逻辑功能是将2的n次方个输入信号的高/低电平信号编成一个对应的n位二进制代码。译码器(Decoder)的作用正好与编码器相反,是将一个N位二进制代码(N个输入信号)转译为2的n次方个输出的高/低电平信号(或者另一种代码)。假如有四个病房,四个病人的病情情况不同,分别对应优先级:最高、高、中、低。优先级低的会被优先级高得中断,可以用LED灯的亮灭或者LED数码管情况来代表病人的求助与否。

2023-11-15 20:47:01 120

原创 基本逻辑门电路分析

选用74LS20四输入端两与非门一个,74LS20芯片14引脚接入+5V,74LS20芯片7引脚接入地0V,并按图1-1接线,按表1-1改变A、B、C、D的状态,观察输出端Y的状态,并记录数据。选用74LS00二输入端四与非门两个,74LS00芯片14引脚接入+5V,74LS00。数字电路实验箱,74LS00二输入端四与非门,74LS20四输入端两与非门。芯片7引脚接入地0V,并按图1-2接线,改变A、B、C、D的状态,观察输。出端Y的状态,并记录数据在表1-2。

2023-10-24 22:50:40 37

原创 二进制数原码-反码和补码的数字电路

2) 负数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1。1位全加器接受三个输入:两个待相加的位(A和B),以及来自前一位的进位(C_in)。2)进位(C_out)输出有两部分组成,一部分是A和B的与(AND)运算结果,另一部分是(A和B的)异或运算结果与C_in的AND运算结果,然后再通过或(OR)运算得出。它可以将两个输入位(A和B)相加,并产生两个输出:和(S)和进位(C)。2)进位(C)输出是输入位的与(AND)运算结果,然后再与(NOT)运算结果。

2023-10-22 20:41:52 98 1

原创 程序编译环境设置

用于在文件或标准输入中查找匹配的文本的命令,支持多种正则表达式和选项。:用于实时监控系统进程和资源占用情况的命令,支持交互式操作和多种选项。:用于显示文件或目录磁盘空间占用情况的命令,支持多种选项和格式。:用于显示文件系统磁盘空间占用情况的命令,支持多种选项和格式。:用于显示当前目录下文件和目录列表的命令,支持多种选项和格式。:用于在 Ubuntu 中安装、升级、删除软件包的命令。:用于显示系统进程的命令,支持多种选项和格式。:用于创建新目录的命令,支持多种选项。:用于切换当前工作目录的命令。

2023-10-22 17:24:50 48 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除