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

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

[复制链接]

该用户从未签到

2

主题

3

回帖

22

积分

新手上路

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

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

回复 送花

使用道具 举报

  • TA的每日心情
    奋斗
    4 小时前
  • 签到天数: 145 天

    [LV.7]常住居民III

    27

    主题

    1361

    回帖

    4231

    积分

    论坛元老

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

    使用道具 举报

    该用户从未签到

    46

    主题

    3054

    回帖

    6887

    积分

    超级版主

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

    使用道具 举报

  • TA的每日心情
    开心
    6 小时前
  • 签到天数: 176 天

    [LV.7]常住居民III

    67

    主题

    866

    回帖

    2912

    积分

    金牌会员

    积分
    2912
    发表于 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. }
    复制代码


    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    6 小时前
  • 签到天数: 176 天

    [LV.7]常住居民III

    67

    主题

    866

    回帖

    2912

    积分

    金牌会员

    积分
    2912
    发表于 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+都能用。这种芯片很好!兼容性很好!!!!
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-2-27 16:37
  • 签到天数: 30 天

    [LV.5]常住居民I

    2

    主题

    34

    回帖

    102

    积分

    注册会员

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

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

    点评

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

    使用道具 举报

    该用户从未签到

    46

    主题

    3054

    回帖

    6887

    积分

    超级版主

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

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

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-2-27 16:37
  • 签到天数: 30 天

    [LV.5]常住居民I

    2

    主题

    34

    回帖

    102

    积分

    注册会员

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

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-21 13:35 , Processed in 0.074652 second(s), 69 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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