最近发现之前调试时,测试OK的程序,打包压缩后,重新打开都报同样的错误?
2024-3-29 09:32 来自 380091044 发布@ 综合讨论
最近发现之前调试时,测试OK的程序,打包压缩后,过一段时间,重新打开都报同样的错误?很多都这样,我之前也是这样保存,就没问题,
这是什么情况?如下图:
39986
这是什么情况?如下图:
39986
基于STC32G12K128单片机PWM模块测试无输出
2024-3-28 18:19 来自 huiyong828 发布@ 综合讨论
本帖最后由 huiyong828 于 2024-3-28 22:39 编辑
硬件原理图如下
39959
官网代码示例如下:
39960
39961
输出相同也是PWM5 PWM6 PWM7 PWM 8 ,编译可以通过
程序下载可以正常工作
39964
用USB仿真情况下,为什么不能单步调试,调试页面如下
39963
硬件原理图如下
39959
官网代码示例如下:
39960
39961
输出相同也是PWM5 PWM6 PWM7 PWM 8 ,编译可以通过
程序下载可以正常工作
39964
用USB仿真情况下,为什么不能单步调试,调试页面如下
39963
关于程序冲突的问题
2024-3-28 15:32 来自 爱吃西红柿 发布@ 综合讨论
if(!(P11 & 0x01) && iskey11 == 0) {
Delay5ms();
iskey11 = 1;
flag11 = 1;
keyPadData |= 0x08;
}
else if((P11 & 0x01) && iskey11 == 1) {
Delay5ms();
iskey11 = 0;
flagt = 1;
keyPadData |= 0x08;
}
if(!(P17 & 0x01) && iskey17 == 0) {
Delay5ms();
iskey17 = 1;
flag17 = 1;
keyPadData |= 0x08;
}
else if((P17 & 0x01) && iskey17 == 1) {
Delay5ms();
iskey17 = 0;
flag17t = 1;
keyPadData |= 0x08;
}
问一下大佬们,这段
Delay5ms();
iskey11 = 1;
flag11 = 1;
keyPadData |= 0x08;
}
else if((P11 & 0x01) && iskey11 == 1) {
Delay5ms();
iskey11 = 0;
flagt = 1;
keyPadData |= 0x08;
}
if(!(P17 & 0x01) && iskey17 == 0) {
Delay5ms();
iskey17 = 1;
flag17 = 1;
keyPadData |= 0x08;
}
else if((P17 & 0x01) && iskey17 == 1) {
Delay5ms();
iskey17 = 0;
flag17t = 1;
keyPadData |= 0x08;
}
问一下大佬们,这段
简简单单做个USB温度传感器
2024-3-28 14:57 来自 晓飛飛 发布@ 综合讨论
本帖最后由 晓飛飛 于 2024-3-28 15:05 编辑
温度传感器是非常常用的设备,但是低成本的USB温度传感器似乎没什么人搞,正好项目集成需要,随手搞了一个,主打一个尺寸迷你结构简单。
MCU选型原则,成本低,尺寸小,支持USB,目前STC8H2K08U只有TSSOP20封装的,希望将来能出QFN20封装的,那估计会是STC尺寸最小成本最低的USB单片机了。目前只能选择STC8H8K64U-QFN32了。
非常感谢STC提供的芯愿兑换活动,正好兑换了5片,坚决不能浪费!用起来!
原理图很简单,除了USB
温度传感器是非常常用的设备,但是低成本的USB温度传感器似乎没什么人搞,正好项目集成需要,随手搞了一个,主打一个尺寸迷你结构简单。
MCU选型原则,成本低,尺寸小,支持USB,目前STC8H2K08U只有TSSOP20封装的,希望将来能出QFN20封装的,那估计会是STC尺寸最小成本最低的USB单片机了。目前只能选择STC8H8K64U-QFN32了。
非常感谢STC提供的芯愿兑换活动,正好兑换了5片,坚决不能浪费!用起来!
原理图很简单,除了USB
夭寿啊,STC32G12K128芯片的cos(0)=0
2024-3-28 14:11 来自 @jian_yu 发布@ 综合讨论
听说STC32G12K128的浮点运算能力很强,最近入手了一块板子,试了下余弦函数,cos(0)居然是一个很接近0的数,这个是在单片机连接电脑开keil的USB仿真看到的,但如果用串口导出数据也是一样的结果,引用的头文件是直接右键插入的,但是开平方都能精准的运算,求大佬帮助
简简单单驱个OLED,STCAI-ISP V6.94D 图片和文字取模
2024-3-28 13:56 来自 晓飛飛 发布@ 综合讨论
41491
今天简简单单驱个OLED,手头正好有个0.91寸的OLED屏,
用STC8H1K08单片机驱动一下
例程移植自中景园的驱动例程,小改一下即可,
主要来说说STCAI-ISP V6.94D 图片和文字取模方法
首先用画图工具做个128*32的单色位图,如下
39915
然后打开STC-ISP软件中的图片取模工具,配置如下:
39926
注意几处设置,垂直取模 从左到右 从上到下 存
STC15W408AS外部中断不触发
2024-3-27 20:14 来自 bluewolf 发布@ 综合讨论
本帖最后由 bluewolf 于 2024-3-28 22:29 编辑
芯片:STC15W408AS
环境:Ubuntu+VSCode+PlantformIO
问题:P3.0引脚设置了高阻输入,通过一个按键拉低,但是外部中断函数一直不触发;但是用按键检测程序能够检测到低电平,万用表也显示低电平,有没有大神能帮忙分析一下,感激不尽{:5_300:}{:5_300:}{:5_300:}
问题解决了:在Windows+keil环境下中断可以正常触发。(2024.3.28)
芯片:STC15W408AS
环境:Ubuntu+VSCode+PlantformIO
问题:P3.0引脚设置了高阻输入,通过一个按键拉低,但是外部中断函数一直不触发;但是用按键检测程序能够检测到低电平,万用表也显示低电平,有没有大神能帮忙分析一下,感激不尽{:5_300:}{:5_300:}{:5_300:}
问题解决了:在Windows+keil环境下中断可以正常触发。(2024.3.28)
程序STC8H8K64(正常)移植到 STC8H1K08 的时候发现 P1.3不能用,自动有脉冲,不知道
2024-3-27 16:34 来自 zhengruihua 发布@ 综合讨论
程序STC8H8K64(正常)移植到 STC8H1K08 的时候发现 P1.3不能用,自动有脉冲,不知道是哪里产生的
#include "STC8H.H"
#include <intrins.h>
void main()
{
P0M0 = 0x00;
P0M1 = 0x00;
P1M0 = 0x00;
P1M1 = 0x00;
P2M0 = 0x00;
P2M1 = 0x00;
P3M0 = 0x00;
P3M1 = 0x00;
P4M0 = 0x00;
P4M1 = 0x00;
P5M0 = 0x00;
P5M1 = 0x00;
P_SW2 = 0x80;
I2CCFG = 0xe0; //使能I2C主机模式
I2CMSST = 0x00;
EA = 1;
// P_SW2 = 0x00;
while (1)
#include "STC8H.H"
#include <intrins.h>
void main()
{
P0M0 = 0x00;
P0M1 = 0x00;
P1M0 = 0x00;
P1M1 = 0x00;
P2M0 = 0x00;
P2M1 = 0x00;
P3M0 = 0x00;
P3M1 = 0x00;
P4M0 = 0x00;
P4M1 = 0x00;
P5M0 = 0x00;
P5M1 = 0x00;
P_SW2 = 0x80;
I2CCFG = 0xe0; //使能I2C主机模式
I2CMSST = 0x00;
EA = 1;
// P_SW2 = 0x00;
while (1)
STC8H系列如何输出固定占空比的PWM
2024-3-27 11:44 来自 数字信号处理 发布@ 综合讨论
使用的是PWM7和PWM8,用的例程测试的是输出的占空比一直在改变,对照手册看了很久也没找出原因。
data数据超出问题:ADDRESS SPACE OVERFLOW
2024-3-26 13:00 来自 feiyu 发布@ 综合讨论
本帖最后由 feiyu 于 2024-3-26 15:01 编辑
这是个什么东西超出了
39625
39626
后续问题定位如下图,adr用xdata就过了,别的变量改xdata也不行,很奇怪。
39647
39648
这是个什么东西超出了
39625
39626
后续问题定位如下图,adr用xdata就过了,别的变量改xdata也不行,很奇怪。
39647
39648
433M无线解码程序
2024-3-25 19:13 来自 jack86 发布@ 综合讨论
各位大神,我有找了一个433M无线解码程序,解码不成功,都无法执行到取码,求赐教。!!!
89C522RC的芯片
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit RF = P0^5; //信号输入
sbit LED = P2^0; // P3^4;
sbit D0 = P2^1; //用于后面按位取键值 3^6;
sbit D1 = P2^2; // 3^7;
sbit D2 = P2^3; //P4^1;
sbit D3 = P2^4; // P4^2;
sbit VT = P3^5; //解码成功
bit decode_ok; //解码成功标志
uchar hh_w,ll_w; //高低电平宽度
uchar ma_x;
89C522RC的芯片
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit RF = P0^5; //信号输入
sbit LED = P2^0; // P3^4;
sbit D0 = P2^1; //用于后面按位取键值 3^6;
sbit D1 = P2^2; // 3^7;
sbit D2 = P2^3; //P4^1;
sbit D3 = P2^4; // P4^2;
sbit VT = P3^5; //解码成功
bit decode_ok; //解码成功标志
uchar hh_w,ll_w; //高低电平宽度
uchar ma_x;
STC89和STC15W 指令时钟问题
2024-3-25 16:48 来自 qiquanming18 发布@ 综合讨论
本帖最后由 qiquanming18 于 2024-3-25 16:49 编辑
sbit DIN = P2^2;
sbit SCLK = P2^3;
sbit CS = P2^5;
我在 驱动 TLV5618 芯片时,发现没有输出,对照 指令表后更改如下,不知道对不对,
void DA_conver(uint Dignum)
{
uint Dig = 0;
uchar i = 0;
SCLK =0;
nop12;
CS = 1;
nop12;
for(i=0;i<16;i++)
{
Dig=Dignum&0x8000;nop8;
if(Dig)
{ DIN = 0;
}
else
{
DIN = 1;
}
nop12;
SCLK = 1;
sbit DIN = P2^2;
sbit SCLK = P2^3;
sbit CS = P2^5;
我在 驱动 TLV5618 芯片时,发现没有输出,对照 指令表后更改如下,不知道对不对,
void DA_conver(uint Dignum)
{
uint Dig = 0;
uchar i = 0;
SCLK =0;
nop12;
CS = 1;
nop12;
for(i=0;i<16;i++)
{
Dig=Dignum&0x8000;nop8;
if(Dig)
{ DIN = 0;
}
else
{
DIN = 1;
}
nop12;
SCLK = 1;
求助 STC8H4K32TL 定时器哪个最大可以设置2秒溢出
2024-3-25 09:21 来自 ZhangChYu 发布@ 综合讨论
TM4PS = 0x0F; //设置定时器时钟预分频 ( 注意:并非所有系列都有此寄存器,详情请查看数据手册 )
T4T3M &= 0xDF; //定时器时钟12T模式
T4L = 0xDC; //设置定时初始值
T4H = 0x0B; //设置定时初始值
T4T3M |= 0x80; //定时器4开始计时
TM4PS好像不起作用 加不加都一样很快溢出
T4T3M &= 0xDF; //定时器时钟12T模式
T4L = 0xDC; //设置定时初始值
T4H = 0x0B; //设置定时初始值
T4T3M |= 0x80; //定时器4开始计时
TM4PS好像不起作用 加不加都一样很快溢出
keil运行时间查看问题
2024-3-24 09:37 来自 alanma 发布@ 综合讨论
各位老师,如何在keil仿真的时候,显示运行时间?
如下图,第一张是我的keil仿真的时候,没有显示时间,第二张图片网上看到别人的运行的时候有时间显示 ,如何设置才能看到?39448
39449
如下图,第一张是我的keil仿真的时候,没有显示时间,第二张图片网上看到别人的运行的时候有时间显示 ,如何设置才能看到?39448
39449
使用 STC-USB Link1D, 下载程序后如何持续给芯片供电
2024-3-24 09:24 来自 AHBbGao 发布@ 综合讨论
刚收到usblink1D下载器,也收到了开天斧三的开发板。
下载程序可以使用,脱机下载也可以使用。
但是我想给下载后的板子持续供电,就不行,现像就是下载完就直接断电了。
我在STC-ISP软件中也选了下载后持续供电的选项,但是不起作用。
不知什么原因,请教一下大家。
下载程序可以使用,脱机下载也可以使用。
但是我想给下载后的板子持续供电,就不行,现像就是下载完就直接断电了。
我在STC-ISP软件中也选了下载后持续供电的选项,但是不起作用。
不知什么原因,请教一下大家。
让单片机执行某条指令,使其跳转到主程序的起点,开始从新运行主程序,
2024-3-23 22:33 来自 金南京 发布@ 综合讨论
请教各位大神:
让单片机执行某条指令,使其跳转到主程序的起点,开始从新运行主程序,能做到吗?
谢谢!
让单片机执行某条指令,使其跳转到主程序的起点,开始从新运行主程序,能做到吗?
谢谢!
SSI信号?|已解决
2024-3-23 22:11 来自 380091044 发布@ 综合讨论
本帖最后由 STCAI-32位8051 于 2024-4-19 14:21 编辑
SSI信号编码器输出SSI信号如何处理?有哪位老师使用过,
SSI信号编码器输出SSI信号如何处理?有哪位老师使用过,
STC8H4K64的IO中断不能唤醒
2024-3-23 15:09 来自 alanma 发布@ 综合讨论
有没有老师指导下,用IO做中断唤醒不成功,项目中用P3.2=KEY1,P1.6=DC-IN,两个IO做唤醒,其中KEY1为按键,低电平有效,DC_IN为充电输入检测,高电平有效,中断唤醒配置到主程序初始化或者睡眠子程序里面中都试过,P3.2可以唤醒,但是P1.6不行,不知道问题出在哪里,代码如下:
;休眠子程序
SLEEP:
DJNZ SleepDelay, SLEEP_END ;10秒未到, 循环显示秒计数
MOV SleepDelay, #0FFH
JNB KEY1, SLEEP_END ;高电平时才进入睡眠
JB DC_IN ,SLEEP_END ;DC_IN低电平才进入睡眠
LCALL DELAY10MS
JNB KEY1, SLEEP_END ;高电平时才进入睡眠
JB DC_IN ,SLEEP_END ;DC_IN低电平才进入睡眠
MOV POWER_DATA,#0H
CLR TR0 ;
MOV A,#40H
;休眠子程序
SLEEP:
DJNZ SleepDelay, SLEEP_END ;10秒未到, 循环显示秒计数
MOV SleepDelay, #0FFH
JNB KEY1, SLEEP_END ;高电平时才进入睡眠
JB DC_IN ,SLEEP_END ;DC_IN低电平才进入睡眠
LCALL DELAY10MS
JNB KEY1, SLEEP_END ;高电平时才进入睡眠
JB DC_IN ,SLEEP_END ;DC_IN低电平才进入睡眠
MOV POWER_DATA,#0H
CLR TR0 ;
MOV A,#40H
基于STC8H4K64TL QFN32的触摸显示通讯代码
2024-3-23 12:55 来自 不负春光 发布@ 综合讨论
本帖最后由 不负春光 于 2024-3-23 13:20 编辑
各位大神,帮忙看下触摸怎么没反应,急需大神帮助!!!代码和图片在附件!跪拜
各位大神,帮忙看下触摸怎么没反应,急需大神帮助!!!代码和图片在附件!跪拜