有没有能兼容STC8H8K64U和STC89C58RD的DS18B20的程序?
有没有能兼容STC8H8K64U和STC89C58RD的DS18B20的程序?我遇到一问题,我的DS18B20温度传感器的程序,在STC8H8K64U上都能正常运行,在STC89C58RD+上不能运行,采集不到数据!你这边有什么解决方法或能用的测试程序?
STC8H的指令执行速度比STC89系列快很多。
在STC89上需要修改延时时间。 两个MCU速度差太多了,STC89C58RD+要减小延时,示波器看看时序,只要时序准确,什么MCU都可以读。 本帖最后由 xxkj2010 于 2024-1-13 20:01 编辑
我觉得只能从预编译上去处理兼容问题,类似我以前写的毫秒级延时
不知道行不行
#define XINGHAO12//12--STC12C5A60S2;52--STC89C52;89--AT89S52
void delay_ms(unsigned int t)
{
unsigned char i, j;
while(t--)
{
#if XINGHAO==12
_nop_();//STC12C5A60S2
i = 11;
j = 190;
do
{
while (--j);
} while (--i);
#elif XINGHAO==52
_nop_();//STC89C52
i = 2;
j = 199;
do
{
while (--j);
} while (--i);
#elif XINGHAO==89
for(i=4;i>0;i--)//AT89S52
for(j=113;j>0;j--);
#endif
}
}
让单片机自己识别,估计有一定的难度。 谢谢各位,我觉得在STC8H8K64U的DS18B20的延时程序乘以12,做个判断,就可以兼容STC89C58RD+。要是DS18B20芯片可以做到自适应就更好了,这个温度传感器有改进的余地!!! 希望各位参与讨论!我的TM1637驱动LED数码管程序,不需要更改,STC8H8K64U和STC89C58RD+都能用。这种芯片很好!兼容性很好!!!! 梁工 发表于 2024-1-12 22:39
两个MCU速度差太多了,STC89C58RD+要减小延时,示波器看看时序,只要时序准确,什么MCU都可以读。 ...
我也想知道怎么使用示波器来看时序,有这方面的实际操作视频吗? hadv 发表于 2024-1-20 09:10
我也想知道怎么使用示波器来看时序,有这方面的实际操作视频吗?
示波器有扫描速度,有时间刻度,看时间参数即可。 梁工 发表于 2024-1-20 13:03
示波器有扫描速度,有时间刻度,看时间参数即可。
好的 谢谢 梁工
页:
[1]
2