自定义博客皮肤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)
  • 收藏
  • 关注

原创 【STM32】STM32通过I2C实现温湿度采集与显示

(2)主设备接着发送8bit数据,其中7位是从设备的地址,一位表示此次主设备是要读数据海思写数据;I2C通信时,分为主设备和从设备,其中主设备一个、从设备多个。主设备要主导整个通信过程,从设备根据I2C协议被动的响应主设备;在同一时间,只有主设备和其中一个从设备通信,其余的从设备处于等待状态,等待主设备与其通信;每个从设备在I2C总线上都有唯一的地址,主设备就是通过地址来区分不同的从设备,从而决定和哪一个从设备通信。SCL:时钟线,用于传输CLK信号,一般是I2C主设备向从设备提供时钟的通道。

2024-06-23 17:08:11 1266

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

在I2C总线上,可以同时连接多个设备,每个设备都有一个唯一的7位地址,用于在总线上唯一识别该设备。在发送一个字节之后,接着会接收一位应答位,SCL高电平时读取,SDA高电平为1非应答,低电平0为应答。在接收数据前,主机要先释放SDA,交由从机控制。在SCL低电平时SDA要先确定好发送的数据,在SCL上升沿时会立刻读取SDA的数据,然后在高电平期间,从机获取SDA的数据,然后SCL回到低电平。在接收一个字节之后,接着发送了一位应答位,SCL高电平时读取,SDA高电平1为非应答,低电平0为应答。

2024-06-11 23:21:35 1152

原创 STM32关于uc/OS-III的多任务程序

嵌入式实时操作系统是一个特殊的程序,是一个支持多任务的运行环境。实时操作系统最大的特点就是“实时性”,如果有一个任务需要执行,实时操作系统会立即执行该任务,不会有较长的延时。这次实验我们学习嵌入式实时操作系统(RTOS),以uc/OS为例,将其移植到stm32F103上,构建至少3个任务(task):其中两个task分别以1s和3s周期对LED等进行点亮-熄灭的控制;另外一个task以2s周期通过串口发送“hello uc/OS!欢迎来到RTOS多任务环境!记录详细的移植过程。

2024-06-08 22:38:38 1388

原创 【STM32】定时器与PWM的LED控制

定时器的定时时间主要取决于定时周期和预分频因子,计算公式为:定时时间=(ARR+1)×(预分频值PSC+1)/输入时钟频率或 T=(TIM_Period +1)*(TIM_Prescaler +1)/TIMxCLK这里ARR+1是因为计数器都是从0开始计数的。在PWM的一个周期内,定时器从0开始向上计数,在0-t1时间段,定时器计数器TIMx_CNT值小于TIMx_CCRx值,输出低电平;当定时器计数器的值TIMx_CNT达到ARR时,定时器溢出,重新从0开始向上计数,如此循环。

2024-05-31 16:09:54 1263

原创 【STM32】HAL库LED点灯

HAL库开发模式需要用到两个软件:STM32CubeMX用于外设功能模块的参数配置、生成相应编译器的工程代码;基于HAL库的开发方式,其实质是仍然是通过操作底层寄存器来实现相应功能,只是将寄存器操作进行了封装,以函数形式提供给开发人员使用。进行输出端口设置,选择PA3,PA4为GPIO_Output;点击Next,同意协议后点击Next,然后选择对应安装位置。安装成功后打开STM32Cube进行固件库安装。注:B1_EXTI指PB15;在mian.c中添加以下代码。选择对应的固件库进行安装。

2024-05-26 16:31:57 1167

原创 【STM32】中断编程入门

在main函数中判断send_enabled的值。计算机在执行程序过程中,当出现异常情况(断电等)或特殊请求(数据传输等)时,计算机暂停现行程序的运行,转向对这些异常情况或特殊请求进行处理,处理完毕后再返回到现行程序的中断处,继续执行原程序,这就是“中断”。中断向量表:当发生了异常或中断,内核要想响应这些异常或中断,就需要知道这些异常或中断的服务程序的入口地址,再由入口地址找到相应的中断服务程序。NVIC相关的配置主要包括配置中断优先级的中断分组,确定各具体中断的抢占优先级和响应优先级的大小。

