找回密码
 立即注册
查看: 1129|回复: 10

有没有能兼容STC8H8K64U和STC89C58RD的DS18B20的程序?

[复制链接]

2

主题

3

回帖

22

积分

新手上路

积分
22
发表于 2024-1-12 15:29:29 | 显示全部楼层 |阅读模式
有没有能兼容STC8H8K64U和STC89C58RD的DS18B20的程序?

我遇到一问题,我的DS18B20温度传感器的程序,在STC8H8K64U上都能正常运行,在STC89C58RD+上不能运行,采集不到数据!你这边有什么解决方法或能用的测试程序?

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6843

积分

论坛元老

积分
6843
发表于 2024-1-12 17:40:06 | 显示全部楼层
STC8H的指令执行速度比STC89系列快很多。
在STC89上需要修改延时时间。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2024-1-12 22:39:17 | 显示全部楼层
两个MCU速度差太多了,STC89C58RD+要减小延时,示波器看看时序,只要时序准确,什么MCU都可以读。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:521
  • 最近打卡:2025-05-02 09:38:13

109

主题

1900

回帖

5214

积分

论坛元老

积分
5214
发表于 2024-1-13 19:58:41 | 显示全部楼层
本帖最后由 xxkj2010 于 2024-1-13 20:01 编辑

我觉得只能从预编译上去处理兼容问题,类似我以前写的毫秒级延时
不知道行不行
  1. #define XINGHAO  12  //12--STC12C5A60S2;52--STC89C52;89--AT89S52
  2. void delay_ms(unsigned int t)
  3. {
  4.     unsigned char i, j;
  5.     while(t--)
  6.         {
  7.                
  8.                 #if XINGHAO==12
  9.                
  10.                 _nop_();//STC12C5A60S2
  11.                 i = 11;
  12.                 j = 190;
  13.                 do
  14.                 {
  15.                         while (--j);
  16.                 } while (--i);        
  17.                
  18.                
  19.                 #elif XINGHAO==52        
  20.                
  21.                 _nop_();//STC89C52
  22.                 i = 2;
  23.                 j = 199;
  24.                 do
  25.                 {
  26.                         while (--j);
  27.                 } while (--i);
  28.                
  29.                 #elif XINGHAO==89               
  30.                
  31.                 for(i=4;i>0;i--)//AT89S52
  32.                         for(j=113;j>0;j--);
  33.                 #endif
  34.         }
  35.                     
  36. }
复制代码


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:521
  • 最近打卡:2025-05-02 09:38:13

109

主题

1900

回帖

5214

积分

论坛元老

积分
5214
发表于 2024-1-13 19:59:55 | 显示全部楼层
让单片机自己识别,估计有一定的难度。
回复 支持 反对

使用道具 举报 送花

2

主题

3

回帖

22

积分

新手上路

积分
22
发表于 2024-1-18 16:09:34 | 显示全部楼层
谢谢各位,我觉得在STC8H8K64U的DS18B20的延时程序乘以12,做个判断,就可以兼容STC89C58RD+。要是DS18B20芯片可以做到自适应就更好了,这个温度传感器有改进的余地!!!
回复 支持 反对

使用道具 举报 送花

2

主题

3

回帖

22

积分

新手上路

积分
22
发表于 2024-1-18 16:12:53 | 显示全部楼层
希望各位参与讨论!我的TM1637驱动LED数码管程序,不需要更改,STC8H8K64U和STC89C58RD+都能用。这种芯片很好!兼容性很好!!!!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:37
  • 最近打卡:2025-04-24 09:00:03

2

主题

36

回帖

134

积分

注册会员

积分
134
发表于 2024-1-20 09:10:26 | 显示全部楼层
梁*** 发表于 2024-1-12 22:39
两个MCU速度差太多了,STC89C58RD+要减小延时,示波器看看时序,只要时序准确,什么MCU都可以读。 ...

我也想知道怎么使用示波器来看时序,有这方面的实际操作视频吗?

点评

示波器有扫描速度,有时间刻度,看时间参数即可。  详情 回复 发表于 2024-1-20 13:03
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2024-1-20 13:03:55 | 显示全部楼层
ha*** 发表于 2024-1-20 09:10
我也想知道怎么使用示波器来看时序,有这方面的实际操作视频吗?

示波器有扫描速度,有时间刻度,看时间参数即可。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:37
  • 最近打卡:2025-04-24 09:00:03

2

主题

36

回帖

134

积分

注册会员

积分
134
发表于 2024-1-20 14:37:09 | 显示全部楼层
梁*** 发表于 2024-1-20 13:03
示波器有扫描速度,有时间刻度,看时间参数即可。

好的 谢谢 梁工
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 20:47 , Processed in 0.170416 second(s), 103 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表