自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 DDS信号发生器设计

其读写速度是由时钟频率决定的。PLL 的时钟输入可以是PLL 所在的 Bank 的时钟输入管脚或者其他 PLL 的输出,FPGA 内部产生的信号不能驱动PLL。FPGA使用的FIFO一般指的是对数据的存储具有先进先出特性的一个缓存器,常被用于数据的缓存或者高速异步数据的交互,也即所谓的跨时钟域信号传递。它与FPGA内部的RAM和ROM的区别是没有外部读写地址线,采取顺序写入数据,顺序读出数据的方式,使用起来简单方便,由此带来的缺点就是不能像RAM和ROM那样可以由地址线决定读取或写入某个指定的地址。

2025-04-15 17:05:56 442

原创 状态机思想编程

3、输入:指状态机中进入每个状态的条件,有的状态机没有输入条件,其中的状态转移较为简单,有的状态机有输入条件,当某个输入条件存在时才能转移到相应的状态。2、输出:输出指在某一个状态时特定发生的事件。1.创建一个具有两个 2 位输入A[1:0]和B[1:0]的电路,并产生一个输出z。根据状态机的输出是否与输入条件相关,可将状态机分为两大类:摩尔(Moore)型状态机和米勒(Mealy)型状态机。状态机的基本要素有 3 个,其实我们在第一节的举例中都有涉及,只是没有点明,它们是:状态、输出和输入。

2025-04-04 19:44:53 914

原创 分秒计数器设计

基本结构:数码管通常由7段(或8段)LED条形发光单元组成,排列成“8”字形,每段命名为 a、b、c、d、e、f、g(第8段为小数点“dp”)。共阳极:所有LED的阳极(正极)连接在一起接高电平(VCC),阴极(负极)分别控制。分钟十位 (min_tens):如果 min_tens == 5(即 59:59),则归零(最大显示 59:59)。共阴极:所有LED的阴极连接在一起接地(GND),阳极分别控制。秒十位 (sec_tens):如果 sec_tens == 5(即 59秒),则归零,并触发分钟进位。

2025-04-01 22:14:06 1003

原创 温湿度采集与OLED显示

而软件I2C具有灵活性高和可移植性强的特点,适用于没有硬件I2C支持或需要扩展硬件I2C功能的场景。硬件I2C是通过专门的硬件电路实现的,通常由微控制器或其他集成电路上的硬件模块提供支持。低占用率:硬件I2C的传输过程由硬件电路完成,不需要CPU的干预,因此可以释放CPU的资源。适用范围广:软件I2C可以在没有硬件I2C支持的情况下使用,也可以用于扩展硬件I2C的功能。可移植性强:软件I2C的实现不依赖于特定的硬件电路,可以在不同的平台上进行移植和使用。3.I2C配置(1)4.I2C配置(2)

2024-06-23 14:38:38 859

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

文章目录一、I2C协议基本原理和时序协议1.基本原理2.时序协议二、0.96寸OLED屏的工作原理1.基本概念2.工作原理三、汉字点阵显示原理四、U8G2在stm32上的移植编译方法五、基于U8G2库的显示案例1.U82G的demo例程2.显示学号姓名与图案一、I2C协议基本原理和时序协议1.基本原理I2C 也叫 IIC(Inter-Integrated Circuit)总线,是一种由PHILIPS公司在80年代开发的两线式串行总线,用于连接微控制器及其外围设备。它是半双工通信方式。IIC协议可分

2024-06-10 13:51:55 1330

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

将#define APP_CFG_SERIAL_EN DEF_ENABLED改为#define APP_CFG_SERIAL_EN DEF_DISABLED。将#define APP_TRACE BSP_Ser_Printf改为#define APP_TRACE (void)在#include <bsp.h>后面添加#include “gpio.h”和#include “app_cfg.h”将#include <stm32f10x_lib.h> 改为#include “stm32f1xx_hal.h”

2024-06-08 13:06:55 585

原创 定时器与PWM的LED控制

定时器顾名思义用来定时的机器,是存在于STM32单片机中的一个外设。STM32总共有8个定时器,分别是2个高级定时器(TIM1、TIM8),4个通用定时器(TIM2、TIM3、TIM4、TIM5)和2个基本定时器(TIM5、TIM6),如下图所示:这三种定时器的区别如下:即:高级定时器具有捕获/比较通道和互补输出,通用定时器只有捕获/比较通道,基本定时器没有以上两者。(1)定义:脉冲宽度调制(PWM) 是一种数字信号,最常用于控制电路。

2024-05-30 20:04:20 1082

原创 HAL库LED点灯

HAL库开发比起标准库开发更加便捷高效,利用HAL库开发可以再之后的项目中大大增加其便捷性。

2024-05-24 19:11:46 461 1

原创 中断编程入门

本次实验了解了STM32中断编程的基础,使用中断来进行点灯操作,进一步来通过串口通信来完成相应数据的传输。

2024-05-19 17:14:56 462 1

原创 stm32串口通信入门

本次实验熟悉使用标准库的配置使用,以及用标准库开发方式点亮一个流水灯;了解使用串口来接收与发送数据,通过LED灯的闪烁表示串口发送的状态。

2024-05-12 21:23:35 743

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

GPIO全拼叫General Purpose Input Output(通用输入输出)简称IO口也叫总线扩展器,GPIO口是由引脚,功能寄存器组成,不同的架构中的GPIO封装不同,所使用的引脚数与寄存器数不同,具体可以参考芯片手册里的GPIO篇。

2024-05-05 18:15:06 961

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

学习单片机定时器与串口通信的相关内容,熟练掌握如何使用单片机定时器与串口通信,学会了用中断控制蜂鸣器,用LCD显示时钟等等,加深了我对单片机的认识。

