自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于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 1005

原创 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 455

原创 定时器与PWM的LED控制

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

2024-05-30 20:04:20 951

原创 HAL库LED点灯

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

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

原创 中断编程入门

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

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

原创 stm32串口通信入门

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

2024-05-12 21:23:35 598

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

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

2024-05-05 18:15:06 808

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

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

2024-04-20 19:44:15 556

原创 单总线温度采集

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

2024-04-20 19:44:04 305

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

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

2024-04-05 18:31:24 1121

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

问:请查阅汇编指令 “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 833 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 940 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 504 1

原创 Verilog编程基础练习

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

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

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

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

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

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

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

2023-11-15 19:25:27 200

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

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

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

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

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

2023-10-22 15:23:47 1378

原创 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 2167

原创 用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 171

空空如也

空空如也

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

TA关注的人

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