基于C51单片机数字温度计设计制作

loading 分享 2026-8-21 下载文档

结 论

本次毕业设计基于MCS-51系列的单片机芯片STC89C51来设计一个数字温度计,该设计充分利用了温度传感器DS18B20功能强大的优点,如DS18B20可以直接读出被测温度值,进行转换;而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本与易使用的特点,大大减少了硬件电路,也使得该数字温度计具有结构简单、成本低廉、精确度较高、反应速度较快、数字化显示和不易损坏等特点,而且性能稳定,适用范围广,因此特别适用于对测温要求比较准确的场所。

14

参考文献

[1] 李建忠?单片机原理及应用?第二版?[M] ?西安:西安电子科技大学出版社 ,2008.5。

[2] 何立民?单片机应用技术大全?[M] ?北京:北京航空航天大学出版社,1994。 [3] 袁希光?传感器技术手册?[M] ?北京:国防工业出版社,1986。 [4] 冯英?传感器电路原理与制作?[M] ?成都:成都科技大学出版社,1997。 [5] 张有德,赵志英.《单片微型机原理、应用于实验》.复旦大学出版社,2000.4。 [6] 赵新民,王祁.智能仪器设计基础.哈尔滨:哈尔滨工业大学出版社,1999。 [7] 黄亮?基于AT89C2051串口的LED数码管显示电路?[J]《?电子制作》,2006,第08期。

[8]truelmz,DS18B20工作原理

http://wenku.http://www.china-audit.com//view/1134cc8271fe910ef12df858.html,2010.8。 [9] yh3099 ,DS18B20,http://baike.http://www.china-audit.com//view/1341776.htm,2011,10。

15 22

附录A 源程序

#include #include

#define uchar unsigned char #define uint unsigned int #include\#include\

unsigned char code digit[10]={\定义字符数组显示数字 unsigned char code Str[]={\说明显示的是温度 unsigned char code Error[]={\说明没有检测到DS18B20

unsigned char code Temp[]={\说明显示的是温度 unsigned char code Cent[]={\温度单位 uchar time;

/********函数功能:显示没有检测到DS18B20******/ void display_error(void) {

uchar i;

WriteAddress(0x00);//显示的数据是在第一行第一列 i = 0;

while(Error[i] != '\\0') {

lcd_wdat(Error[i]); i++;

delay_ms(100); }while(1) ;

16 22

}

/***************************************************** 函数功能:显示说明信息

**********************************************/ void display_explain(void) {

uchar i;

WriteAddress(0x00);//显示的数据是在第一行第一列 i = 0;

while(Str[i] != '\\0') {

lcd_wdat(Str[i]); i++;

delay_ms(100); } }

/**************显示温度Temp符号**************/ void display_symbol(void) {

uchar i;

WriteAddress(0x40); //写显示地址,将在第2行第1列开始显示

i = 0 ;

while(Temp[i] != '\\0') {

lcd_wdat(Temp[i]); i++;

delay_ms(50);

17 22


基于C51单片机数字温度计设计制作.doc 将本文的Word文档下载到电脑
搜索更多关于: 基于C51单片机数字温度计设计制作 的文档
相关推荐
相关阅读