自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 温湿度采集与OLED显示

软件I2C,也称为“位敲击”(Bit-Banging),是指通过软件控制普通GPIO(通用输入输出)引脚模拟I2C协议的时序。在这种方法中,程序员需要精确控制GPIO的高低电平变化来模拟SCL和SDA线上的信号,包括起始信号、停止信号、数据位和应答位等。软件I2C的特点包括:1.灵活性高:可以使用任何可用的GPIO引脚,适合没有硬件I2C控制器的平台或需要在不支持的引脚上实现I2C通信的场合。2.可移植性强:因为完全基于软件,所以容易在不同硬件平台上实现。

2024-06-23 21:44:24 447

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

具体步骤清参考文章:https://blog.csdn。

2024-06-07 01:50:02 313

原创 uc/OS-III多任务程序

其中两个task分别以1s和3s周期对LED等进行点亮-熄灭的控制;另外一个task以2s周期通过串口发送。欢迎来到RTOS多任务环境!记录详细的移植过程。里修改堆空间的宏定义,它原本是 27K,但这块板子RAM一共才20k,修改为5k。

2024-06-06 23:07:24 379

原创 定时器与PWM的LED控制

脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。

2024-06-01 19:41:59 570

原创 HAL库LED点灯

在没有示波器条件下,使用Keil的软件仿真逻辑分析仪功能观察LED管脚的时序波形,分析上面作业按键中断时,LED灯的波形变化情况。重做上一个LED流水灯作业,用GPIO端口完成2只LED灯的周期闪烁。在main.c中添加代码。

2024-05-24 21:16:23 272 1

原创 中断编程入门

EXTI可以监测指定GPIO口的电平信号,当其指定的GPIO口产生电平变化时,EXTI将立即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使CPU执行EXTI对应的中断程序。AFIO:在STM32中,AFIO主要完成两个任务:复用功能引脚重映射(当需要使用PA9和PA10口时,就可以把USART1的管脚进行重映射,PB6,PB7(查表))、中断引脚选择。NVIC的中断优先级由优先级寄存器的4位(0~15)决定,这4位可以进行切分,分为高n位的抢占优先级和低4-n位的响应优先级。

2024-05-19 18:48:51 967 1

原创 stm32F103的LED亮灭之版本1(寄存器地址版)

目录一. 实验目的:二、STM32介绍1、STM32F103C8T62、GPIOx端口的各寄存器地址三.实验的实现仿真代码:proteus仿真:烧录:1、了解stm32f103c8t6最小核心板的主要引脚接口;2、掌握Keil 开发stm32程序的环境搭建和设置;3、使用GPIO引脚,外接LED灯,编写程序让LED灯周期性亮灭。核心板原理图:端口配置低寄存器(GPIOx_CRL)(x=A…E)端口配置高寄存器(GPIOx_CRH)(x=A…E)端口输入数据寄存器(GPIOx_IDR)(x=A…E)端口输出数

2024-05-05 20:53:42 410

原创 单总线温度采集

当DS18B20采集的温度为+125℃时,输出为0x07d0,则: 实际温度=(0x07d0)/16=(0×163+7×162+13×161+0×160)/16=125℃ 当DS18B20采集的温度为-55℃时,输出为0xfc90,由于是补码,则先将11位数据取反加1得0x0370,注意符号位不变,也不参加运算,则 实际温度=(0x0370)/16=(0×163+3×162+7×161+0×160)/16=55℃ 注意,负号则需对采集的温度进行判断后,再予以显示。

2024-04-20 17:56:45 858

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

可将T0定时时间定为50ms,采用中断方式进行溢出次数累计,满20次,则秒计数变量second加1;用2位数码管显示计时时间,最小计时单位为“百毫秒”,计时范围0.1~9.9s。当第1次按一下计时功能键时,秒表开始计时并显示;第2次按一下计时功能键时,停止计时,将计时的时间值送到数码管显示;方波音频信号周期1ms,因此T1的定时中断时间为0.5 ms,进入中断服务程序后,对P1.7求反。在实物实验时,如果不能找到两个普中单片机,用笔记本电脑的串口助手程序代替其中一个单片机,实现课件上描述的主要功能。

2024-04-20 17:03:48 814

原创 中断与定时计数

要求K1和K2都未按下时,P1口8只LED呈流水灯显示,当按一下K1时,产生一个低优先级外中断0请求(跳沿触发),进入外中断0中断服务程序,上下4只LED交替闪烁。要求K1和K2都未按下时,P1口的8只LED呈流水灯显示,仅K1(P3.2)按下再松开时,上下各4只LED交替闪烁10次,然后再回到流水灯显示。每按一次按钮开关K1,使引脚接地,产生一个低电平触发的外中断请求,在中断服务程序中,让低4位的LED与高4位的LED交替闪烁5次。请你思考,换一种更合理的方式,不在中断函数使用延时循环,实现同样的功能。

2024-04-07 21:21:55 996

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

使用上述步骤2.采用汇编语言与C语言两种方式点亮LED灯中(1)使用SDCC将C语言程序转换为执行程序(.hex)的方法,建立一个led2.c并将led2.c转换为led2.hex后Load到EdSim51中,将更新频次改变到50000更加便于观察,进行试验。在EdSim51中点击Load,将led1.hex文件打开,然后点击Run。频次为10000时,LED灯发亮,成功。LED灯闪烁,成功。LED灯闪烁,成功。LED灯点亮,成功。LED灯点亮,成功。LED灯闪烁,成功。LED灯点亮,成功。