2024-05-19 17:17:00 1117 1

原创 【STM32】stm32串口通信入门

尽管比按字节的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。指的是信号被调制以后在单位时间内的变化,如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为240Bd。如下图所示,由于RS-232电平标准的信号不能直接被控制器直接识别,所以这些信号会经过一个“电平转换芯片”转换成控制器能识别的“TTL校准”的电平信号,才能实现通讯。当计算机发送一个信息包,实际的数据往往不会是8位的,标准的值是6、7和8位。RXD连接在A9处;

2024-05-12 22:46:47 847 1

原创 stm32F103的LED亮灭

PA0-PA15: 16个通用I/O引脚,可用于输入/输出、外部中断、模拟输入等。PB0-PB15: 16个通用I/O引脚,可用于输入/输出、外部中断、模拟输入等。PC13-PC15: 3个通用I/O引脚,可用于输入/输出、外部中断等。PD0-PD2: 3个通用I/O引脚,可用于输入/输出、外部中断等。PE0-PE5: 6个通用I/O引脚,可用于输入/输出、外部中断等。PF0-PF1: 2个通用I/O引脚,可用于输入/输出、外部中断等。PA9/PA10: USART1的TX/RX引脚。

2024-05-06 22:51:17 1028 2

原创 DS18B20实现环境温度采集

DS18B20 是由 DALLAS 半导体公司推出的一种的“一线总线(单总线)”接口的温度传感器。与传统的热敏电阻等测温元件相比,它是一种新型的体积小、适用电压宽、与微处理器接口简单的数字化温度传感器。通过本次实验仿真,我们了解学习了DS18B20单总线接口的温度传感器,掌握了其基本构成及工作原理,了解到时序函数在传感器工作中显得尤其重要。时序不正确可能会导致温度显示异常。

2024-04-25 13:35:23 1775 1

原创 51单片机定时器与串口通信和普中开发板实现

输出:串口以方式1输出,数据位由TXD端输出,发送一帧信息为10位,1位起始位0,8位数据位(先低位)和1位停止位1,当CPU执行写数据到发送缓冲器SBUF的命令后,就启动发送。方式2:接收/发送11位信息,第0位为起始位,第1~8位为数据位,第9位是程控位,由用户设置的TB8位决定,第10位是停止位1,这是方式2与方式1的一个不同点。方式0以8位数据为1帧,没有起始位和停止位,先发送或接收最低位。每帧数据均为11位,1位起始位0,8位数据位(先低位),1位可程控为1或0的第9位数据及1位停止位。

2024-04-20 19:13:03 1357

原创 【51单片机】中断与定时计数

本次实验,通过学习51单片机的中断原理。了解到外部中断、定时器/计数器中断的编程方式。在外部中断中,了解发哦中断响应,中断优先级等相关知识,掌握二级中断和中断嵌套的具体应用编程。实现高级响应先于低级响应运行的效果。了解到定时器/计数器的工作原理,并对计数器初值计算,按键几次控制led灯点亮有了进一步的了解,对定时/计数中断服务进行了编程开发。

2024-04-07 14:24:03 1892

原创 汇编程序与周期性任务设计(使用延时函数点亮LED流水灯,实现汇编语言查找平方数)

该开发板是基于STC89C52 STC89Cxx 芯片,搭配数码管(共阴极);8×8的点阵屏;流水灯;扩展IO芯片(595);键盘;温度传感器等的学习套件。开发知识点-普中51-单核-A2单片机_普中51单片机开发板资料-CSDN博客首先进行驱动安装:(所有操作都需要连接普中开发板进行)下载PZ-SIP;打开PZ-SIP,若串口号显示如图,则证明驱动安装成功下载完成后,根据我们的芯片选择开发板对应的芯片类型,点击打开文件选择对应的".hex"或".asm"文件。

2024-03-24 15:19:04 1387 1

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

在下载的SDCC文件夹中找到"bin"文件,在其中创建led_test文件夹(这样我们后面在使用"led.hex"文件时可以更快速便捷的找到),将写好的"led.c"文件添加至led_test文件中。点击Save对代码进行保存;返回控制台,输入packihx led.ihx > led.hex将文件格式转换为".hex"的文件。在Proteus中双击芯片,并在Program File添加对应的".hex"文件。在Proteus中双击芯片,并在Program File添加对应的".hex"文件。

