STC8G 添加了STC8_MDU16_V1.1 16位乘除库为啥会影响到XDATA区
2024-7-3 23:45 来自 飞捷 发布@ 综合讨论
STC8G 添加了STC8_MDU16_V1.1 16位乘除库为啥会影响到XDATA区,
有哪里需要注意的吗?除了显示两个警告(只是没有调用库里的函数),
然后有装载库的时候会影响到我定义的数组XDATA区,
如果没有装载库,XDATA区就正常了
有哪里需要注意的吗?除了显示两个警告(只是没有调用库里的函数),
然后有装载库的时候会影响到我定义的数组XDATA区,
如果没有装载库,XDATA区就正常了
手电的待机功耗太高了.2ma .设置了掉电模式, 尴尬,不会唤醒
2024-7-3 20:58 来自 vb2002 发布@ 综合讨论
手电的功能弄好了.
功耗太高,有2ma,估计放几天就没电了
设置了掉电模式 pcon = 0x02;
没有电流了.但是问题来了.
不会唤醒了
现在是按P32 开关和调光.
想用P32直接拿来唤醒.按下打开手电并退出掉电模式
关闭的时候 开启掉电模式
#include <STC8G.H>
#include "intrins.h"
#define MAIN_Fosc 11059200UL
unsigned int pwm_levels = {5,15 ,80,255 };
unsigned char PWM_SAVE;
sbit KEY1 = P3^2;
bit key_flag;
unsigned char PWM_MODE;
unsigned char time_out;
void PWM_init(void)
{
CCON = 0x00;
CMOD = 0x08;
CL = 0x00;
CH = 0x00;
CCAPM1 = 0x42;
PCA
功耗太高,有2ma,估计放几天就没电了
设置了掉电模式 pcon = 0x02;
没有电流了.但是问题来了.
不会唤醒了
现在是按P32 开关和调光.
想用P32直接拿来唤醒.按下打开手电并退出掉电模式
关闭的时候 开启掉电模式
#include <STC8G.H>
#include "intrins.h"
#define MAIN_Fosc 11059200UL
unsigned int pwm_levels = {5,15 ,80,255 };
unsigned char PWM_SAVE;
sbit KEY1 = P3^2;
bit key_flag;
unsigned char PWM_MODE;
unsigned char time_out;
void PWM_init(void)
{
CCON = 0x00;
CMOD = 0x08;
CL = 0x00;
CH = 0x00;
CCAPM1 = 0x42;
PCA
将数组定义到XRAM中
2024-7-3 20:55 来自 欢迎哈哈哈3 发布@ 综合讨论
大佬们,问下,在使用STC8A8K64D4定义数组时,由于数组中的数太多了,所以我就使用XDATA
//定义扩展RAM大小
#define RAM_SIZE 8192
//测试数组 使用xdata定义后该变量的数据将存储在外部扩展ram中
unsigned char xdata Test_Array1; //数组的总大小不超过8192
已经定义了,但是在向数组理存数据的时候。如下
Test_Array1={1,2};
运行后出现这个错误:BUS.C(15): error C231: 'Test_Array1': redefinition
我已经定义了Test_Array1这个数组,为什么不能像普通数组一样,往数组内自由存储数据呢?
麻烦指点下,谢谢了
//定义扩展RAM大小
#define RAM_SIZE 8192
//测试数组 使用xdata定义后该变量的数据将存储在外部扩展ram中
unsigned char xdata Test_Array1; //数组的总大小不超过8192
已经定义了,但是在向数组理存数据的时候。如下
Test_Array1={1,2};
运行后出现这个错误:BUS.C(15): error C231: 'Test_Array1': redefinition
我已经定义了Test_Array1这个数组,为什么不能像普通数组一样,往数组内自由存储数据呢?
麻烦指点下,谢谢了
STC-ISP提供的软件延时函数,为什么不采用主频自适应模式?
2024-7-3 14:12 来自 xxkj2010 发布@ 综合讨论
下面是从STC-ISP中生成的STC8H软件延时程序:
void Delay1ms(void) //STC8H@24.000MHz
{
unsigned char data i, j;
_nop_();
i = 32;
j = 40;
do
{
while (--j);
} while (--i);
}
而在官方例程中,多数都采用频率自适应程序:
STC单片机自适应毫秒级延时函数:
//#define MAIN_Fosc 48000000L //定义主时钟
//#define MAIN_Fosc 44236800L //定义主时钟
//#define MAIN_Fosc 40000000L //定义主时钟
//#define MAIN_Fosc 36864000L //定义主时钟
//#define MAIN_Fosc 35000000L
void Delay1ms(void) //STC8H@24.000MHz
{
unsigned char data i, j;
_nop_();
i = 32;
j = 40;
do
{
while (--j);
} while (--i);
}
而在官方例程中,多数都采用频率自适应程序:
STC单片机自适应毫秒级延时函数:
//#define MAIN_Fosc 48000000L //定义主时钟
//#define MAIN_Fosc 44236800L //定义主时钟
//#define MAIN_Fosc 40000000L //定义主时钟
//#define MAIN_Fosc 36864000L //定义主时钟
//#define MAIN_Fosc 35000000L
咨询pwma编码器p2口设置脉冲数的程序
2024-7-3 08:55 来自 yangtao123 发布@ 综合讨论
pwma相关库函数中,有个pwma编码器p2口设置脉冲数的程序,我修改了用p1口,但是计数的设置脉冲数中断没有反应,@梁工,@陈工,能否指点一下
pwm输出调试完成,上机给NMOS管给到LED .反了!!!
2024-7-2 15:38 来自 vb2002 发布@ 综合讨论
pwm输出调试完成,上机给NMOS管给到LED .反了!!!
用单独的led输出测试好好的.
但是上了NMOS AO3400,结果反了.本来是12340档.现在变成 4321 没有0了
是MOS管问题还是???
单独LED 用的共阳.
NMOS 也是用的 49668
用单独的led输出测试好好的.
但是上了NMOS AO3400,结果反了.本来是12340档.现在变成 4321 没有0了
是MOS管问题还是???
单独LED 用的共阳.
NMOS 也是用的 49668
单片机的内部晶振IRC频率选择36.864是用在什么场合?
2024-7-2 09:03 来自 飞捷 发布@ 综合讨论
单片机的内部晶振IRC频率选择36.864是用在什么场合?
一般我们串口通信都是选择11.0596的倍数,但是发现内部IRC超过30M的频率很多都不是这个倍数,那么这个倍数是用在什么场合的? 例如36.864 , 45.1584 50.8032
一般我们串口通信都是选择11.0596的倍数,但是发现内部IRC超过30M的频率很多都不是这个倍数,那么这个倍数是用在什么场合的? 例如36.864 , 45.1584 50.8032
为什么有些指令时钟数STC32能确定多少时钟数,其它STC8都没有显示出来
2024-7-1 21:15 来自 飞捷 发布@ 综合讨论
为什么有些指令时钟数STC32能确定多少时钟数,其它STC8都没有显示出来
stc8g1k17应该如何更改pwm占空比
2024-7-1 16:50 来自 慕月 发布@ 综合讨论
49413
我这边根据CCAP0L后面给的公式,我是pca0输出6位pwm,经计算应该输出PWM占空比为零的波形但是还是为50%
我这边根据CCAP0L后面给的公式,我是pca0输出6位pwm,经计算应该输出PWM占空比为零的波形但是还是为50%
STC8051U封装脚位,为什么把VCC跟GND距离拉那么远?
2024-7-1 16:18 来自 网老四 发布@ 综合讨论
新出的STC8051U单片机.封装脚位,出于什么原因把供电VCC脚跟GND脚距离很远?
这样安排恐怕不利于PCB走线时,就近放置去耦电容.会不会引起噪声问题?
49390
这样安排恐怕不利于PCB走线时,就近放置去耦电容.会不会引起噪声问题?
49390
STC8H4K32TL 是否所以IO口都支持中断唤醒
2024-7-1 12:40 来自 ZhangChYu 发布@ 综合讨论
STC8H4K32TL 是否所以IO口都支持中断唤醒 跟INT0这些是否一样 只是多了一些寄存器配置
用积分兑换的芯片收到了,两种芯片发两个件,原来是
2024-7-1 08:36 来自 xxkj2010 发布@ 综合讨论
本帖最后由 xxkj2010 于 2024-7-1 14:06 编辑
首先得感谢STC的大方,为学习者提供如此优秀的平台和如此优越的条件,坛友可以使用论坛积分兑换芯片。
本人于6月26日用积分兑换了两款芯片:STC8H8K64U-SOP16和STC32G12K128-35I-LQFP48,
其中STC8H8K64U-SOP16兑换2份,STC32G12K128-35I-LQFP48兑换1份。
平台显示是28号发货的,其实应该不尽是。
顺丰快递真的很快,28号(其实这个件应该是27号发出的)就收到第一个件,29号收到了第2个件。
-----我原以为工作人员会安排同时发货,且只发一个件,结果发了两个件。
觉得有点浪费,后台应该可以清楚看到每人的兑换记录吧,在兑换的时候我写的是同一个地址和电话。
-----STC8H8K64U-SOP16我兑换的是两份,但收到的只有5片。这可能是工作人员疏忽了吧。算了,没关系的。
49308
49309
49310[/attac
首先得感谢STC的大方,为学习者提供如此优秀的平台和如此优越的条件,坛友可以使用论坛积分兑换芯片。
本人于6月26日用积分兑换了两款芯片:STC8H8K64U-SOP16和STC32G12K128-35I-LQFP48,
其中STC8H8K64U-SOP16兑换2份,STC32G12K128-35I-LQFP48兑换1份。
平台显示是28号发货的,其实应该不尽是。
顺丰快递真的很快,28号(其实这个件应该是27号发出的)就收到第一个件,29号收到了第2个件。
-----我原以为工作人员会安排同时发货,且只发一个件,结果发了两个件。
觉得有点浪费,后台应该可以清楚看到每人的兑换记录吧,在兑换的时候我写的是同一个地址和电话。
-----STC8H8K64U-SOP16我兑换的是两份,但收到的只有5片。这可能是工作人员疏忽了吧。算了,没关系的。
49308
49309
49310[/attac
STC单片机进入中断需要多少个周期?执行IF语句需要花费多少机器周期?
2024-6-30 23:16 来自 飞捷 发布@ 综合讨论
STC单片机进入中断需要多少个周期?例如进入PCA中断的过程中,需要花费多少个机械周期。
然后执行IF语言的过程需要花费多少个机器周期?
发现在PCA中断过程中 加入
if(Y0==1)
{
plus0_now_plus++;
PCA_value+= PCAHZ1;
}
if(Y0==0)
{
PCA_value+= PCAHZ2;
}
发的PWM的频率最高只有80KHZ,但是不加上面这几句IF判断,频率能达到150KHZ以上
然后执行IF语言的过程需要花费多少个机器周期?
发现在PCA中断过程中 加入
if(Y0==1)
{
plus0_now_plus++;
PCA_value+= PCAHZ1;
}
if(Y0==0)
{
PCA_value+= PCAHZ2;
}
发的PWM的频率最高只有80KHZ,但是不加上面这几句IF判断,频率能达到150KHZ以上
红外发射求助
2024-6-30 20:04 来自 呵呵哥 发布@ 综合讨论
#ifndef STC8_H
#define STC8_H
#include <STC8G.H>
#endif
#include<intrins.h>
#include "Timer0.h"
//以12MHZ烧录
void Delay3000ms(void) //@11.0592MHz
{
unsigned char data i, j, k;
_nop_();
i = 169;
j = 80;
k = 87;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main()
{
P5M0 |= 0x10; P5M1 &= ~0x10;
Timer0_Init();
P54 = 0;
while(1)
{
SendCode(0xfc,0xAf);//1111 1100 0110 1001
Delay3000ms();
#define STC8_H
#include <STC8G.H>
#endif
#include<intrins.h>
#include "Timer0.h"
//以12MHZ烧录
void Delay3000ms(void) //@11.0592MHz
{
unsigned char data i, j, k;
_nop_();
i = 169;
j = 80;
k = 87;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main()
{
P5M0 |= 0x10; P5M1 &= ~0x10;
Timer0_Init();
P54 = 0;
while(1)
{
SendCode(0xfc,0xAf);//1111 1100 0110 1001
Delay3000ms();
实在是没办法了,弄了一晚上了还是弄不好 AI 帮人写的代码
2024-6-29 23:35 来自 vb2002 发布@ 综合讨论
这段代码用 AI 编程写的.
试了很多遍,现在只能实现按键换挡,一直这样循环.
我的代码想要 按键换挡,但是如果3秒内没有换挡,
再次按下按键,就关闭LED. 最好是加上 记忆上次关闭时的档位.
下次开机直接进入上次关闭时的档位.
感觉是定时器中断没有 参与进来.
麻烦大神们帮看看把.苦恼死我了
#include <STC8G.H>
#include "intrins.h"
sbit LED1=P3^3;
sbit KEY1=P3^2;
#define MAIN_Fosc 11059200UL
#define ON 0
#define OFF 1
typedef unsigned char u8;
typedef unsigned int u16;
static u8 ld = 0;
static u8 gear = 0;
static u16 noShiftTime = 0; // 自上次换挡以来的时间
void pwm_init(void);
voi
试了很多遍,现在只能实现按键换挡,一直这样循环.
我的代码想要 按键换挡,但是如果3秒内没有换挡,
再次按下按键,就关闭LED. 最好是加上 记忆上次关闭时的档位.
下次开机直接进入上次关闭时的档位.
感觉是定时器中断没有 参与进来.
麻烦大神们帮看看把.苦恼死我了
#include <STC8G.H>
#include "intrins.h"
sbit LED1=P3^3;
sbit KEY1=P3^2;
#define MAIN_Fosc 11059200UL
#define ON 0
#define OFF 1
typedef unsigned char u8;
typedef unsigned int u16;
static u8 ld = 0;
static u8 gear = 0;
static u16 noShiftTime = 0; // 自上次换挡以来的时间
void pwm_init(void);
voi
测试 STC8H4K64TL驱动2串3.6V数码管
2024-6-28 21:50 来自 chwei1 发布@ 综合讨论
极致精简电路STC8H4K64TL驱动单个1.5寸2串3.6V共阳数码管.供电电压5V
PCB原理图如下:
48936
48938
48940
使用USB表监控电流
LEDCTRL = 0x80 + (2<<4) + 7
占空比设置为7时,表头电流显示20ma左右
能显示比较暗
LEDCTRL = 0x80 + (2<<4) + 0
占空比设置为0时,表头电流最大显示31ma左右
亮度已经很不错了。
测试过程中LEDCTRL B5,B4 设为2(共阴共阳输出)占空比不变都为0时,数码管亮度比B5,B4 设为1(共阳输出)亮度要低不少。
http://112.74.51.126/forum.php?mod=attachment&aid=NDg5NDJ8NmZhMDFmNDcxYzg1ZDU0ZmM5MTU1YjYwMWJiYmY1NjN8MTc1MTM0NjgxMw%3D%3D&request=yes&_f=.mp4
http://112.74.51.126/forum.php?mod=attachment&aid=NDg5NDN8MGIxNjQ5OGEyODBlYjk3N2ZlMDBmYmZhZTFlMWNkNGJ8MTc1MTM0NjgxMw%3D%3D&request=yes&_f=.mp4
http://112.74.51.126/forum.php?mod=attachment&aid=NDg5NDR8YjE5MzU1MGVhMDEwOTVmOWEzNjg5ZDE0NzVlYzM2ZTh8MTc1MTM0NjgxMw%3D%3D&request=yes&_f=.mp4
数码管小数点
PCB原理图如下:
48936
48938
48940
使用USB表监控电流
LEDCTRL = 0x80 + (2<<4) + 7
占空比设置为7时,表头电流显示20ma左右
能显示比较暗
LEDCTRL = 0x80 + (2<<4) + 0
占空比设置为0时,表头电流最大显示31ma左右
亮度已经很不错了。
测试过程中LEDCTRL B5,B4 设为2(共阴共阳输出)占空比不变都为0时,数码管亮度比B5,B4 设为1(共阳输出)亮度要低不少。
http://112.74.51.126/forum.php?mod=attachment&aid=NDg5NDJ8NmZhMDFmNDcxYzg1ZDU0ZmM5MTU1YjYwMWJiYmY1NjN8MTc1MTM0NjgxMw%3D%3D&request=yes&_f=.mp4
http://112.74.51.126/forum.php?mod=attachment&aid=NDg5NDN8MGIxNjQ5OGEyODBlYjk3N2ZlMDBmYmZhZTFlMWNkNGJ8MTc1MTM0NjgxMw%3D%3D&request=yes&_f=.mp4
http://112.74.51.126/forum.php?mod=attachment&aid=NDg5NDR8YjE5MzU1MGVhMDEwOTVmOWEzNjg5ZDE0NzVlYzM2ZTh8MTc1MTM0NjgxMw%3D%3D&request=yes&_f=.mp4
数码管小数点