简简单单做个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 编辑
各位大神,帮忙看下触摸怎么没反应,急需大神帮助!!!代码和图片在附件!跪拜
各位大神,帮忙看下触摸怎么没反应,急需大神帮助!!!代码和图片在附件!跪拜
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函数******