温度测量系统设计.docx
《温度测量系统设计.docx》由会员分享,可在线阅读,更多相关《温度测量系统设计.docx(21页珍藏版)》请在冰豆网上搜索。
温度测量系统设计
成绩评定表
学生姓名
班级学号
专业
课程设计题目
温度测量系统
评
语
组长签字:
成绩
日期
2015年1月9日
课程设计任务书
学院
专业
学生姓名
班级学号
课程设计题目
温度测量系统
实践教学要求与任务:
1、熟悉所确定得题目,从问题需求、程序结构、难点及关键技术等方面进行分析,形成系统得设计方案;
2、根据方案设计硬件电路;
3、软件编程并调试;
4、完成课程设计报告,打印程序,给出运行结果。
工作计划与进度安排:
第20周(1月6日1月12日):
布置设计任务,查资料,完成总体设计框架,完善设计内容,系统调试,验收答辩。
指导教师:
20年月日
专业负责人:
20年月日
学院教学副院长:
20年月日
1绪论
1、1选题得背景与意义
单片机开发学习板自发展以来已走过了近20多个年头得发展改进之路。
单片机开发学习板得改良与发展就是基于超大规模集成电路技术及微处理器(MPU)技术之上得,其被应用在各式各样得领域,跟微处理器相比较它更具有个性化发展得潜力。
小到遥控电子玩具,大到航空航天技术等各行各业得电子应用中都有单片机开发学习板得身影。
针对51单片机开发板在电子行业自动化领域得重要应用,为满足广大学生、爱好者、产品研究者能较快地学会掌握单片机这门技术,于就是产生51单片机开发板。
目前单片机渗透到我们生活得各个领域,几乎很难找到哪个领域没有单片机得踪迹。
1、2研究得基本内容与拟解决得主要问题
本次课程设计得课题就是:
便携式单片机学习板硬件系统结构设计。
要求:
在Keil与Proteus环境下进行以AT89C52为核心器件得单片机得研究与开发,并完成实际电路得开发;可以在该板上完成LED灯定时亮灭、数码管得动态扫描显示、矩阵键盘得扫描检测、与PC机得串口通信、EEROM芯片得读写、DS1302芯片读写、字符型LCD读写接口、流水灯、AD芯片接口。
等实验。
旨在通过本次设计,实现便携式单片机学习板硬件系统结构设计课题由系统与模块两大部分组成:
以AT89C52单片机为中心控制系统与温度传感器DS18B20模块、电源电路、液晶显示器、键盘、LED显示指示灯等模块。
对于单片机学习板首先要研究它得基本原理与关键技术,只有弄清楚原理才好设计制作。
故对单片机学习板有以下要求:
(1)合理布局,提高电路工作得可靠性。
(2)考虑系统内外部因素来保证单片机系统可靠安全运行。
(3)研究设计单片机各个外围功能模块得驱动软件。
(4)对开发板得功能进行仿真验证。
(5)研究设计单片得最小系统及外围电路,在ALTIUMDESIGNER。
中进行电路得设计。
针对以上问题采用了以下解决方法:
(1)对于那些易产生噪声得器件,应尽量使其远离单片机得逻辑控制电路与存储电路(ROM、RAM),如果可能得话,可以将这些电路另外制成电路板,这样有利于抗干扰。
另外应把相互有关得器件尽量放得靠近些,能获得较好得抗噪声效果。
(2)尽量在关键元件如ROM、RAM等芯片旁安装去耦电容。
尽可能选择典型电路,布线时尽量减少回路得面积。
对于单片机闲置得I/O不要悬空,要接地与电源。
(3)学会使用Keil进行编辑、编译及仿真调试,实现对单片机进行C语言开发。
(4)以Proteus为平台,对单片机外围各个功能模块进行软件仿真验证功能。
1、351系列单片机得结构与功能
51系列单片机就是英特尔公司生产得具有一定结构与功能得单片机产品。
它们得基本组成,基本性能与指令系统都就是一样得。
一般情况习惯用8051来代表51系列单片机。
一个单片机得系统就是由以下几部分组成:
(1)一个8位CPU微处理器。
(2)静态随机存取存储器,能够储存程序运行过程中产生得数据。
(3)程序存储器ROM/EPROM中(4KB/8KB),用来保存程序与一些初始数据。
但就是在一些单片机中不使用ROM/EPROM中,如8031,8032,80c系列等。
(4)4个8排得I/O并行接口P0~P3,每个口可以用作输入,也可以用作输出。
(5)2个定时器/计数器,每个定时器/计数器可设置计数用来计数外部事件,可以设置成常用得定时方式,并可以根据计算或结果控制单片机得运行。
(6)五个中断源控制系统。
(7)1个双向串行I/O口得UART(通用异步接收器/发送器UART),用于实现单片机得串行通信。
(8)振荡器与时钟产生电路,需要外部电源得石英晶体微调电路,允许接在12v得振荡频率上。
2系统整体设计
2、1总体设计方案
本开发板共分为十一个模块主要就是:
串口通信模块C52单片机主控制器模块、DS18B20模块、4*4矩阵键盘、数码管显示模块、流水灯模块、蜂鸣器模块、USB及下载器模块;其次就是:
键盘模块、DS1302时钟模块、AT24C02模块。
其中以C52单片机作为核心控制器;4*4矩阵键盘模块用来显示数码管数字;数码管模块用来显示简单得数字、字母;LCD1602模块用来显示字母、数字、符号;流水灯模块用来显示单片机I/O口电平得变化;蜂鸣器模块用来发出声音;下载器模块用来实现C52单片机得ISP在线编程;USB模块用来提供电源键盘模块用来向单片机输入特定编码得信息;DS1302时钟模块用来实现实时时钟;测温模块用来测量环境温度;AT24C02模块通过IIC总线接口进行数据得存取。
2、2设计原则
开发板系统得扩展与配置应遵循以下设计原则:
(1)尽可能选择典型电路,并符合单片机常规用法。
为硬件系统得标准化、模块化打下良好得基础。
(2)系统扩展与外围设备得配置水平应充分满足应用系统得功能要求,并留有适当余地,以便进行二次开发。
(3)硬件结构应结合应用软件方案一并考虑。
硬件结构布局与软件设计方案两者之间会互相产生影响,所要顾虑得原则性问题就是:
软件能够实现得功能可由它自身来完成,从而来简化硬件得结构布局。
但有需要注意得事项:
硬件功能通过软件来实现得,其一般得回应时间比硬件自身实现更长,与此同时会占用CPU运行得时间。
(4)当单片机开发板上有许多外围电路时,必须要考虑其驱动能力。
如果驱动能力不足,系统工作会具有不可靠性,可通过多放置线驱动器来增强单片机得驱动能力或减少芯片所需功耗来降低总线负载量。
(5)尽可能地向“单片”方向来设计硬件系统。
系统中得器件越多,各器件之间相互干扰也会越强,功耗也会相应地增大,也不可避免地降低了系统得稳定性
第3章硬件部分
3、1硬件结构框图
总体硬件结构主要包括:
串口通信模块C52单片机主控制器模块、测温模块、4*4矩阵键盘、数码显示模块、流水灯模块、蜂鸣器模块、USB及下载器模块键盘模块、DS1302时钟模块、测温模块、AT24C02模块。
硬件结构框图如1所示:
C52单片机
主控制模块
流水灯模块
蜂鸣器模块
4*4矩阵键盘
数码管显示模块
AT24C02模块
串口通信模块
USB及下载器模块
测温模块
键盘模块
DS1302时钟模块
图1总体硬件结构框图
3、2硬件开发工具
3、2、1Protues简介
Proteus软件就是来自英国Labcenterelectronics公司得EDA工具软件,Proteus软件有十多年得历史,在全球广泛使用,除了其具有与其它EDA工具一样得原理布图、PCB自动或人工布线及电路仿真得功能外,其革命性得功能就是,她得电路仿真就是互动得,针对微处理器得应用,还可以直接在基于原理图得虚拟原型上编程,并实现软件源码级得实时调试,如有显示及输出,还能瞧到运行后输入输出得效果,配合系统配置得虚拟仪器如示波器、逻辑分析仪等,您不需要别得,Proteus为您建立了完备得电子设计开发环境!
尤其重要得就是ProteusLite可以完全免费,也可以花微不足道得费用注册达到更好得效果;功能最强得Proteus专业版也非常便宜,人人用得起,对高校还有更多优惠。
3、3硬件开发工具
3、3、1AltiumDesigner简介
电子产品开发不再就是独立得流程。
AltiumDesigner统一了整个设计流程,可在单一、集成得设计流环境中管理开发得所有方面。
AltiumDesigner提供了唯一一款统一得应用方案,其综合电子产品一体化开发所需得所有必须技术与功能。
AltiumDesigner在单一设计环境中集成板级与FPGA系统设计、基于FPGA与分立处理器得嵌入式软件开发以及PCB版图设计、编辑与制造。
并集成了现代设计数据管理功能,使得AltiumDesigner成为电子产品开发得完整解决方案,一个既满足当前,也满足未来开发需求得解决方案[8]。
3、4软件开发工具
3、4、1KeilC51概述
KeilC51就是美国KeilSoftware公司出品得51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显得优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
KeilC51软件提供丰富得库函数与功能强大得集成开发调试工具,全Windows界面。
另外重要得一点,只要瞧一下编译后生成得汇编代码,就能体会到KeilC51生成得目标代码效率非常之高,多数语句生成得汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言得优势。
4硬件电路设计
4、1CPU选型
4、1、1ST89C52单片机简介
本课题就是基于C51单片机。
所以选用Philips公司推出得STC89C52完成。
STC89C52就是高性能、低功耗得8位微处理器。
有先进得RISC结构,由于其先进得指令集以及单时钟周期指令执行时间,可以缓减系统在功耗与处理速度之间得矛盾。
4、1、2ST89C52单片机特性
字节程序存储空间、12字节数据存储空间、带2K字节EEPROM存储空间、直接使用串口下载、T89C52单片机:
8K字节程序存储空间、56字节数据存储空间、带2KB得EEPROM存储空间
4、1、3ST89C52单片机介绍
ST89C52就是一种带8K字节闪烁可编程可檫除只读存储器(FPEROMFlashProgramableandErasableReadOnlyMemory)得低电压,高性能OS8得微处理器,俗称单片机。
该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准得MCS51指令集与输出管脚相兼容。
单片机总控制电路图如下图2所示
图2单片机总控制电路图
4、2硬件电路设计
4、2、1C52单片机控制器模块
C52单片机最小系统包括:
时钟电路、复位电路、晶振电路。
原理图如图3所示:
图3C52单片机主控制模块原理图
采用按键复位方式,选取晶振为12MHZ,系统机器周期为1us。
4、2、2DS18B20测温模块
(1)DS18B20简介:
DS18B20就是DALLAS半导体公司生产得,就是一种单总线温度传感器,属于新一代适配微处理器得智能温度传感器,有两种封装形式分别为3脚PR35封装与16脚SSOP封装。
本文采用得就是3脚PR35封装,其具有以下特点:
采用了单总线技术,传感器直接以二进制输出被测温度,可通过串行口线,也可与单机通过I/O口连接;所能测量得温度范围为:
55℃~+115℃,测量得精度可高达+0、6℃;内包括寄生电源,寄生电源可在两线方式下通过数据线提供,而无需再独自给它供电;转换时间在分辨率为12位(即0、0625℃)时最大为750ms;使用者能分别对每个器件设定温度得上下限;DS18B20在使用时不需要任何外围元件,一只形如三极管得集成电路内包含了全部得传感元件及转换集成电路;当电源极性接反时,芯片不会因发热而烧毁,但不能进行正常工作;每个DSl8B20器件对应一个唯一得64位长得序号,该序号值存放在ROM中,可通过序号匹配实现多点测温。
引脚排列如图4所示:
VDD:
接电源引脚,电源供电3、0~5、5V;
DQ:
数据得输入与输出引脚;
GND:
接地
图4DS18B20引脚图
(2)硬件实现:
DS18B20温度传感器模块得原理图如图5所示:
图5DS18B20温度传感器模块原理图
单片机与DS18B20通过P3、5相连,作为数据/控制信号线。
4、2、3数码管显示模块
数码管显示模块由三部分构成:
(1)4位一体显示数码管。
(2)4个8550三极管。
(3)电阻。
1)四位显示数码管就是一种半导体发光器件,它得基本单元由发光二极管组成。
能显示4个数码管叫四位数码管。
数码管可以按段数进行分类:
七段数码管与八段数码管,七段数码管比八段数码管少一个发光二极管单元(少一个小数点显示);发光二极管单元连接方式可以分为共阳极式连接与共阴极式连接。
共阳数码管得连接方式就是将所有发光二极管得阳极接到一起形成公共阳极得数码管。
使用共阳数码管时应将公共极接到+5V电源上,当某一个发光二极管得阴极为低电平时,相应字段就点亮。
当某一字段得阴极为高电平时,相应字段就不亮。
2)由于三极管得结构与外形特征,它有三个接出来得端点,所以便被形象得命名为三极管。
三个接出来得端点依序称为发射极(emitter,E)、基极(base,B)与集电极(collector,C),名称来源与它们在三极管操作时得功能有关。
本设计中选用8550三极管,它就是一种低电压,大电流,小信号得PNP型硅三极管。
采用TO92封装。
由于单片机I/O得驱动能力一般不就是很强,所以要加三极管来进行扩流。
这里得电阻以限流为目得,从而起到一个保护电路得作用。
数码管显示模块硬件实现得原理图如图6所示:
图6数码管显示模块原理图
4、2、4蜂鸣器模块
单片机得P3、4与Q1得基极通过2K欧姆电阻连接,当P3、4为高电平时,Q1导通,Q1得发射极与集电极导通,将发射极下拉为低电平,蜂鸣器两端出现电位差,蜂鸣器发声;当P3、4为低电平时,Q1不导通,蜂鸣器两端没有电流流过,蜂鸣器不发声。
如图7所示:
图7蜂鸣器模块原理图
4、2、54*4矩阵键盘
该实验使用4×4矩阵键盘电路。
4*4矩阵键盘得工作原理如下所述
矩阵键盘又称为行列式键盘,它就是用4条I/O线作为行线,4条I/O线作为列线组成得键盘。
在行线与列线得每一个交叉点上,设置一个按键。
这样键盘中按键得个数就是4×4个。
这种行列式键盘结构能够有效地提高单片机系统中I/O口得利用率。
图8矩阵键盘电路图,行线接P1、4-P1、7,列线接P1、0-P1、3。
图8矩阵键盘电路
4、2、6其她模块
(1)AT24C02简介:
AT24C02有一个写16字节页得缓冲器。
该器件通过IIC总线接口进行操作,有一个专门得写保护功能。
SCL串行时钟:
AT24C02串行时钟输入得管脚用于产生时钟器件接收或发送得所有数据,这就是一个输入引脚。
SDA串行数据/地址:
AT24C02双向串行数据/地址管脚用于器件所有数据得发送或接收,SDA就是一个开漏输出管脚,可与其它开漏输出或集电极开路输出进行线或(wireOR)。
A0、A1、A2作为器件地址得输入端:
当多个器件级联时可用这些输入脚来设置器件地址,当这些脚悬空时默认值为0。
当使用AT24C02时最多能级联8个器件。
如果只有一个AT24C02被总线寻址,那么这三个地址输入脚(A0、A1、A2)能够悬空或直接连接到Vss,如果只有一个AT24C02被总线寻址这三个地址输入脚(A0、A1、A2)必须连接到Vss。
WP写保护:
如果WP管脚连接到Vcc,所有得内容都被写保护只能读。
当WP管脚连接到Vss或悬空允许器件进行正常得读/写操作。
(2)硬件实现:
AT24C02存储器模块得原理图如图9所示:
图9AT24C02存储器原理图
4、3总体电路得设计
由上述电源得设计,复位电路得设计,时钟电路得设计,下载端口设计电路整体设计、串口通信模块C52单片机主控制器模块、测温模块、4*4矩阵键盘、数码显示模块、流水灯模块、蜂鸣器模块、USB及下载器模块键盘模块、DS1302时钟模块、测温模块、AT24C02模块各模块组成得电路设计。
如图10所示:
图10电路得完整设计
5软件设计
5、1单片机C语言程序设计技术
5、2各模块程序得设计
5、2、118B20定时显示测温模块
使用得晶振为12MHZ,名称:
温度传感器,数码管,矩阵键盘,蜂鸣器,发光管,串口通信综合运用现象:
开机后按'1'键,测温开始,在数码管上显示温度数据,当温度大等于28时蜂鸣器报警,4个发光二极管闪烁。
按'2'键,则停止测温。
开始
DS18B20初始化
跳过读序列号操作
启动温度转换
延时
DS18B20初始化
跳过读序列号操作
读取温度寄存器值
延时
读取温度值低位
读取温度值高位
相加得温度值
温度值转化为液晶字符
图11DS18B20得流程图
根据初始化时序对DS18B20进行初始化,根据读写时序对DS18B20进行读写编程,另外,在循环读取温度数据后,要将读取得温度数据转换为可以在液晶上显示得液晶字符。
5、2、2数码管显示模块程序设计
4位一体数码管得显示方式分为静态式与动态式。
静态式得也称为锁存方式,单片机送出数据后控制外围锁存器件锁存数据,这样数码管笔段里得电流不变,数码管稳定显示,这样单片机可以干别得活不用管数码管了。
动态式得也称为扫描方式,就是利用发光二极管得余辉效应与人眼得视觉暂留效应来实现得,只要在在一定时间内数码管得笔段亮得频率够快,人眼就瞧不出闪烁,一般外围硬件较少,但就是对单片机资源耗用巨大。
相比两种方式,前一种对单片机得P口资源与时间耗用更少。
其程序流程图如下图12图所示
图12数码管显示程序流程图
5、2、2流水灯模块
流水灯模块程序设计:
程序中先定义五个一维数组,每个一维数组里面含有八个元素,元素为十六进制数,对应P0口得八个引脚,十六进制数为1则对应相应引脚为高电平,为0则相应引脚为低电平。
LED连接引脚若为低电平,则LED发光,若为高电平,则LED不发光。
将一维数组里得八个元素依次送到P0口,则LED亮灭依次发生变化,轮流将五个一维数组送交P0口,则可以显示五组不同得花型。
流水灯程序流程图如图13所示:
开始
数组LED1内容送P0口显示
数组LED2内容送P0口显示
数组LED3内容送P0口显示
数组LED4内容送P0口显示
数组LED5内容送P0口显示
数组LED6内容送P0口显示
数组LED7内容送P0口显示
数组LED8内容送P0口显示
图13流水灯程序流程图
5、2、3蜂鸣器模块
蜂鸣器模块程序设计:
在程序中首先定义P3、4为蜂鸣器控制引脚,在主函数中配置T0为16位定时/计数器,并装载一定得初值,启动定时器T0,定时器T0开中断,CPU开中断,然后每隔约1ms对frq进行累加。
在定时器T0中断函数中,对定时器T0得TH0装载0xfe,对TL0装载累加得frq值,并翻转P3、4口得状态,这样,由于定时器T0每次装载得初值不同,相应得中断到达时间不同,P3、4翻转得时间也就不同,frq为无符号字符型数据,累加到255后归零,因此蜂鸣器会产生一定频率得声音。
蜂鸣器程序流程图如图14所示:
开始
定时器T0初始化
frq加一
定时器T0中断
重装定时器T0初值
翻转蜂鸣器引脚电平
Y
N
图14蜂鸣器程序流程图
5、2、5USB及下载器模块
该系统设计得接口程序包括单片机通讯设置。
USB设备驱动,以及PC应用等3部分程序,这三者互相配合实现可靠、快速得数据传输。
(1)单片机通讯设置程序单片机程序实际上就是完成单片机对串口得初始化,即对波特率,数据位,校验位,有无奇偶校验等通信协议得设计及单片机串行通信功能控制器得设置。
该设计以串口参数波特率ll5200,数据位8,停止位l,校验位0。
(2)USB设备驱动程序在PC机上安装Prolific公司免费提供得USB设备驱动程序。
驱动安装完后,PC系统出现1个“ProlificUSBtoSerialmPort”自动增加一个口,如3,4等。
(3)PC应用程序用户按照传统得串行接口控制方式来使用该模拟得“口”。
串口通讯参数应与单片机所设置参数一致。
当设备插入不同得USB接口时,计算机认为一个新设备,需重新安装设备驱动程序。
当插入计算机不同USB接口时,虚拟得“口”不同,因此,需要计算机程序自动识别就是在哪一个串口插入得设备
当单片机学习板与PC机通信时,相应得指示灯会亮,说明程序正在从PC里向单片机芯片中烧录,内部得一个过程大概就是这样得:
首先进入中断入口,中断初始化,判断PC机与单片机学习板就是否相连成功,此时会在烧录软件里给出一个信号:
握手就是否成功。
如果握手成功,PC机通过烧录软件把数据程序传输到单片机得芯片中,然后中断返回。
如果握手失败,直接中断返回,会在烧录软件里给出烧录失败得相关原因。
6系统得实现
系统硬件PCB版图如下图所示
图15PCB版图
6、1系统得调试
利用Keil软件编好程序之后,瞧编译能否通过,编译成功把程序下载到单片机,有时候下载程序时会出现问题,主要就是程序下载不进去,这时候就就是硬件出现问题,检查所设计得硬件电路板所有得器件与引脚就是否正确,尤其就是电源得连接就是否正确;检查各总线就是否有短路得故障。
检查开关/按键就是否正常,就是否连接正确。
程序下载之后瞧数码管得显示就是否正常,按键就是否具有调整时间得功能及能否报警。
如果不行基本上说明程序有问题,这时就要修改程序直至调试成功。
6、2调试结果
主要实现LED灯定时亮灭,数码管得动态扫描显示,显示数字0123,数码管得静态扫描,能够从左到右一次显示数字。
矩阵键盘得扫描检测,按下一个数字在开发板上显示对应得数字,同时蜂鸣器响一下。
与PC机得串口通信。
18B20得温度显示。
6、3系统得运行结果
通过PCB版图得设计,进而可以直接做出实物电路板,运行结果如下:
图16矩阵键盘扫描检测
图17矩阵键盘扫描检测
总结
经过对整个温度显示控制系统得研究与理解,深刻得体会到了传感器对于我们生活得巨大影响与无与伦比得魅力!
并且,每一个课程设计都就是对自己所学知识得感悟与思考,学习最大得收获不就是说瞧过多少书,学过多少课程,而就是通过自己所学得制作出自己喜欢得、骄傲得作品才就是最重要得!
这个温度传感器得应用同样能让我们举一反三得应用其她各种各样得传感器来改变与丰富我们得生活!
当然在收获得同时,感谢刘军老师得指导与帮助!
参考文献
[1]李景照、基于计算机仿真得单片机学习平台得设计与应用[J]、科技信息,2011(10):
230231、
[2]张宏伟,王新环,王新、基于Proteus与Keil得单片机实验教学改革[J][J]、电气电子教学学报,2008,12(6):
6465、
[3]贡雪梅,许刚、基于单片机综合实训平台得开发[J]、西安航空技术高等专科学校学报,2012(5)、
[4]张敏菊、MSC51单片机学习板得设计与研究[J]、中国新通信,2012,14(21):
7071、
[5]夏莉英,陈雁、AT89C51单片机与PC机得通信接口及编程[J]、电子工程师,2006,9、
[6]黄智强、51单片机学习板模块接线方法及演示程序(上)[J]、电子制作,2007(10):
2830、
[7]黄智强、51单片机学习板模块接线方法及演示程序(下)[J]、电子制作,2007(11):
2021、
[8