- 博客(21)
- 收藏
- 关注
原创 沉浸式学习stm32--温湿度采集与OLED显示
IIC(Inter-Integrated Circuit)总线是一种由NXP(原PHILIPS)公司开发的两线式串行总线,用于连接微控制器及其外围设备。多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。在CPU与被控IC之间、IC与IC之间进行双向传送,高速IIC总线一般可达400kbps 以上。注意IIC是为了与低速设备通信而发明的,所以IIC的传输速率比不上SPII²C最重要的功能包括:只需要两条总线;
2024-06-23 22:58:46 798
原创 沉浸式学习STM32--基于I2C协议的OLED显示(利用U82G库)
U8g2是嵌入式设备的单色图形库。主要应用于嵌入式设备,包括我们常见的单片机使用,最常用的是OLED屏或者LCD屏进行使用的一个库;我们常用的OLED屏其内部原理一个M x n 的像素点阵,想显示什么就得把具体位置的像素点亮起来。对于每一个像素点,有可能是1点亮,也有可能是0点亮;其坐标系如下所示。
2024-06-11 16:25:26 1244
原创 沉浸式学习STM32——HAL库LED点灯
这里采用STM32F103ZET6芯片。EXTI的HAL库接口函数的源码定义在stm32f1xx_hal_exti.c源文件中,其对应的头文件stm32f1xx_hal_exti.h声明了EXTI所有的库函数。通过图形化方式直观对系统时钟进行配置,系统时钟采用外部高速时钟,配置STM32F103系列芯片最大时钟为72MHz,配置APB2为72MHz,配置APB1为36MHz。按键WAKE_UP连接在STM32F103的PA0引脚上,按下时PA0为高电平,按键S2连接在STM32F103的PE3引脚上。
2024-05-24 20:02:08 1061 1
原创 沉浸式学习stm32--中断编程入门
计算机在执行程序过程中,当出现异常情况(断电等)或特殊请求(数据传输等)时,计算机暂停现行程序的运行,转向对这些异常情况或特殊请求进行处理,处理完毕后再返回到现行程序的中断处,继续执行原程序,这就是“中断”。
2024-05-19 21:26:37 1085
原创 沉浸式学习stm32——使用标准库点亮led流水灯
为了解决不同芯片厂商生产的基于Cortex内核的微处理器在软件上的兼容问题,ARM公司与众多芯片和软件厂商共同制定了CMSIS标准(Cortex Microcontroller Software Interface Standard,Cortex微控制器软件接口标准),意在将所有Cortex芯片厂商产品的软件接口标准化。在上一次寄存器方式点亮LED灯的基础上,改用标准库方式,完成LED的点灯或流水灯实验。实物图连接和上一节使用寄存器对比只改动了led小灯泡的连接方式。具体操作步骤可以参考博客。
2024-05-11 15:54:25 824 1
原创 沉浸式学习STM32-LED亮灭
1.简介STM32F103C8T6是一款基于ARM Cortex-M 内核STM32系列的32位的微控制器,程序存储器容量是64KB,需要电压2V~3.6V,工作温度为-40°C ~ 85°C。2.电路原理图3.引脚STM32F103C8T6是意法半导体的一款低功耗、高性能32位ARM Cortex-M3单片微控制器。
2024-05-06 18:51:58 947
原创 沉浸式学习51单片机(5)--单片机定时器与串口通信
数码管是一种由多个发光二极管(LED)组成的显示设备,这些LED通常以七段或八段的形式排列,用于显示数字、字母、符号等信息。液晶显示屏(LCD,Liquid Crystal Display)是一种平面显示器技术,具有多种优点,包括低耗电量、体积小、辐射低,因此被广泛应用于电视机、计算机等电子产品中。LCD的工作原理是利用液晶分子的电光效应,在电场的作用下改变液晶分子的排列,从而影响光线的通过,显示出不同的图像。
2024-04-22 18:09:58 1134
原创 沉浸式学习51单片机(6)-单总线温度采集
DS18B20是美国DALLAS公司生产的数字温度传感器,体积小、低功耗、抗干扰能力强。可直接将温度转化成数字信号传送给单片机处理,因而可省去传统的信号放大、A/D转换等外围电路。DS18B20转换时间与分辨率有关。当设定为9位时,转换时间为93.75ms;设定10位时,转换时间为187.5 ms;当设定11位时,转换时间为375ms;当设定为12位时,转换时间为750ms。通过这次学习,我掌握了:1.学习单总线温度传感器DB18B20的原理和通信时序;
2024-04-22 14:42:36 814
原创 沉浸式学习51单片机(4)——中断与定时记数
中断技术主要用于实时监测与控制,要求单片机能及时地响应中断请求源提出的服务请求,并快速响应与及时处理。当中断请求源发出中断请求时,如中断请求被允许,单片机暂时中止当前正在执行的主程序,转到中断服务处理程序处理中断服务请求,处理完中断服务请求后,再回到原来被中止的程序之处(断点),继续执行被中断的主程序。如没有中断系统,单片机大量时间可能会浪费在查询是否有服务请求的定时查询操作上,即不论是否有服务请求,都必须去查询。采用中断技术完全消除查询方式的等待,大大提高单片机工作效率和实时性。
2024-04-07 22:03:55 2419 4
原创 沉浸式学习51单片机(3)
掌握汇编语言用查表法完成求平方数的程序;2.验证1)请查阅汇编指令 “MOV R6,#250”和“DJNZ R6,D2”的指令周期数,计算其对应的时钟周期 us值;然后计算 Delay函数的总的循环次数和对应的时钟周期总数us, 说明这个LED灯大约每隔多少毫秒(ms)或秒(s)才变化一次亮灭状态;首先,让我们来计算指令 "MOV R6, #250" 和 "DJNZ R6, D2" 的时钟周期数以及对应的时钟周期总数:1.对于 "MOV R6, #250" 指令:这是一条单周期指令,它执行时需要
2024-03-24 20:36:03 892 1
原创 沉浸式学习51单片机(2)--基于SDCC和Edsim51的代码仿真
学习基于SDCC和Edsim51的代码仿真是一次非常有意义的体验。通过使用SDCC编写C代码,并在Edsim51中进行仿真,我能够深入了解嵌入式系统的开发和调试过程。首先,使用SDCC编写C代码相比于汇编语言更加高效和易于理解。SDCC提供了丰富的C语言特性和标准库支持,使得编写嵌入式程序更加方便。通过使用C语言,我能够更快速地实现功能,并且代码的可读性也得到了提升。其次,Edsim51作为一款基于8051单片机的仿真器,为我提供了一个可视化的调试环境。
2024-03-16 21:33:49 1002 1
原创 沉浸式学习51单片机(1)——51单片机架构与汇编指令
AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。图1.系统原理图这次的电路仿真实验对我来说是一次宝贵的学习机会。通过实践,我更加深入地了解了Proteus电路仿真平台和Keil软件编译器的使用方法。这两个工具在电路设计和嵌入式系统开发中扮演着至关重要的角色。我发现它们的操作界面清晰简洁,功能丰富,使用起来确实十分方便。
2024-03-10 16:38:29 2314 1
原创 Verilog编程基础练习
全加器(Full Adder)是一种数字电路组件,用于将两个二进制数的每一位和一个进位位相加。全加器与 半加器不同,它可以处理三个输入:两个待加的二进制位和来自前一位的进位。全加器的输出包括一个 和位(Sum)和一个进位位(Cout)。
2023-12-17 19:23:57 113 1
原创 触发器电路仿真与硬件实现
在电子、计算机科学和工程领域,触发器(Trigger)是一种特殊的电路元件或信号,它可以根据预先设定的条件或事件来产生相应的输出信号或动作。触发器是数字电路中的基本元件,用于控制信号的时序、逻辑运算和状态转换。
2023-11-21 19:10:35 940
原创 编码器-解码器电路设计及Multisim软件仿真
在数字系统中,为了区分一系列不同的事物,我们给这些事物一个独一无二的二进制代码,就是一个编码过程。编码器就是实现将输入的一系列高低电平信号,编出这些信号的对应二进制代码的模块。编码器的逻辑功能是将2的n次方个输入信号的高/低电平信号编成一个对应的n位二进制代码。2.优先编码器(74LS148)优先编码器是一种能将多个二进制输入压缩成更少数目输出的电路或算法。其输出是序数0到输入最高有效位的二进制表示。优先编码器常用于在处理最高优先级请求时控制中断请求。
2023-11-16 21:18:33 2232
原创 二进制数原码-反码和补码的数字电路
一个1bit半加器电路由一个异或门和一个与门构成。待相加的两个二进制数A, B分别输入异或门和与门的两个输入端,异或门输出A, B两个数的和,与门输出A, B两个数相加产生的进位数。
2023-10-22 20:40:08 459 1
原创 Ubuntu系统使用gcc和Makefile编译C程序 及Devc++基于“辗转相除法”的10进制数转2进制的程序
Ubuntu是一个以桌面应用为主的Linux发行版操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu"一词,意思是“人性”“我的存在是因为大家的存在",是非洲传统的一种价值观。Ubuntu基于Debian发行版和GNOME桌面环境,而从11.04版起,Ubuntu发行版放弃了GNOME桌面环境,改为Unity。此前人们认为Linux难以安装、难以使用,在Ubuntu出现后这些都成为了历史。Ubuntu也拥有庞大的社区力量,用户可以方便地从社区获得帮助。详细了解。
2023-10-21 18:02:19 390 5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人