找回密码
 立即注册
查看: 296|回复: 0

基于STC8和STC32实现DS18B20温度的4位数码管显示

[复制链接]
  • TA的每日心情
    开心
    12 小时前
  • 签到天数: 176 天

    [LV.7]常住居民III

    24

    主题

    130

    回帖

    491

    积分

    中级会员

    积分
    491
    发表于 2024-2-19 16:40:24 | 显示全部楼层 |阅读模式
    本帖最后由 lijinlei 于 2024-2-19 16:52 编辑

    基于前面对于 DS18B20 温度计串口通信的研究,进一步实现温度数值的4位数码管显示。这里采用 2 个 74HC595 芯片级联的 4 位共阳数码管显示 DS18B20 测得的环境温度数值,并保留一位小数和正负值判断,显示效果如图所示,代码见附件。



    这里需要注意十位、个位、一位小数的依次显示之间的延时取值,若延时过短,会导致最后一位 (即小数) 显示亮度过大。
    这是因为当程序显示小数后重新回到程序起始需要一定时间,这段时间只有小数位仍然常亮,其他位熄灭,因此最后一位亮度相对较大。解决办法便是增加每个数字的点亮时间。
    延时取值的大小取决于单片机的响应速度,这里延时设为 2 毫秒。

    温度显示

    温度显示

    负温度显示

    负温度显示

    STC8H.zip

    5.32 KB, 下载次数: 12

    Code_STC8H

    STC32G.zip

    5.46 KB, 下载次数: 5

    Code_STC32G

    2 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
    MCU开发者和爱好者
    回复 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-20 12:26 , Processed in 0.057214 second(s), 32 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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