1、 单片机应用系统(三级)项目单片机应用系统(三级)项目 设计说明书设计说明书 (2012/2013 学年第二学期) 题 目 : 基于热敏电阻的数字温度计 _ 专业班级 : 电子信息工程 1021 设计周数 : 设计成绩 : 2013 年 6 月 28 日 基于热敏电阻的数字温度计 第 1 页 共 22 页 目录目录 1 实验设计目的 2 2 系统软件设计 2 2.1 软件总体流程设计 . 2 2.2 系统设计及主要程序 3 2.2.1 系统主函数 3 2.2.2 汉显 lcd12864 4 2.2.3 时钟芯片 DS1302. 6 2.2.4ADC0832 11 2.3 上位机设计及主要代码
2、.14 2.3.1SerialPort 组件14 2.3.2 串口操作 .15 2.3.3 数据的接收 .15 2.3.4 保存数据与清空数据 .17 3 系统硬件电路设计 17 3.1 恒温桥电路 .17 3.2 信号放大电路 .18 3.3A/D 转换电路 .18 3.4 控制电路 19 3.5 显示电路 20 4 总结与展望 20 参考文献.21 基于热敏电阻的数字温度计 第 2 页 共 22 页 1 1 实验实验设计目的设计目的 随着以知识经济为特征的信息化时代的到来人们对仪器仪表的认识更加深入,温度作 为一个重要的物理量,是工业生产过程中最普遍,最重要的工艺参数之一。随着工业的不断
3、发展,对温度的测量的要求也越来越高,而且测量的范围也越来越广,对温度的检测技术的 要求也越来越高,因此,温度测量及其测量技术的研究也是一个很重要的课题。 本系统的温度测量采用的就是热阻效应。 温度测量模块主要为温度测量电桥, 当温度发 生变化时,电桥失去平衡,从而在电桥输出端有电压输出,但该电压很小。将输出的微弱电 压信号通过 OP07 放大,将放大后的信号输入 AD 转换芯片, 进行 A/D 转换后,就可以用 单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。 2 2 系统软件设计系统软件设计 2.12.1 软件总体流程设计软件总体流程设计 软件设计采用 c 语言编程, 运用模块
4、化程序设计思想, 对不同功能模块的程序进行分别 编程,以便移植或调用,这样使软件层次结构清晰,有利于软件的调试修改。 数字温度计系统软件部分采用模块化设计思想,将系统分为主程序、初始化处理模块、 单 片 机 显 示 模 块 电 源 模 块 测 温 模 块 信号 放大 模块 AD 转 换 模 块 图 1-1 系统框图 基于热敏电阻的数字温度计 第 3 页 共 22 页 中断检测模块、延时处理模块、数据处理模块、显示模块,其软件系统的主程序实现流程如 下图所示: 2.22.2 系统设计及主要程序系统设计及主要程序 2.2.12.2.1 系统主函数系统主函数 程序的入口,分别调用了其他头文件,实现了
5、 lcd12864 汉显的显示,DS1302 时钟芯片 时间的运行,ADC0832 模数转换。主要代码实现如下: #include “reg52.h“ #include “intrins.h“ #include “lcd12864.h“ #include “DS1302.h“ #include “ADC0832.h“ #define uchar unsigned char #define uint unsigned int void main( void ) Com_Init(); v_Lcd12864Init_f() ; v_Lcd12864PutString_f( 1,0, “年“) ;
6、开 始 DS1302 时钟信息采集 数据处理 12864 显示 结 束 系统初始化 PT100 温度采集 图 2-1 系统软件流程 基于热敏电阻的数字温度计 第 4 页 共 22 页 v_Lcd12864PutString_f( 3,0, “月“) ; v_Lcd12864PutString_f( 5,0, “日“) ; v_Lcd12864PutString_f( 1,1, “时“) ; v_Lcd12864PutString_f( 3,1, “分“) ; v_Lcd12864PutString_f( 5,1, “秒“) ; v_Lcd12864PutString_f( 5,2, “); while(1) Run_DS1302(); displayADC (); send(); _nop_; 2.2.22.2.2 汉显汉显 lcd12864lcd12864 主要实现汉显 lcd12864 接收时钟芯片 DS1302 与 A/D 转换