为帮助仍徘徊在单片机门前的学习者,本文将一款入门级数字温度计作品共享,采用DS18B20单总线数字温度传感器与51单片机实现,附有仿真与完整注释源码,仿真通过后实物一般即可工作。
电路各管脚配置以仿真图形给出。软件基于C51实现:通过P3.2单总线与DS18B20通信,实现总线复位、读写字节、发起转换、(跳过ROM)读取温度;对读出的高8位判断正负(负温度求补码)、提取小数与整数部分,得到温度值后经4位共阳数码管动态扫描显示,并在负温度时最高位显示“-”。最左边数码管可由定时中断控制闪烁作为指示。完整C语言源码与实物图见附图。