2024-03-16 19:01:22 760 1

原创 实验一:51单片机

目录 一、安装Proteus8软件,使用AT89C51单片机的外部引脚,点亮1个LED灯。采用汇编指令完成二、采用多个LED,设计一个LED流水灯电路,分别用51汇编语言和C语言编程,实现流水灯正常工作。根据51单片机的存储器和外设地址编码原理,汇编指令格式,解释你设计电路原理图、和程序代码的思想。1.首先通过对Proteus8软件功能的学习,将AT89C51、LED灯、电阻等元件按照一定的方式连接起来,组成一个流水灯的电路。最终电路图位:2.通过使用KeilC51软件来编写能够使流水灯电路运行的程序。(1

2024-03-10 22:38:04 376 1

原创 实验七:练习

如果将output reg [7:0] out改为output [7:0] out,会出现“Multiple drivers”错误,因为wire类型的信号可以有多个驱动器,而reg类型的信号只能有一个驱动器。学习教材上的 并行加法器原理(先行进位加法器),参考附件资料,完成一个16位ALU(算术逻辑单元)的电路设计,采用Verilog设计模式,生成RTL电路。答:verilog综合生成的电路将内部的基本门电路进行封装,只通过输入与输出来观察相应的功能,简化了操作;仿真测试生成的结果是否与真值表一致?

2023-12-17 18:29:41 850 1

原创 程序编译环境设置

若为下载vim,则在终端输入“sudo apt-get install vim”回车然后输入登录密码,则开始下载。在终端输入“sudo apt-get install build-essential”回车。1.打开虚拟机,进入Ubuntu桌面,按住Ctrl+Alt+T进入终端。

2023-11-25 00:50:58 355

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

RS锁存器是时序电路中最基础的,所以务必学的透彻。注:有些资料上把RS锁存器也称为RS触发器)RS锁存器,我们可以简单将它理解为一个存储单元,可以存储一位数据(0或者1基本的RS锁存器可以用两个或者实现:RS触发器 中的R表示Reset(复位),S表示Set(置位)在上面的“RS触发器 特征表中:0表示低电平,1表示高电平。对于 或非门 的RS触发器,即:R=1S=0时,那么Q0R=0S=1时,那么Q。

2023-11-20 20:37:12 78 1

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

编码器(Encoder)的逻辑功能是将2的n次方个输入信号的高/低电平信号编成一个对应的n位二进制代码。译码器(Decoder)的作用正好与编码器相反,是将一个N位二进制代码(N个输入信号)转译为2的n次方个输出的高/低电平信号(或者另一种代码)。假如有四个病房,四个病人的病情情况不同,分别对应优先级:最高、高、中、低。通过问题可知,当最高位灯亮起时,优先级最高,最高位灯不亮时高位灯优先级最高,最高位灯和高位灯不亮时中位灯优先级最高,只有当最高位、高位、中位灯都不亮时才亮低位灯。

2023-11-16 20:25:27 43

原创 实验三: 组合逻辑电路的分析与设计

掌握组合逻辑电路的分析与设计。掌握真值表、逻辑函数表达式、卡诺图化简基本概念和方法。使用中、小规模集成电路来设计组合电路是最常见的逻辑电路。设计组合电路的一般步骤如图3-1所示:图3-1组合逻辑电路设计流程图根据设计任务的要求建立输入、 输出变量, 并列出真值表。然后用逻辑代数或卡诺图化简法求出简化的逻辑表达式。并按实际选用逻辑门的类型修改逻辑表达式。根据简化后的逻辑表达式, 画出逻辑图, 用标准器件构成逻辑电路。最后, 用实验来验证设计的正确性。

2023-11-03 16:11:11 200

原创 基本逻辑门电路硬件验证与仿真分析

3.在器械上进行实操前,可以对连接所用的线路进行检查,防止因导线问题,导致是从数据与logisim仿真软件上的数据有所差异。1.首先,在器械上进行操作前,可以在logisim仿真软件上进行实验,以确保在实操当中通过对比数据来避免失误。在与非门中只要任意一个输入点为0,那么输出都为1;2.在器械上进行实操时需要注意线路的连接是否正确,避免因错误连接导致电路短路等问题出现。熟悉基本逻辑门电路的组合功能和分析方法。、测试逻辑电路的逻辑功能。四输入端两与非门一个,二输入端四与非门两个,的状态,并记录数据在表。

2023-10-25 00:29:17 51

原创 logisim实现全加器,以及实现二进制原码输出补码

1.全加器是指对输入的两个二进制数相加(A与B)同时会输入一个低位传来的进位(C),得到和数(D)和进位(E);(2)加数A与B的异或运算结果S1与进位加数进行与运算,加数A与B进行与运算,两个运算的结果通过或门来组成最后的进位加数结果E,算术表达式为E = BC + AC + AB。半加器是指对输入的两个一位二进制数相加(A与B),输出一个结果位(D)和进位(C),没有进位的输入加法器电路,是一个实现一位二进制数的加法电路。(1)加数A与B通过异或运算后的结果与加数Cin进行异或运算,即D=A⊕B⊕C。

2023-10-22 03:14:57 439

空空如也

空空如也

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

TA关注的人

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