2024-04-20 19:44:15 677

原创 单总线温度采集

本次实验了解了DS18B20温度芯片的基本原理,了解了单总线温度采集的过程,简单的时序分析等问题,对单片机有了更深的认识。

2024-04-20 19:44:04 391

原创 中断系统工作原理及其应用

中断技术主要用于实时监测与控制,要求单片机能及时地响应中断请求源提出的服务请求,并快速响应与及时处理。当中断请求源发出中断请求时,如中断请求被允许,单片机暂时中止当前正在执行的主程序,转到中断服务处理程序处理中断服务请求,处理完中断服务请求后,再回到原来被中止的程序之处(断点),继续执行被中断的主程序。

2024-04-05 18:31:24 1572

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

问:请查阅汇编指令 “MOV R6,#250”和“DJNZ R6,D2”的指令周期数,计算其对应的时钟周期 us值;D1循环的总指令周期数为250次外部循环 × 250次内部循环 × 3指令周期/迭代 = 187,500指令周期。Delay函数的总指令周期数为:187,500指令周期 × 1微秒/指令周期 = 187,500微秒(us)。指令“DJNZ R6,D2”是一个双字节指令(一个字节的寄存器操作和一个字节的相对跳转),需要2个指令周期。

2024-03-24 20:42:38 943 1

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

SDCC是一款免费开源的编译器,它支持标准(ANSI C89 / ISO C90,ISO C99,ISO C11 /ISO C17)C编译。SDCC是由Sandeep Dutta为8位单片机设计的编译器,支持MCS51(8051,8052,8031,8032等)、STM8、PIC、DS80C390,HC08,Z80等十几种架构的单片机的编译。SDCC还是一款跨平台的编译器,支持windows、linux和Mac OS,同一个代码工程可以在不同平台编译和调试。

2024-03-14 17:20:24 1149 1

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

MOV P0 ,#0FEH:将一个数据从一个地方移动到另一个地方,0FEH对应的二进制值为11111110B,表示从P01端口到P07端口的电平情况,从右到左是P01到P07,表示P01端口为低电平,从而只点亮P01端口所连接的LED灯。ORG:在汇编语言源程序的开始通常都用一条ORG伪指令来实现规定程序的起始地址,ORG 0000H表示程序从0这个起始地址开始存放代码。放置一个AT89C51芯片,利用总线将8个LED灯与各端口连接起来,加上电源,共同构成了一个简易的实现点亮LED灯的电路。

2024-03-09 17:22:39 845 1

原创 Verilog编程基础练习

答:wire型数据常用来表示以assign关键字指定的组合逻辑信号,模块的输入输出端口类型都默认为wire型,wire相当于物理连线,默认初始值是z(高组态)。reg型表示的寄存器类型,用于always模块内被赋值的信号,必须定义为reg型,代表触发器,常用于时序逻辑电路,reg相当于存储单元,默认初始值是x(未知状态)。答:verilog综合生成的电路将内部的基本门电路进行封装,只通过输入与输出来观察相应的功能,简化了操作;1.Verilog 综合生成的3-8译码器电路原理图与原始设计电路存在什么差异?

2023-12-17 00:28:43 1397 1

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

了解掌握RS锁存器,D锁存器,D触发器的基本工作原理,并掌握分析其波形的变化规律,将其基本特性用于电路实验当中。

2023-11-19 16:01:03 1022 1

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

熟悉使用multisim电路仿真软件,掌握一些常见的编码器与译码器的基本使用方法,如74LS148优先编码器,从而实现题设所要求的优先编码的条件设计出电路。

2023-11-15 19:25:27 527

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

了解一般电路的设计方法,熟练掌握利用卡诺图化简方法,设计出基本的四路表决器;了解CD4511芯片的内部逻辑,与LED灯结合来显示数字,在四路选择器的基础上利用CD4511芯片来实现将投票通过数显示在LED灯屏幕上;利用基本定理对逻辑代数进行化简;熟悉logisim中自带的组合逻辑电路来直接生成电路。

2023-10-30 16:19:01 7239 1

原创 实验:基本逻辑门电路分析

了解并掌握基本的逻辑门功能,了解74LS00芯片的内部结构,通过实验来验证逻辑的正确性;掌握逻辑代数的化简方法,快速得出结果;通过实验加强了动手能力,并较为熟练地连接电路。

2023-10-22 15:23:47 5556 1

原创 logisim实现全加器,并做出实现二进制原码输出补码的数字电路

(2)加数A与B的异或运算结果S1与进位加数进行与运算,加数A与B进行与运算,两个运算的结果通过或门来组成最后的进位加数结果Cout,算术表达式为Cout = BCin + ACin + AB。全加器是指对输入的两个二进制数相加(A与B)同时会输入一个低位传来的进位(Cin),得到和数(SUM)和进位(Cout);半加器是指对输入的两个一位二进制数相加(A与B),输出一个结果位(SUM)和进位(C),没有进位的输入加法器电路,是一个实现一位二进制数的加法电路。以1011为例,其补码为1101。

2023-10-18 23:59:49 5105 1

原创 用Ubuntu编写C语言helloworld程序及利用辗转相除法将十进制转换成二进制

3.进入后点击i建进行编辑,写入用脚指头都能写的helloworld程序,完成后按住shift+:,输入w保存,q退出。在终端输入“sudo apt-get install build-essential”回车。1.打开虚拟机,进入Ubuntu桌面,按住Ctrl+Alt+T进入终端。在终端输入“sudo apt-get install vim”回车。2.用vim新建并打开一个名为helloworld.c的文件。4.利用gcc编译器对helloworld程序进行编译。ps:gcc 编译器的安装方法。

2023-10-14 19:46:15 304 1

空空如也

空空如也

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

TA关注的人

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