2024-03-16 20:22:16 952 1

原创 通过汇编语言和C语言实现51单片机点亮LED流水灯

在从P1、P2、P3中选择一个端口连接LED灯,并连接一个阻值为300Ω的电阻(10KΩ的电阻阻值太大,可能导致LED灯无法点亮)。在Proteus中双击芯片,并在Program File添加对应的".hex"文件。双击AT89C51芯片,并在Program File添加对应的".hex"文件。双击AT89C51芯片,并在Program File添加对应的".hex"文件。点击编译运行,检查代码是否正确,并生成".hex"文件。点击编译运行,检查代码是否正确,并生成".hex"文件。

2024-03-10 15:26:09 7865 3

原创 Verilog编程基础练习

(2) Verilog代码设计的3-8译码器模块的输出信号 为何要定义为 reg类型而不用默认wire(导线)类型?不可以改成wire类型,如果把 output reg [7:0] out 改为 output [7:0] out),会出现报错。(1)Verilog 综合生成的3-8译码器电路原理图与原始设计电路存在什么差异?所用到的电路元器件不同,并且Verilog生成的电路原理图对输出端口进行了封装,使线路更加简洁。8-bit全加器Verilog实现:将8个1-bit全加器关联起来。

2023-12-17 18:13:49 1015 1

原创 使用与非门搭建RS和D锁存器

RS触发器属于时序逻辑电路,其信号形成是由RS触发器将输出信号引回到输入信号,形成一个反馈。这样是的输出信号的状态不但取决于同时输入的输入信号状态,也与输出之前的状态相关。而我们平常学习的电路属于组合逻辑电路,它的输出状态值取决于同时输入的输入信号状态。

2023-11-21 19:12:37 2973 1

原创 编码器-解码器电路设计及Multisim软件仿真

编码器(Encoder)的逻辑功能是将2的n次方个输入信号的高/低电平信号编成。一个对应的n位二进制代码。译码器(Decoder)的作用正好与编码器相反,是将一个N位二进制代码(N个输入信号)转译为2的n次方个输出的高/低电平信号(或者另一种代码)。目前经常使用的编码器有普通编码器和优先编码器两类。优先编码器(74LS148)。常用的译码器电路有二进制译码器、 二–十进制译码器和LED显示译码器。

2023-11-15 23:11:33 822

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

掌握组合逻辑电路的分析与设计。掌握真值表、逻辑函数表达式、卡诺图化简基本概念和方法。

2023-11-03 18:14:27 597

原创 基本逻辑门电路分析实验——74LS20与74LS00

1.要注意接电和接地的引脚不要连接错误2.在连接74LS00电路时,需要用到两个74LS00电路,接电路板时不要连接错误。

2023-10-23 21:56:32 9453

原创 logisim设计实现4位二进制数的补码器电路

如:-15的补码=10001111(原码)->11110000符号位不变,其余位将0变1,1变0(反码)->11110001(补码)由两个半加器构成,除了最低位以外,在考虑二进制数相加的同时,还需要考虑低位的进位。如:+15的补码=00001111(第一位为符号位)正数时符号位为0,负数时符号位为1。将两个一位二进制数相加。负数补码:等于反码+1。

2023-10-22 13:00:48 1186 1

原创 下载Ubuntu并编写HelloWorld,DevC++编写十进制转二进制代码

点击免费下载,在安装虚拟机前需先提前查询该版本虚拟机支持的对应。中新建一个虚拟机,安装光 盘印象文件时选择下载的。中下载虚拟机,选择产品板块,点击。桌面 版,点击其他下载,下载。删除(剪切)当前位置到行尾的内容。删除(剪切)当前位置到行尾的内容。删除(剪切)光标以上的所有行。删除(剪切)光标以下的所有行。进入编辑模式,在新建文件中用。(二、)基本的文本编辑用语。进入命令模式,退出编辑模式。键退出编辑模式进入命令模式。选择好对应版本后选择。文本编辑,在光标前插入。,选择下载,点击下载。

2023-10-21 16:49:46 137 1

空空如也

空空如也

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

TA关注的人

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