




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四川师范大学成都学院通信原理课程设计 i 四川师范大学成都学院现代通信原理课程设计 基于单片机的基于单片机的数字温度计测控仪 学生姓名陈陈 兵兵 学 号20101010662010101066 所 在 系通信工程系通信工程系 专业名称通信工程通信工程 班 级20102010 级通信级通信 1 1 班班 指导教师 孙孙 活活 四川师范大学成都学院 二一二年十一月 四川师范大学成都学院通信原理课程设计 i 数字温度计测控仪的设计 学生:陈 兵 指导教师:孙活 内容摘要:随着单片机技术的迅速发展,单片机的应用正在不断地推广,由于它具 有体积小,功能全,功耗低,价格便宜,性价比高,工作可靠方便等诸多优点而独具 特色,所以在与微控制有关的系统中应用非常广泛。在日常生活及工业生产过程中, 温度是生产过程和科学实验中普遍而且重要的物理量。温度测量是生活中和工程领域 中经常要解决的问题。传统的测温元件有热电阻和热电偶。然而其测出的一般都是电 压,进而转换成对应的温度,在这过程中需要较多的外部硬件支持,硬件电路和软件 调试也相对复杂,而且制作成本也非常高。而数字温度计的设计是采用 stc89c52 单片 机为主控制芯片和美国 dallas 半导体公司推出的智能温度传感器 ds18b20 为检测元件 组成的温度控制系统。因为 ds18b20 可以直接读出温被测温度值,而且采用“一线总 线” ,减少了外部的硬件电路,具有易使用和高精度的特点。根据功能要求系统设计了 相关的硬件电路和应用程序。硬件电路主要包括 stc89c52 单片机最小系统,测温电路、 数码管显示电路等。程序主要包括主程序,读出温度子程序,温度转换命令子程序, 计算温度子程序,数码管显示程序等。 关键词:关键词:温度 单片机 ds18b20 数字温度计 四川师范大学成都学院通信原理课程设计 ii digitaldigital thermometerthermometer measurementmeasurement andand controlcontrol instrumentinstrument designdesign abstract:abstract: with the rapid development of single-chip microcomputer technology, the application of single chip microcomputer, is continuously promotion, because it has small volume, the function is complete, low power consumption, low price and high performance/price ratio, reliable work is convenient wait for a lot of advantage and unique, so in and micro control the related system application is very wide. in our daily life and industrial production process, the temperature is the process of the production and scientific experiment widespread and important physical quantity. temperature measurement is life and in the field of engineering often want to solve the problem. the traditional temperature measurement element have thermal resistance and the thermocouple. yet its factors are generally voltage, and then converted to the corresponding temperature, in this process needs more external hardware support, hardware circuit and software debugging is relatively complex, and the production cost is also very high. and the design of the digital thermometer is used mainly stc89c52 single-chip microcomputer control chip and the united states dallas semiconductor company launch of the intelligent temperature sensor ds18b20 for detecting element composition of the temperature control system. because ds18b20 can directly read temperature measured temperature value, but also adopted “a line bus“, reduce the external hardware circuit, has the characteristics of high precision and easy to use. according to the functional requirement system design the related hardware circuit and applications. the hardware circuit stc89c52 including single chip minimize system, temperature measurement circuit, digital tube display circuit, etc. program mainly includes the main program, read temperature subroutine, temperature conversion command subroutine, calculation of temperature 四川师范大学成都学院通信原理课程设计 iii subroutine, digital tube display program. keywords:keywords: temperature mcu ds18b20 digital thermometer 四川师范大学成都学院通信原理课程设计 iv 目 录 前言.1 概述.1 设计目的.1 设计原理.1 设计难点.2 1 系统的总体设计方案2 1.1 总体方案设计 2 1.2 总体设计框图.2 2 开发工具 altium designer 与 keil.3 2.1 keil软件.3 2.1.1 keil 软件简介.3 2.1.2 keil 软件功能.3 2.2 altium designer.4 2.2.1 altium designer 简介.4 2.1.2 altium designer 功能模块.4 2.3 本节小结 6 3 硬件电路设计.6 3.1 单片机控制模块.6 3.1.1 单片机简介.6 3.1.2 单片机最小系统电路12 3.2 max7219 控制的显示电路.12 四川师范大学成都学院通信原理课程设计 v 3.2.1 max7219 简介12 3.2.2 max7219 引脚功能13 3.2.3 max7219 驱动数码管电路图14 3.3 温度监测模块 14 3.3.1 ds18b20 简介14 3.3.2 ds18b20 引脚说明15 3.3.3 ds18b20 电路图15 3.4 温度显示电路 16 3.5 电源模块.16 4 软件设计.16 4.1 主程序 17 4.2 读出温度子程序 17 4.3 温度转换命令子程序 18 4.4 计算温度子程序.19 45 温度数据刷新子程序.19 5 系统的功能.20 6 设计总结20 附录 1:系统电路图22 附录 2:系统 pcb 图23 附录 3:系统源程序24 参考文献:.30 四川师范大学成都学院通信原理课程设计 1 数字温度计测控仪的设计 前言 随着时代的进步,数字化无疑是人们追求的目标之一,它给人们带来了很多方便, 其中数字温度计就是一个很好的例子,一切朝着数字化,智能化控制方向发展。数字 温度计与传统的指针式温度计相比,具有精度高,使用方便,测量范围广,直观的显 示温度等特点,其主要用于科研实验室以及对测温比较准确的场所。 温度计是常用的测量仪器,常用于工业过程中温度的测量。在工业生产中,人们 不仅要了解当前的温度,还希望能了解工作过程中温度的变化情况。随着工业的发展, 对温度测量仪的要求是越来越高的,但数字温度计具有抗干扰能力强,功耗小,可靠 性高,简单的结构等特点,因此其更加适合于工业中对温度在线测量的要求。 本文采用单片机 stc89c52 为主控制芯片设计了温度实时测量及控制系统。单片机 stc89c52 能够根据温度传感器 ds18b20 所采集的温度在数码管上实时显示,通过控制 从而把温度控制在设定的范围之内。 概述 设计目的 随着人们生活水平的提高,单片机的应用也越来越广,单片机的控制也是人们追 求目标之一,它给人们带来很多方便,数字温度计就是一个很好的例子。 本设计介绍了数字温度计与传统的指针式温度计相比,具有很多特点,并且应用 也非常广泛。 在生活中人们可以随处看到数字温度计的踪影。目前,数字温度计在温控系统中 也得到广泛的应用。 设计原理 本设计是基于单片机 at89s52 设计的数字温度计,用来测量环境温度,以及检测 环境温度的变化情况。它的测量范围在-55125。整个系统分为四部分:温度传 感器,单片机控制器,led 数码显示器以及扫描驱动。整个设计的核心是 at89s52,通 过数字温度传感器 ds18b20 来实现温度的测量,并进行 a/d 转换,因此其输出为数字 形式,这就为单片机处理提供了方便,但也同时对编程提高了要求。单片机把测量到 的温度进行相应的计算,使其能在数码管上输出对应的温度。led 数码管采用四位一体 四川师范大学成都学院通信原理课程设计 2 共阳极的数码管。 设计难点 此设计重要部分在与编程,程序要实现对温度的采集,转换,bcd 值的计算,温度 的显示,以及温度的刷新,其外围电路较简单,所以运用的器件相对较少,实现起来 也相对容易。 1 系统的总体设计方案 1.1 总体方案设计 因为本设计是测量温度,因此可以利用热敏电偶之类的元件的感温效应来 测量温 度,并将温度的引起的电压变化采集出来,并将其进行 a/d 转换,就可以利用单片机 对数据进行处理,并经过电路在数码管上显示出来。但是此感温电路比较麻烦,所以 我们直接采用温度传感器 ds18b20,其可以很容易的读取被测温度值,进行转换就可以 实现设计要求,所以给我们的设计带来了很多的方便。 实现温度的测量,我们要考虑的主要是以下三个方面的内容: 温度随时都在变化,要做到对温度的时时监控。 温度的精度很重要,要做到高精度。 测量温度时系统的稳定性要好才行。 于是本设计就是以这三个部分为核心内容展开。 1.2 总体设计框图 数字温度计的总体设计方框图如图所示,温度传感器采用的是 ds18b20,控制器采 用的是单片机 at89c52,用四位共阳极 led 数码管以串口传送数据的方式来实现温度的 显示。 温度传感 器 at89c52 主控制器 四位 led 数码显示 器 扫描驱动 图 1.2-1 总体设计框图 四川师范大学成都学院通信原理课程设计 3 2 开发工具 altium designer 与 keil 2.1 keil 软件 2.1.1 keil 软件简介 keil c51软件开发系统是美国 keil software 公司出品的 51系列兼容单片机 c 语言软件开发系统。 c 语言与汇编相比,在功能上、可读性、结构性、可维护性 上有很大的优势,因而易学易用。 keil c51软件提供丰富的库函数和功能强大的 集成开发调试工具。另外重要的一点,只要看一下编译后生成的汇编代码,就能体 会到 keil c51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容 易理解。在开发大型软件时更能体现高级语言的优势。keil c51软件是一个基于32 位 windows 环境的应用程序,支持 c 语言和汇编语言编程,其6.0以上的版本将编译和 仿真软件统一为 vision(通常称为 v2)。keil 提供包括 c 编译器、宏汇编、连接器、 库管理和一个功能强大的仿真调试器等在内的完整开发方案,由以下几部分组成: vision ide 集成开发环境 c51编译器、a51汇编器、lib51库管理器、bl51连接/定位 器、oh51目标文件生成器以及 monitor-51、rtx51实时操作系统。 2.1.2 keil 软件功能 keil 进行软件仿真开发的主要步骤为:编写源程序并保存建立工程并添加源文 件设置工程编译、连接,产生目标文件程序调试。keil 使用“工程”(project) 的概念,对工程进行编译、连接等操作。工程的建立、设置、编译及连接产生目标文 件的方法非常方便,易于掌握。首先选择菜单 project-new project,建立新工程并 保存;工程保存后会弹出一个设备选择对话框,选择 cpu 后点确定返回主界面。然后 建立源程序文件,然后打开“target1”,选择 source group1,右击鼠标弹出快捷菜 单,选择“add file to group source group1”,出现一个对话框,要求寻找并 加入源文件。加入源程序文件后点 close 返回主界面,就会看到所加入的文件,双击 文件名,即可打开该源程序文件。紧接着对工程进行设置,选择工程管理窗口的 target1,再选择 project-option for targettarget1(或点右键弹出快捷菜单再 选择该选项),打开工程属性设置对话框,共有 8 个选项卡,主要设置工作包括在 target 选项卡中设置晶振频率、在 debug 选项卡中设置实验仿真板等,如要写片,还 必须在 output 选项卡中选中“creat hex fi”;其它选项卡内容一般可取默认值。工 程设置后按 f7 键(或点击编译工具栏上相应图标)进行编译/汇编、连接以及产生目标 文件。 四川师范大学成都学院通信原理课程设计 4 成功编译、连接后,选择菜单 debug-start/stop debug session(或按 ctrl+f5 键)进 入程序调试状态,keil 提供对程序的模拟调试功能,内建一个功能强大的仿真 cpu 以 模拟执行程序。keil 能以单步执行(按 f11 或选择 debug-step)、过程单步执行(按 f10 或选择 debug-step over)、全速执行等多种运行方式进行程序调试。如果发现程序有 错,可采用在线汇编功能对程序进行在线修改(debug-inline assambly),不必执行 先退出调试环境、修改源程序、对工程重新进行编译/汇编和连接、然后再次进入调试 状态的步骤。对于一些必须满足一定条件(如按键被按下等)才能被执行的、难以用单 步执行方式进行调试的程序行,可采用断点设置的方法处理(debug-insert/remove breakpoint 或 debug-breakpoints等)。在模拟调试程序后,还须通过编程器将.hex 目标文件烧写入单片机中才能观察开发板的运行状况。 2.2 altium designer 2.2.1 altium designer 简介 1987-1988 年由美国 accel technologies inc 公司推出了第一个应用于电子线路 设计的软件包 tango,这个软件包开创了电子设计自动化(eda)的先河。 随着电子行业的发展,tango 日益不满足行业的需要。为了满足时代的需要,protel technology 公司推出了 protel for dos 作为 tango 的升级版,从此 protel 的名字在 行业类日益响亮。 20 世纪 80 年代末期,protel 推出了 protel for windows 1.0、protel for windows 1.5 等版本。20 世纪 90 年代中期 protel 推出了 protel 3.x 版本。1998 年 protel 推出了 protel 98,这个版本获得了业界的一致好评。1999 年 protel 有推出 了 protel 99 版本。2005 年 protel 软件的原厂商 altium 推出了 protel 系列的最高 端版本 altium designer。 altium designer 是业界首例将流程、集成化 pcb 设计、 可编程器件设计和基于处理器设计的嵌入式软件开发功能整合在一起的产品。 2.1.2 altium designer 功能模块 库管理:基于单一数据库的一体化的库管理支持所有元件模式,并和三维模型, 数据页以及元件供应商相链接。版本控制和外部项目管理系统的单点控制。 仿真 - 混合信号:spice 3f5/xspice 混合信号电路仿真(同时兼容于 pspice) 。 信号完整性 - 原理图级别:布线前的信号完整性分析,并包含全功能的,使用缺 省 pcb 参数的分析引擎 。 四川师范大学成都学院通信原理课程设计 5 pcb - 板卡定义 void delay_ms(unsigned int); void delay_us(register unsigned int); void temp2str(signed int tmep,unsigned char *); void display(unsigned char *); void start_convert(void); signed int read_temperature(void); unsigned char ow_reset(void); unsigned char ow_read_byte(void); void ow_write_byte(unsigned char val); void main() unsigned char i; unsigned char dispram8; for(i=0;i=1; one_wire_dq=1; delay_us(1); timeslot if(one_wire_dq) value|=0x80; delay_us(25); return(value); /*/ /write_byte-writes a byte from the one-wire bus. /*/ 四川师范大学成都学院通信原理课程设计 27 void ow_write_byte(char val) unsigned char i; for(i=0;i=1; /*/ temperature data to display string function parameter: int tem,pointer of string /*/ void temp2str(signed int temp,unsigned char * ch) unsigned char sign; if(temp=4; ch6=(temp%10)|0x40; 四川师范大学成都学院通信原理课程设计 28 temp/=10; ch5=temp%10; temp/=10; ch4=temp%10; ch3=no_display; if (ch4=0) ch4=no_display; if(ch5=0) ch5= no_display; if(sign) if(ch5= no_display) ch5=disp_gign; else if(ch4= no_display) ch4=disp_gign; else ch3=disp_gign; /*/ 8 led digital tubes display function parameter:string pointer to display /*/ void display(unsigned char * disp_ram) static unsigned char disp_count; unsigned char i; unsigned char code table= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0 x8e,0xbf,0xff; disp_count=( disp_count+1)$0x7f; for(i=0;i32)?tabledisp_rami else p0=tabledisp_rami if (disp_rami p2=0x01i; delay_ms(1); p0=0xff; p2=0; /*/ delay function parameter:unsigned char dt delay time=d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度智慧城市建设项目工程师试用期服务合同
- 广东省汕头市潮阳区2025年九年级上学期语文月考试卷附答案
- 2025年共享办公空间租赁合同创业孵化全场景适用版
- 2025医院基础设施建设合同风险评估与执行保障协议
- 2025年可持续采矿权转让及矿山生态补偿合作协议
- 骨盆的骨骼肌肉课件
- 网站代运营合同
- jha分析培训课件
- 2025-2030中国文具行业销售状况及消费趋势预测报告
- 2025年食品安全考试题及答案
- 2025-2030年中国汽车起重机市场前景规划及投资潜力分析报告
- Oracle财务系统应付账款模块操作手册
- 体检营销话术与技巧培训
- 泰山版(2025版)小学信息技术第5册教学计划
- 广东省佛山市顺德区2023-2024学年七年级(上)期末数学试卷(含答案)
- 变配电运维职业技能(中级)等级培训题库
- 矿山隐蔽致灾普查治理报告
- 实心球课件教学课件
- 玻璃体切割手术治疗2型糖尿病视网膜病变专家共识
- 大型养路机械司机(打磨车)高级工技能鉴定考试题库(含答案)
- 意向金退款合同模板
评论
0/150
提交评论