自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 esp32s3驱动rgb灯

最近做项目要用到esp32s3,所以在网上找了和很多资料去学习,但发现好像都堆初学者不是很友好。因为我之前学习和用的都是stm32这类需要自己写驱动的单片机,用到esp32s3这种直接调用驱动一时间会有点不习惯,但反应过来后会发现用起来很方便。然后我购买的是官方的开发板——ESP32-S3-DevKitC-1。官方给的资料很全,很详细,所以需要长时间去学习沉淀。

2024-02-27 12:00:42 1030

原创 STC32G库函数(五)——ADC检测反推电源电压

STC32G系列的单片机有15条ADC测量通道,同时ADC_VRef+为外部电压参考电源,所以利用ADC测量电源电压有两种方案。第一是先利用稳压电源将ADC_VRef+的电压稳定在特定值,然后电源线可直接接到ADC的前14个通道,然后利用公式就可以得到电源电压。接下来我们会着重介绍第二种方法。首先利用ADC_Inilize()函数进行初始化,ADC_PowerControl()使能ADC,Get_ADCResult()可得到1~15通道的ADC换算值。在得到15通道的测量值后利用公式就可得到电压值。

2022-10-30 12:57:47 2240 1

原创 STC32G库函数(四)——EEPROM

stc32g12k128拥有128kB的程序储存区,全部用来存放程序肯定是用不完的,所以还剩下很多的空间可以当做EEPROM,这对某些项目要求的是很有必要的。而我们在调用是也是很方便的,直接调用EEPROM_read_n()函数读和调用EEPROM_write_n()函数写就行。关于EEPROM大小的设置,这个需要在烧录软件上设置:如图所示将EEPROM设置为64k(注意:无论EEPROM设置为多少,EEPROM的地址始终从FE:0000h开始)

2022-10-30 10:41:11 2024

原创 stc32G库函数(三)——RTC实时时钟

我也有一个不能很好解决的问题,就是单片机不知道能不能同时启动两个不同频率的时钟,也就是说我在使用24Mhz为主时钟的同时,还选用32khz为rtc时钟。而我在使用rtc后,程序按照24Mhz的延时是没有错误,也就是说主时钟还是24Mhz,但是不知道这个判断方法准不准确,希望有路过的大佬答疑一下。其中里面的YEAR,MONTH,DAY等是单片机的寄存器,可以直接读取;在最后,使用芯片内部的RTC实时时钟最大的好处就是可以节约成本了,而缺点也有,就是没有备用电源引脚,当单片机断电停止工作后时钟也会停止工作。

2022-09-23 20:53:59 3140 2

原创 stc32G库函数(二)——定时器

首先,我们要先向工程文件Driver中添加STC32G_Timer.c,STC32G_Timer_Isr.c和STC32G_NVIC.c这三个文件,其中STC32G_Timer.c中定义了定时器初始化函数Timer_Inilize();STC32G_Timer_Isr.c文件中定义了各种的中断函数,我们主要将想要实现的操作写进它给的对应的函数中就行。以下是STC32G_Timer_Isr.c文件定时器0的中断调用函数,我的操作是实现led灯的亮灭,led灯接在P10上。

2022-09-21 22:03:08 1516

原创 STC32G12K128内部集成的I2C总线实现oled12864显示

I2C 是一种高速同步通讯总线,通讯使用 SCL(时钟线)和 SDA(数据线)两线进行同步通讯。如上图所示,要用到的初始化函数为:void I2C_Init(I2C_InitTypeDef *I2Cx),在主机模式下要对结构体的属性进行设置的只有:I2C_InitStructure.I2C_Mode,I2C_InitStructure.I2C_Enable, I2C_InitStructure.I2C_Speed,I2C_InitStructure.I2C_MS_WDTA,

2022-09-18 20:42:58 4830 1

原创 stc32G库函数(一)——点亮led

