单片机STC15W408AS(内部集成了高精度可调晶振)通过DS18B20读取温度,用推挽方式直接驱动3位共阴数
码管显示温度。(0-99.9摄氏度)
单片机和数码管叠罗汉(单片机插在面包板上后数码管插在面包板单片机引脚对应的位置)
温度
连线简单
共阴极数码管要连接对了
程序中DS18B20.H驱动不适合直接用于STC89/STC90系列及其他公司的单片机(延时时间不同需修改)
/*********************************************************************************************程序名: 3位共阴数码管显示温度 编写人: 刘海龙(部分程序来自网络) 编写时间: 2016年7月3日 硬件支持: STC15W408AS单片机(12M晶振)+DS18B20+共阴数码管 接口说明: P5.5接口接DS18B20单总线 /*********************************************************************************************/ #include <STC15w.h> #include <intrins.h> #include <4LED_YIN.h> #include <DS18B20.h> /*******************************************/ void delay1ms (unsigned int a){ // 1ms延时程序 unsigned int i; while( --a != 0){ for(i = 0; i < 630; i++);//STC单片机在晶振为12MHz时i值上限为630 } //AT89C51单片机在外部晶振为12MHz时i值上限为125 } /**********************************************************************************************/ void main (void){ unsigned char i; delay1ms(300); // init(); while(1){//主循环 disp(ReadTemperature());//刷新显示温度 } } /*****************************************************************************/
复制代码