开源STC51单片机+DS18B20精简温度计(只需三个元件).zip
时间:10-25 09:47
查看:3581次
下载:162次
简介:
硬件只需STC单片机+DS18B20+3位共阴数码管
单片机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());//刷新显示温度
}
}
/*****************************************************************************/