- 博客(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
原创 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
原创 中断系统工作原理及其应用
中断技术主要用于实时监测与控制,要求单片机能及时地响应中断请求源提出的服务请求,并快速响应与及时处理。当中断请求源发出中断请求时,如中断请求被允许,单片机暂时中止当前正在执行的主程序,转到中断服务处理程序处理中断服务请求,处理完中断服务请求后,再回到原来被中止的程序之处(断点),继续执行被中断的主程序。
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关注的人