- 博客(25)
- 收藏
- 关注
原创 [FGPA基础学习]分秒计数器的制作
四个施密特触发器的输出信 号,分别为KEY0、KEY1、KEY2、KEY3,直接连接到了Cyclone IV E FPGA。当按钮没有 被按下的时候,它的输出是高电平,按下去则给出一个低电平。之前提及到过,可以利用38译码器点亮7段数码管(其实只需要7段译码器即可),但是我们的输入情况有9种,所以七段译码器需要将4位BCD码转换为对应的段码;该开发板内置了一个50MHz的晶振,因此对于50MHz的时钟频率,时钟周期为20ns。• 按下KEY[1]后立即暂停,再次按下恢复。
2025-03-29 14:36:27
1005
原创 [FPGA基础学习]实现流水灯与按键暂停
else if (cnt == 50_000_000 - 1) begin // 计满1秒后复位。1s内点亮6个led,即等待前一个灯熄灭后1/6s=0.167s点亮下一个灯,所以代码编写如下。input key_pause, // 暂停/继续按键(低有效)// 点亮第一个LED。// 点亮第二个LED。// 点亮第三个LED。// 点亮第四个LED。// 点亮第五个LED。// 点亮第六个LED。
2025-03-27 22:03:46
723
原创 [FPGA基础学习]加法器、三八译码器及DE2-115基本使用方法和数码管显示
1.用包装盒里的USB 电缆将PC的USB端口和DE2-115开发板的USB Blaster连接器连接 起来,为了实现主机和开发板之间的通讯,必须安装USB Blaster 驱动软件。3.按下DE2-115主板上红色的电源开关OFF /ON重新上电,将DE2-115开发板的拨码开关SW19由PROG拨到RUN,就可以烧写程序了。2.在将12V的适配器连接到DE2-115主板前,按下红色的ON/OFF开关确保电源断开。每个数码管的字段都从0到6依次编号,下图给出了它们的编号次序。
2025-03-26 17:42:40
966
原创 温湿度采集与OLED显示
I²C(Inter-Integrated Circuit)总线是一种由Philips(现NXP Semiconductors)开发的简单的双向二线制串行总线协议。它允许微控制器和其他集成电路(ICs)进行短距离通信,主要用于连接低速的外围设备。I²C总线仅使用两条线路:一条串行数据线SDA(Serial Data Line)和一条串行时钟线SCL(Serial Clock Line)。这两条线通常通过上拉电阻连接到电源电压。
2024-06-18 13:27:42
1824
原创 基于I2C协议的OLED显示(利用U82G库)
目录一、I2C协议的基本原理和时序协议I2C通信协议的原理I2C时序基本单元I2C时序二、建立工程RCC配置TIM1配置时钟树配置工程配置三、U8g2移植精简u8g2_d_setup.c精简u8g2_d_memory.c编写移植函数stm32_u8g2.hstm32_u8g2.c四、实验1.U82G的demo例程2.显示网名昵称中文取模步骤3.滑动显示4.显示一个图案总结一、实验目的:1、了解I2C协议的基本原理和时序协议;2、掌握0.96寸OLED屏的工作原理,汉字点阵显示原理;3、掌握开源GUI
2024-06-09 16:58:18
1292
2
原创 uc/OS-III多任务程序
本次实验主要学习了stm32f103c8t6移植uC/OS-III操作系统的具体流程,并完成了多任务创建实现的实验要求。STM32F103基于HAL库移植uC/OS-III_ucos iii + hal移植到正点原子-优快云博客【STM32】Keil5在编译过程中出现.cannot open source input file “xxx.h“: No such file or directory的问题_keil no such file or directory-优快云博客。
2024-06-07 15:26:46
680
原创 定时器与PWM的LED控制
脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。通过实验加深对HAL库代码结构的认识,学习了如何在STM32CubeMX中配置定时器的时钟源、预分频值、自动重载寄存器等,以设定合适的定时周期。还了解如何配置定时器的通道为PWM输出模式,包括设置占空比、频率等。
2024-05-30 20:58:38
1045
原创 HAL库LED点灯
如果按正常的思路就是,在进入中断函数后,判断中断的触发方式,然后做响应的处理,但是由于下降沿触发中断时,要求我们执行LED灯闪烁,按照这种思路那必然要在中断里面写while循环、延时函数,就会导致中断函数的执行时间过长,一般中断里停留的时间不要过长,快进快出,一般中断只是做个标记,具体执行还是放到主函数去执行,不是放在中断函数里面执行。有__weak修饰表示这个函数是弱函数,它可以被同名的函数覆盖(我们需要在用户文件中,自己再定义一个一模一样的函数,只是我们自己定义的函数,不需要指明是弱函数)
2024-05-24 10:35:02
1310
原创 stm32串口通信入门
本次实验收获很大,学会了stm32串口通信的一些基本操作,但是在keil仿真计算波特率时,结果与我自己设置的波特率9600不吻合,但是在波形仿真的时候得出了每传输1bit所需的时间,为69.444微秒,即14400的波特率,与参考表高度吻合,我相信这不是巧合,应该波形仿真时系统默认的波特率为14400,只是我没有找到切换的方法,关于这点还希望大家多多指点。STM32串口通信—串口的接收和发送详解_stm32串口的tx和rx-优快云博客。
2024-05-12 14:22:38
897
原创 stm32F103的LED亮灭之版本1(寄存器地址版)
用寄存器进行编程需要依靠STM32F103参考手册去查找地址,编程方式比较原始,麻烦,但是能让我们懂得一些底层原理,帮助我们更好地理解和学习stm32参考资料:1.STM32 GPIO的配置寄存器(CRL、CRH)快速学习_gpioa->crh-优快云博客2.STM32F103的流水灯点亮版本1(寄存器地址操作)_pc13推挽输出-优快云博客3.【寻址方式】基地址与偏移地址的详细解释-优快云博客。
2024-05-04 15:14:03
1098
原创 单总线温度采集
概述:DS18B20 是由 DALLAS 半导体公司推出的一种的“一线总线(单总线)”接 口的温度传感器。与传统的热敏电阻等测温元件相比,它是一种新型的体积小、 适用电压宽、与微处理器接口简单的数字化温度传感器特点:1、适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据 线供电。2、独特的单线接口方式,DS18B20 在与微处理器连接时仅需要一条口线即 可实现微处理器与 DS18B20 的双向通讯。
2024-04-22 18:54:16
910
原创 单片机定时器与串口通信
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两 种类型。我们开发板上使用的蜂鸣器是无源(蜂鸣器内部没有振荡电路)蜂鸣器,属于压电式蜂鸣器类型,有 源蜂鸣器内部自带振荡电路,只需提供电源即可发声,而无源蜂鸣器则需提供一 定频率的脉冲信号才能发声,频率大小通常在 1.5-5KHz 之间。更多具体可以查看参考手册第十章(蜂鸣器实验)链接:https://pan.baidu.com/s/1MLQqkSWsm1Ibt1R8i6HS-w提取码:9962。
2024-04-20 16:16:00
963
原创 中断与定时计数
知道下列一些概念以后可以让我们读懂本次实验的一系列代码,当然你也可以直接跳过此处,遇到看不懂的部分再返回查找。中断:在计算机科学和硬件设计中,是一种处理机制,当计算机系统检测到一个需要立即处理的外部或内部事件时,它会暂停当前正在执行的任务并转而去执行一段专门处理该事件的程序代码,完成中断服务后CPU(中央处理器)会恢复先前被打断的任务,从暂停的地方继续执行。定时器:在8051系列单片机中,定时器是16位的,由TH1(高8位)和TL1(低8位)两个寄存器组成;
2024-04-07 15:57:28
1750
1
原创 汇编程序与周期性任务设计
知道了DJN指令的含义就可以理解DELAY函数了:从第8句开始执行,将通用寄存器R7,R6赋值为250,然后循环执行第11句"D2:DJNZ R6,D2"对R6进行递减操作,当R6为0时执行第十二句“DJNZ R7,D1”让R7的值减一,并跳转到第10句继续执行,直到R7为0(二重循环)。如果外部晶振频率为12MHz,则一个指令周期的时间大致为1μs,执行”MOV R6,#250和“DJNZ R6,D2”的时间分别是2μs、2μs。的初始值为 0,则递减该值将导致其重置为 255(0xFF十六进制)。
2024-03-24 16:00:20
961
1
原创 51单片机架构与汇编指令
汇编指令如下:运行结果:先创立文本文档,保存将后缀改为asm,再将led51.asm加入工程点击魔法棒,选择output一栏,将create HEX file 一项勾选编译生成hex文件连接好电路双击单片机,打开“编辑元件窗口”,添加HEX文件。51汇编语言如下:点击运行,可以看到LED灯从D8到D1依次被点亮:c语言代码:电路连接:开始仿真,LED灯从D1到D8依次被点亮,如下:使用51汇编语言实现LED控制时,需要对硬件资源和指令集有深入理解,编写出的代码更接近机器语言,执
2024-03-10 17:24:42
322
1
原创 Verilog编程基础练习
通过本次实验我掌握了Verilog编程语言的三种建模方式,其中门级建模(结构化建模)方式直接反映了硬件电路的结构,使得设计者可以精确地控制每个组件的连接关系,而行为建模更加抽象,更关注电路的功能,而不是具体的硬件结构。
2023-12-17 20:42:39
109
1
原创 触发器电路仿真与硬件实现
通过这次实验我知道了SR锁存器,D触发器的基本电路和功能。用硬件实现电路比logisim上进行仿真实验更困难(特别是在连线多的时候),我觉得仿真实验和硬件操作都十分重要,通过仿真实验我可以快速地搭建模拟电路,了解它的基本逻辑。在硬件的实际操作中提高自己的动手能力。
2023-11-20 21:28:35
369
1
原创 编码器-解码器电路设计及Multisim软件仿真,并制作四路抢答器
通过这次实验,我学习并掌握了mutisim的基本使用方法;在mutisim里用开关控制高低电位的输出,这次实验的病房求助电路与实际生活十分贴切,让我看到了电子技术在现实生活中的应用。74LS48的概述、电路图、引脚及功能基于74LS148的简单四路抢答器 Multisim基于74LS148用Multisim仿真做8路抢答器基于Multisim的八路抢答器仿真电路设计74LS147编码器高级应用-病房呼叫系统-Multisim仿真。
2023-11-14 19:31:46
1529
1
原创 组合逻辑电路的分析与设计(用与非门设计表决电路,并用LED灯显示同意票数)
逻辑电路的化简,可以让我们在实际应用的时候,用尽可能少的器件达到我们的预期效果,节约了成本;Logisim的“分析组合逻辑电路”节省了我们作图的时间;真值表、逻辑函数表达式、卡诺图化简可以帮助我们更好地理解逻辑函数的行为,并且提高逻辑设计的效率和准确度。
2023-10-31 17:15:30
2773
1
原创 基本逻辑门电路硬件验证与仿真分析
与非门的单独实验,组合电路实验,结果说明了其工作原理。通过与非门实验,我深入并理解了逻辑门的工作原理,我以后会将其拓展到更复杂的电路设计中。逻辑门是数字电子电路的基础,是计算机和其他数字设备中各种逻辑功能的基础。
2023-10-21 21:18:54
470
1
原创 (虚拟机)使用virtualbox安装Ubuntu并用Linux编辑器vim输出helloworld
4.这个命令会用vim软件打开文件名为hello11.c的文件,如果该文件不存在工作目录,则vim软件会自动新建一个名为hello11.c的文件。2、点击运行,关闭跳出的窗口,这时“视图“ 里的“自动调整显示尺寸”变亮了,点击就可以是显示窗口自动填满界面。(意思是保存退出),按enter.2.名称,文件夹都可以自选,但不要选择c盘,虚拟光盘选择我们在清华大学镜像下载的那个。1、点击设备,选择“安装增强功能”,点击运行,输入自己的账户密码。可以打开电脑的设置,点击关于,查看自己的电脑是几位的。
2023-10-20 18:25:58
926
2
怎么优化程序才能减少运行时间
2022-11-16
怎么改程序才能变为我纸上写的形式
2022-10-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人