首先,我们先打开Driver\src中的STC32G_GPIO文件看一下,我们可以看到,在这个文件中只有一个函数,有了解过STC32G12K128这款芯片的都知道,他有四个输出方式,分别是:上拉准双向口(8051传统I/O口),浮空输入,开漏输出,推挽输出。这篇文章是基于上一篇文章创建的工程来继续开发的,有兴趣的小伙伴可以先去看一看上一篇——创建stc32G库函数版本的keil项目。由于要用到延时,所以要包含STC32G_Delay.h这个头文件。工程文件放在资源,有兴趣的小伙伴可以自行下载。

2022-09-17 21:33:34 1903

原创 创建stc32G库函数版本的keil项目

第一代暂命名为 STC32G12K128,虽然还是8051的内核,但作为32位的单片机,它还是具有很大的可能性的。同时,在STC的官网上提供了这个单片机的库函数,这篇文章主要还是让我们先搭建一个开发库函数版本的良好环境,也就是创建keil项目。第一步,下载并安装keil C251,这里就不放链接了,并将芯片型号添加到keil中,可以去官网下载。第二步,创建项目,选择STC32G12K128芯片,打开项目所在文件夹,创建以下文件夹。没有错误,且.hex文件在Output文件夹下,工程创建成功。

2022-09-17 20:33:43 3594

原创 51单片机AHT20-21源代码

传感器输出经过 标定的数字信号,标准 I 2 C 格式。AHT20 配有一个全新设计的 ASIC专用芯片、一 个经过改进的MEMS半导体电容式湿度传感元件和一个标准的片上温度传感元件,其 性能已经大大提升甚至超出了前一代传感器的可靠性水平,新一代温湿度传感器, 经过改进使其在恶劣环境下的性能更稳定。但是现在网上的大多数原码都是针对stm32等的这种多位单片机,而我们都知道51单片机是8位单片机,无法对浮点数进行运算,对32位的整数计算有时候也不是很准确,所以我对网上stm32的例程进行了修改。...

2022-08-16 12:12:10 2794 5

原创 Ping的实现(含程序)

最近在做计算机网络的课程设计,整理了一点资料。ping (Packet Internet Groper)是一种因特网包探索器,用于测试网络连接量的程序。Ping是工作在TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送ICMP(Internet Control Message Protocol 因特网报文控制协议)请求报文,测试目的站是否可达及了解其有关状态 。...

2022-06-02 23:24:43 5498 3

原创 STC15F2K60S2+OLED12864

OLED相信大家都认识,是一个很常见的显示模块,但是现在网上买的许多oled显示模块因为底层驱动的原因,在编程时对显示有很大的局限性(特别是对51内核的单片机),在定义坐标行数显示的时候往往需要是8的倍数,以下便是针对这个问题做出的改进。首先介绍一下这篇文章的核心思想,我们都知道以oled12864为例,其实就是128*64个灯,当选择相应坐标的灯点亮就能显示相对应的数字,字符或者是图像。针对上面问题,我们可以建立和显示屏分辨率一样的二维数组,当我们需要将数值显示到显示屏上时,先将数值赋值给数组相同坐标

2022-04-12 23:12:40 1439

STC32G12K128内部集成的I2C总线实现oled12864显示

STC32G12K128内部集成的I2C总线实现oled12864显示

2022-09-18

STC32G库函数版本的第一个例程,点亮led灯

STC32G库函数版本的第一个例程,点亮led灯

2022-09-17

创建stc32G库函数版本的keil项目

创建stc32G库函数版本的keil项目

2022-09-17

stc15f2k60s2最小系统板

stc15f2k60s2的最小系统板,内含有ad工程,原理图以及pcb,由于我工程开发的需要,按键设置为侧按键,大家有需要的可在我的基础上进行修改,另外,需要外接一个usb转ttl模块进行下载,四个引脚已经外接。

2022-07-09

空空如也

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

TA关注的人

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