请教前辈STC15F2K32S2-LQFP44的EEPROM操作能不能这样
2026-4-20 13:28 来自 xiaobendan 发布@ 综合讨论
就像8C32那样使用低压中断快速保存一些失电后需要保存的数据
看到工具里面的选项又一个低压禁止EEPROM操作
不勾选的话能不能行?EEPROM在多低电压下还能继续操作?
看到工具里面的选项又一个低压禁止EEPROM操作
不勾选的话能不能行?EEPROM在多低电压下还能继续操作?
请教前辈,DS1302在5V断电后仅用电池供电时好像就不跑了,咋回事
2026-4-17 07:19 来自 xiaobendan 发布@ 综合讨论
昨晚好像8点多断电,早上来了上电一看,居然还是8点多
KEIL中出现的函数大小变量问题
2026-4-16 13:17 来自 quanshui 发布@ 综合讨论
KEIL中出现的函数大小变量问题,函数形参用小n和大N,对选择以Ai8051为目标器件的工程时编译出错,大N居然编译不通过,头次出现这个问题
具体表现:
工程目标为:89c52 参数大小写都能编译通过
工程目标为:AI8051 参数为大N时,编译不通过,改为小n编译通过
请问STC8H8K64U的PWM1P、1N,可以同时单独输出吗 | 1P/1N 只能互补输出,或用其中1个
2026-4-15 10:24 来自 consoleyou 发布@ 综合讨论
请问STC8H8K64U的PWM1P、1N,可以同时单独输出吗?
比如我需要4路独立PWM输出,是不是用1P、1N,2P、2N即可。
比如我需要4路独立PWM输出,是不是用1P、1N,2P、2N即可。
STC8G2K64S4的AD改用STC8H8K64U后结果出现问题了
2026-4-15 08:12 来自 因火生烟 发布@ 综合讨论
void InitADC(void)//STC8H8K64U
{
// P1.4、P1.5 设为模拟输入(禁止数字功能)
P1M0 &= 0xcf;
P1M1 |= 0x30;
P_SW2 |= 0x80;
ADCTIM = 0x3f; //设置ADC内部时序
P_SW2 &= 0x7f;
ADCCFG = 0x2f; // 设置ADC时钟为系统时钟/2/16 设置结果右对齐
// ADCCFG = 0x0f; //设置ADC时钟为系统时钟/2/16
ADC_CONTR = 0x80; //使能ADC模块
ADC_CONTR |= 0x40; //启动AD转换
}
u16 Get_ADCResult(u8 ch)//STC8H8K64U
{
u16
{
// P1.4、P1.5 设为模拟输入(禁止数字功能)
P1M0 &= 0xcf;
P1M1 |= 0x30;
P_SW2 |= 0x80;
ADCTIM = 0x3f; //设置ADC内部时序
P_SW2 &= 0x7f;
ADCCFG = 0x2f; // 设置ADC时钟为系统时钟/2/16 设置结果右对齐
// ADCCFG = 0x0f; //设置ADC时钟为系统时钟/2/16
ADC_CONTR = 0x80; //使能ADC模块
ADC_CONTR |= 0x40; //启动AD转换
}
u16 Get_ADCResult(u8 ch)//STC8H8K64U
{
u16
STC8G单片,I/O口切换端口模式时会出现尖峰干扰,该如何解决?
2026-4-14 16:34 来自 紫气东 发布@ 综合讨论
做一个全数字红外探头的读取模块,要求单片机按时序输出高低电平并能切换成采集模式
我使用的单片机是STC8G1K08,采集引脚是P32,该红外探头引脚在“未受控”情况下,会持续性输出高电平,单片机引脚与红外引脚直连
读取流程大致是:
常规下引脚输出低,压制红外探头;
采集红外信号时,先输出一段时间高电平,作为读取信号或触发信号;
单片机按 位 接收红外探头的输出——引脚输出低电平,随后高电平,接着引脚切换为采集模式,采集信号,如此重复,直至信号完全采集
我发现,当引脚采集到低电平信号(此时引脚电平被红外探头拉低),在由采集模式切换到输出模式时,会不定时出现小尖峰,疑似是端口模式切换瞬间,失去了对红外探头的控制
输出为推挽输出,输入为高阻输入
这是采集代码:
//数字红外信号读取函数
void PIR_Read(void)
{
unsigned char i=0;
unsigned long date=0;
P3M0 |= 0x04; P3M1 &= ~0x04; //P
我使用的单片机是STC8G1K08,采集引脚是P32,该红外探头引脚在“未受控”情况下,会持续性输出高电平,单片机引脚与红外引脚直连
读取流程大致是:
常规下引脚输出低,压制红外探头;
采集红外信号时,先输出一段时间高电平,作为读取信号或触发信号;
单片机按 位 接收红外探头的输出——引脚输出低电平,随后高电平,接着引脚切换为采集模式,采集信号,如此重复,直至信号完全采集
我发现,当引脚采集到低电平信号(此时引脚电平被红外探头拉低),在由采集模式切换到输出模式时,会不定时出现小尖峰,疑似是端口模式切换瞬间,失去了对红外探头的控制
输出为推挽输出,输入为高阻输入
这是采集代码:
//数字红外信号读取函数
void PIR_Read(void)
{
unsigned char i=0;
unsigned long date=0;
P3M0 |= 0x04; P3M1 &= ~0x04; //P
STC8G1K08A SOP8很难进入下载模式怎么办?
2026-4-14 16:23 来自 Archichain 发布@ 综合讨论
小系统板子,点ISP下载后上电 或者把P5.4接地复位,软件都显示检测目标单片机?经常进入不了下载模式 如果拔插一下RX TX 有时候会显示连接 但是提示失败。
我发现stc8h还没有被AI攻破,这也说明用这款芯片做的程序没人去破解仿制
2026-4-12 15:01 来自 彭彭 发布@ 综合讨论
我发现stc8h还没有被AI攻破,试了一下串口、T3T4定时器、pwm、触摸,
没有一个能写出可用代码的就是把官方文档例程给他也不行,
这也从侧面说明了这款芯片有技术隔离,开发成本高,
做的产品也不会有人去破解仿制。
没有一个能写出可用代码的就是把官方文档例程给他也不行,
这也从侧面说明了这款芯片有技术隔离,开发成本高,
做的产品也不会有人去破解仿制。
STC32G12K128 UART2 DMA发送乱码问题 | 已解决
2026-4-11 14:48 来自 圣灵主宰 发布@ 综合讨论
代码如下:第一次打印的时候正常是PBSm,后面打印的时候全部都是第一个字符乱码,但是后面三个字符正常,这是为什么?
//<<AICUBE_USER_HEADER_REMARK_BEGIN>>
////////////////////////////////////////
// 在此添加用户文件头说明信息
// 文件名称: main.c
// 文件描述:
// 文件版本: V1.0
// 修改记录:
// 1. (2026-04-11) 创建文件
////////////////////////////////////////
//<<AICUBE_USER_HEADER_REMARK_END>>
#include "config.h" //默认已包含stdio.h、intrins.h等头文件
//<<AICUBE_USER_INCLUDE_BEGIN>>
// 在此添加用户头文件包含
//<<AICUBE_USER_INCLUDE_END>>
//<<AIC
//<<AICUBE_USER_HEADER_REMARK_BEGIN>>
////////////////////////////////////////
// 在此添加用户文件头说明信息
// 文件名称: main.c
// 文件描述:
// 文件版本: V1.0
// 修改记录:
// 1. (2026-04-11) 创建文件
////////////////////////////////////////
//<<AICUBE_USER_HEADER_REMARK_END>>
#include "config.h" //默认已包含stdio.h、intrins.h等头文件
//<<AICUBE_USER_INCLUDE_BEGIN>>
// 在此添加用户头文件包含
//<<AICUBE_USER_INCLUDE_END>>
//<<AIC
重新写了一个超声波测距程序,测量距离4米以内,验证成功
2026-4-10 15:22 来自 xbq202 发布@ 综合讨论
超声波测距,喜欢的朋友留言,下面是验证照片,用尺子测了很精准
。
描述:STC32G12K128 + HC-SR04超声波测距 + I2C LCD1602显示程序
* 晶振:24MHz
#include "STC32G.h" // STC32G系列单片机头文件
#include "intrins.h" // 包含_nop_()等函数
#include <stdio.h>
。
描述:STC32G12K128 + HC-SR04超声波测距 + I2C LCD1602显示程序
* 晶振:24MHz
#include "STC32G.h" // STC32G系列单片机头文件
#include "intrins.h" // 包含_nop_()等函数
#include <stdio.h>
串口1DMA和串口2接收中断
2026-4-10 14:53 来自 szno 发布@ 综合讨论
现在有个问题我用STC32G单片机。单独用串口1DMA发送没任何问题,单独用串口2中断接收也没问题。现在我串口1 DMA发送打开(程序写的只发送1次),但是串口2的接收中断就无法进入了。
今天看到一个别人的板子,设计真严谨啊
2026-4-10 12:12 来自 xiaobendan 发布@ 综合讨论
输入输出都是光耦隔离,同一个24V电源,2575降低到12V,两个7805分别给CPU和输出光耦的次级供电。
甚至连蜂鸣器都是用光耦隔离驱动的
有必要这样吗?
PIC的单片机这么不堪?
甚至连蜂鸣器都是用光耦隔离驱动的
有必要这样吗?
PIC的单片机这么不堪?
擎天柱开发板 8051U 点亮led灯
2026-4-9 22:31 来自 jndqylt 发布@ 综合讨论
今天学习了点亮3个LED,相比与其他单片机STC的操作没有那么繁琐,移植了头文件过后就开始写了点亮LED的代码。也是成功点亮
写了一个超声波测距程序,为什么测量不准确?
2026-4-9 21:57 来自 xbq202 发布@ 综合讨论
大佬帮我看看,哪里出了问题,超声波测距测量不准确。感觉每次测量结果显示的数字是随机数。
/*******************************************************
* STC32G12K128 超声波测距 + 4位共阴数码管显示
* HC-SR04 + 内部IRC 33.1776MHz
******************************************************/
#include "STC32G.H"
#include <intrins.h>
#define SYSCLK 33177600 // 内部IRC频率
#define SOUND_SPEED 0.0343 // cm/us
/*---------------- 全局变量 ----------------*/
bit echo_flag = 0; // 回波标志
sbi


