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 编辑
各位大神,帮忙看下触摸怎么没反应,急需大神帮助!!!代码和图片在附件!跪拜
各位大神,帮忙看下触摸怎么没反应,急需大神帮助!!!代码和图片在附件!跪拜
ADC应用程序编译后出现功能不正常
2024-3-23 10:10 来自 17141200320 发布@ 综合讨论
本帖最后由 17141200320 于 2024-3-23 10:37 编辑
第18集,1.adc原应用程序在KEIL5打开,出现两次确认画面,过后编译 ,再烧录到烧录到实验箱上,出现功能不正常。
39352 39354
2、ADC应用程序不编译,原程序下载到实验箱上,能正常运行功能。请教下大家是是什么原因。
第18集,1.adc原应用程序在KEIL5打开,出现两次确认画面,过后编译 ,再烧录到烧录到实验箱上,出现功能不正常。
39352 39354
2、ADC应用程序不编译,原程序下载到实验箱上,能正常运行功能。请教下大家是是什么原因。
基于STC32G12K单片机C251编译器的列表初始化数据读取异常讨论
2024-3-22 22:31 来自 huiyong828 发布@ 综合讨论
第一次使用C251编译器,移植之前的工程,发现初始化变量读取到数据全是0
39312
39311
39310
39313
39314
请各位老师指点下
39312
39311
39310
39313
39314
请各位老师指点下
请教32G12K128怎么带TM1640驱动数码管先分享我成功的在STC15W408AS上的成功经验
2024-3-22 21:23 来自 qepuemc 发布@ 综合讨论
//先分享我成功的在STC15W408AS上的成功经验
#include "intrins.h" //包含_nop_()指令头文件
#include <STC15F2K60S2.H>
//1.TM1640显示基本程序
sbit DIN=P1^5; //定义DIN数据端口
sbit CLK=P1^4; //定义CLK数据端口
unsigned int CODE={0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,}; //共阴数码管0~F字型码,需根据硬件接法定义
//1.TM1640显示基本程序
//2.TM1640显示基本程序
/********************Start函数******
#include "intrins.h" //包含_nop_()指令头文件
#include <STC15F2K60S2.H>
//1.TM1640显示基本程序
sbit DIN=P1^5; //定义DIN数据端口
sbit CLK=P1^4; //定义CLK数据端口
unsigned int CODE={0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,}; //共阴数码管0~F字型码,需根据硬件接法定义
//1.TM1640显示基本程序
//2.TM1640显示基本程序
/********************Start函数******
STC8H4K64TLCD芯片做温湿度控制器,运行几个小时有死机情况,请教下是哪里问题?
2024-3-21 19:05 来自 anlqtao 发布@ 综合讨论
用STC8H4K64TLCD芯片做了一个温湿度控制器,
外置晶振,用的是段码LCD屏。
功能使用正常,就是运行几个小时有死机情况,有使能看门狗。
死机现象是屏幕停留显示,但是数字不再变化已经卡死,
按下按键也无任何反应,只能断电重新上电。
麻烦请教下是哪里问题,从哪里分析找问题呢?
外置晶振,用的是段码LCD屏。
功能使用正常,就是运行几个小时有死机情况,有使能看门狗。
死机现象是屏幕停留显示,但是数字不再变化已经卡死,
按下按键也无任何反应,只能断电重新上电。
麻烦请教下是哪里问题,从哪里分析找问题呢?
关于STC32G寄存器堆结构图的疑问
2024-3-21 11:23 来自 newlined 发布@ 综合讨论
大家好,这个寄存器堆结构图的疑问的帖子不知道发在哪个板块,先发在这里,版主若感到不合适,请给转到其他的板块,谢谢。
在STC32G的说明书10.2.2章节中有下面图:在这个图中,我们可以看到寄存器组 0-寄存器组 3占用了00H到1FH的地址,图中也说明了寄存器组,通过PSW 中的 RS0和RS1进行选择。这是不是传统51中的R0~R7?
在STC32G的说明书10.2.2章节中有下面图:在这个图中,我们可以看到寄存器组 0-寄存器组 3占用了00H到1FH的地址,图中也说明了寄存器组,通过PSW 中的 RS0和RS1进行选择。这是不是传统51中的R0~R7?
STC8A8K64S4A12与STC8A8K64D4替换问题
2024-3-21 11:11 来自 stonebull 发布@ 综合讨论
以前STC8A8K64S4A12写的IO口程序,改为开漏后,上电就输出高电平。
改为STC8A8K64D4后,发现有些IO口设置为双向口后,
上电后都会延时大概300MS才变为高电平,因为硬件设计问题,
这个时间不能容忍,想问下怎样分辨哪些口有延时,哪些没有?
还是软件设置有问题。
改为STC8A8K64D4后,发现有些IO口设置为双向口后,
上电后都会延时大概300MS才变为高电平,因为硬件设计问题,
这个时间不能容忍,想问下怎样分辨哪些口有延时,哪些没有?
还是软件设置有问题。