版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、湖 南 工 程 学 院课 程 设 计课程名称 测控电路 课题名称 温度测量显示电路设计 专业班级 测控技术 0981班 姓 名 徐 达 学 号 20 指导教师 李亚、 黄峰 2012年 3 月 10 日湖 南 工 程 学 院课程设计任务书课程名称 测控电路 课题名称 温度测量显示电路设计 专业班级 测控技术0981 班 姓 名 徐 达 学 号 20 指导教师 李亚、黄峰 任务书下达日期 2012年 2月 27 日任务完成日期 2012年 3 月 10 日设计内容与设计要求设计内容:以设计为主完成一个温度范围为0-50的温度测量显示电路的设计与制作。1、主要设计内容: (1)系统原理框图设计与分
2、析(包括传感器的选择与确定);(2)系统方案设计、比较及选定(给出两种以上的方案比较);(3)系统原理图设计(包含测量电路、放大电路、a/d转换及显示电路等);(4)确定原理图中元器件参数(给出测量电路、放大电路计算公式与数据);2、运用protel软件绘出系统原理电路图(鼓励能完成印刷电路板图的绘制)。设计要求:1)确定并分析系统设计要求;2)进行系统的方案设计;3)要绘制原理框图,绘制原理电路4)要有必要的计算及元件选择说明5)如果采用单片机,必需绘制软件流程图6)写说明书7)答辩 所设计的方案能满足题目要求并实现相应的功能,所编写的设计说明书应语句通顺,用词准确,层次清楚,条理分明,重点
3、突出。主 要 设 计 条 件1、protel软件。2、参考文献若干。说 明 书 格 式1.课程设计说明书封面。2.课程设计任务书。3.说明书目录。4.正文5.总结。6.参考文献。7.附录。8.课程设计评分表。正文部分包括(概述、总体设计、硬件电路设计及调试等)进 度 安 排第1周:星期一上午:布置课题任务,课题内容介绍。星期一下午:仔细阅读设计任务书,明确设计任务与要求,收集设计资料。星期二星期五:阅读相关资料,设计方案确定,相关元器件选型。第2周:星期一星期二:电路设计。星期三星期四:编写设计说明书,准备答辩。星期五:答辩。参 考 文 献1 康华光电子技术基础m模拟部分高等教育出版社,199
4、82 张国雄等编.测控电路.机械工业出版社,2001.8.3 李华mcs一51系列单片机实用接口技术m电子工业出版社,19994 闫玉德,葛龙,俞虹. 单片机微型计算机原理与设计. 中国电力出版社,2010.112-154,197-199,5 郑惟晖,单片机智能温度控制系统的设计d,2008目 录一引言8二系统方案确定92.1系统设计方案论证与确定92.2硬件设计总体方案10三系统软件算法分析123.1主程序流程图123.2读出温度子程序123.3温度转换命令子程序133.4 计算子程序温度143.5显示数据刷新子程序153.6扫描按键处理子程序16四软件仿真17五课程设计心得与体会21六附录
5、226.1 源程序代码226.2 系统硬件原理图28一 引言近几年来随着单片机在检测和控制系统中得到广泛应用,传统控制技术也已经满足不了现代工业生产所需,各行各业对于控制和测量的需求也越来越高。而温度则是系统常需要测量、控制和保持一个量,如何分析和选取就显得尤为重要了。经过对各种温度测量方案的收集整理之后(包括传统的分立式传感器),本系统最终选取采用铂电阻pt100作为温度传感器,恒流测温的方法,通过单片机进行控制,用放大器、a/d转换器进行温度信号的采集本系统以四个部分为主体:放大电路,a/d转换电路,单片机电路,数码管显示电路。设计文氏电桥电路,得到温度与电压的关系,通过控制电阻值改变温度
6、。利用单片机将现在温度与预设温度进行比较,将比较结果在led数码管上显示,同时实现现在温度与预设温度之间的切换。二 方案论证与确定2.1系统设计方案论证方案一通过温度传感器采集温度信号,经信号放大器放大后,送到a/d转换芯片,将模拟量转化为数字量,传送给单片机控制系统,最后经过led显示温度。 热电阻也是最常用的一种温度传感器。它的主要特点是测量精度高,性能稳定,使用方便。该方案采用热电阻pt100做为温度传感器、ad620作为信号放大器,tlc2543作为a/d转换部件,对于温度信号的采集具有大范围、高精度的特点并且可以通过编写程序对输入信号进行分段线性化处理,使得测量精度大大提高。这个方案
7、在电路设计上比较麻烦,涉及到a/d转换,温度采集等复杂模块,而且电阻与温度的对应值的计算也无形的增大了设计的工作量,故不作为优先考虑工作方框图如下op07模拟信号放大pt100温度传感器ad0809信号处理时钟信号控制系统at89c514联8段数码管fpga产生50khz分频信号方案二进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器ds18b20,此传感器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较
8、简单,费用较低,可靠性高,软件设计也比较简单,故采用了方案二。温度传感器温度电压放大电路a/d转换模块译码显示模块电压译码编码led数码管2.2硬件设计总体方案2.2.1单片机最小模块at89c51是一种带4k字节闪烁可编程可擦除只读存储器(fperomfalsh programmable and erasable read only memory)的低电压,高性能cmos8位微处理器,俗称单片机。at89c2051是一种带2k字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集
9、和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,at89c2051是它的一种精简版本。at89c单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。at89c51单片机引脚结构图如图2-3所示。at89c51的主要特性如下:·与mcs-51 兼容·4k字节可编程闪烁存储器寿命:1000写/擦循环,数据保留时间:10年·全静态工作:0hz-24hz·三级程序存储器锁定·128*8位内部ram·32可编程i/o线·两个16位定时器/计数器·5个中
10、断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路 at89c51单片机引脚图2.3.2 温度传感器模块 ds18b20是美国dallas半导体公司继ds1820之后最新推出的一种改进型智能温度传感器,其结构图如图3所示,与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从ds18b20读出的信息或写入ds18b20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接
11、的ds18b20供电,而无需额外电源。因而使用ds18b20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较ds1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。ds18b20的特点:(1)独特的单线接口方式:ds18b20与微处理器连接时仅需要一条口线即可实现微处理器与ds18b20的双向通讯。 (2)在使用中不需要任何外围元件。(3)可用数据线供电,电压范围:+3.0 +5.5 v。 (4)测温范围:-55 +125 。固有测温分辨率为0.5 。 (5)通过编程可实现912位的数字读数方式
12、。 (6)用户可自设定非易失性的报警上下限值。 (7)支持多点组网功能,多个ds18b20可以并联在惟一的三线上,实现多点测温。 (8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 2.3.4温度显示模块共阴极数码管中8个发光二极管的阴极连接在一起,即为共阴极接法,简称共阴数码管。通常,共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为高电平时,该端所连接的字符导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。同样,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。 本次设计使用了四
13、个型号为ark sr42056的数码管,其管脚分别接至单片机管脚的10-13、32-39和排阻rp1,确保数码管能够精确显示温度,并能够使温度精确到十分位。其具体管脚连接如图2-4所示。 图2-4 数码管连接图三 .系统软件算法分析系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序,按键扫描处理子程序等。3.1主程序流程图温度读取温度计算与处理调用显示子程序是/否按下复位键k初始化 图3.1 主程序流程图3.2读出温度子程序读出温度子程序的主要功能是读出ram 中的9 字节,在读出时需进行crc 校验,校验有错时不进行温度数据的改写。其程序流程图如图
14、3-2所示。3.3温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12 位分辨率时转换时间约为750ms,在本程序设计中采用1s 显示程序延时法等待转换的完成。温度转换命令子程序流程nyy发ds18b20复位命令发读取温度命令读取操作,crc校验移入温度暂存器crc校验正9字节完?结束发跳过rom命令n图3.2读温度数据流程图 图3-3温度转换流程图3.4计算温度子程序计算温度子程序将ram 中读取值进行bcd 码的转换运算,并进行温度值正负的判定,其程序流程图如图3-4所示。ny温度零下?计算小数位温度bcd值温度值取补码置“1”标志计算整数位温度bcd值 开始置“0”标
15、志结束图3-4计算温度流程图3.5显示数据刷新子程序显示数据刷新子程序主要是对分离后的温度显示数据进行刷新操作,当标志位位为1时将符号显示位移入第一位。程序流程图如图3-5所示。温度数据移入显示寄存器y分离显示温度温度数据移入显示寄存器标志位为1?最高位显示“”结束最高为显示分理出的数据n图3-5显示数据刷新流程图3.6按键扫描处理子程序按键采用扫描查询方式,设置标志位,当标志位为1 时,显示设置温度,否则显示温度。如图3-6所示。k1键按下k2是否按下温度调零加1温度调零减1k3键是否按下显示切换标志位是否为“0”调用显示子程序 四 proteus软件仿真4.1 proteus简介 prot
16、eus 是英国labcenter公司开发的电路分析与实物仿真软件。它运行于windows操作系统上,可以仿真、分析(spice)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和spice电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、rs232动态仿真、i2c调试器、spi调试器、键盘和lcd系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:arm7(lpc21xx)、 8051/52系列、avr系列、pic10/12/16/18系列、hc11系列以及多种外围芯片。提供软件调试功能
17、。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如keil c51 uvision2、mplab等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和spice分析于一身的仿真软件,功能极其强大。4.2 proteus仿真过程1、 proteus软件仿真原理图如下图所示:2、启动该系统,运行如下图所示:3、利用k1、k2功能键,可以设定校正温度加减、开和关等。其界面分别为:4、 温度校正调零示例:如把当前温度设定为28度,利用18b20将温度设定为30度, p
18、roteus仿真如下图(可观察到q1处指示灯的颜色发生变化): 五课程设计心得与体会本次电子课程综合设计,让我受益匪浅。虽然时间比以往的长了不少,但是开始选题时还是很茫然。从选题到定稿,从理论到实践,在整整一星期的日子里,可以说得是苦多于甜。但是在这过程中我查阅和浏览了很多的相关资料,和同学们一起商量,相互合作,并且对proteus软件的使用有了很大程度的提高。同时不仅可以巩固和强化以前所学过的知识,还学到了很多书本上所不曾学到的知识。这次我选择了温度测量系统设计,在应用系统设计时,必须先确定该系统的具体要求,这是系统设计的依据和出发点,整个设计过程都必须围绕这个训练要求来做。软件部分的设计,
19、我按照模块化的思想,将各个模块单独调试,然后再一点一点地叠加,这样就容易避免更多错误的出现。在这次单片机系统的课程设计中,我们学到了很多,尤其是在调试程序的过程中,我遇到了很多问题,摸索着改正了一些,还有一些错误在指导老师的帮助下得以解决。这次课程设计,查阅了大量的文献资料和搜索了大量网络资料,也更清楚的认识到自己所学的不足,同时也加深了对以前所学知识的理解,也增强了编程与仿真的操作能力。通过这次课程设计使我懂得了理论与实际相结合的重要性,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才是真正所要的。在设计的过程中所遇到的问题,可以说是很多。难免会遇到过各种各样的问题,同时在设计的过
20、程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说刚开始在连仿真图时,不能区分该数码管是共阴极还是共阳极的,等到连好图仿真时出现错误才知道自己用错了数码管,对单片机的c语言掌握得也还不太好通过这次课程设计之后,一定把以前所学过的知识重新温故。总之,这次课程设计让我明白一个道理那就是:只有理论必须和实际结合,才能更好地让我们掌握书本上的知识。同时在设计过程中遇到了很多程序编写出错和系统不能正常仿真的问题,最后在杨庆老师的细心指导和同学们耐心帮助下终于得到解决。同时也让我懂得所学的东西最终是要面向应用的,是为了在以后的工作中能够更好的应用,此时的知识积累是为以后的工
21、作做好准备。这个设计总体上不算完美,但是在这次设计训练的经历的益处是不能言表的,在此谢谢各位老师和同学的解囊帮助! 六参考文献1、 康华光电子技术基础m模拟部分高等教育出版社,19982、张国雄等编.测控电路.机械工业出版社,2001.8.3、 李华mcs一51系列单片机实用接口技术m电子工业出版社,19994、 闫玉德,葛龙,俞虹. 单片机微型计算机原理与设计. 中国电力出版社,2010.112-154,197-199,5、 郑惟晖,单片机智能温度控制系统的设计d,2008七附录附1:源程序代码*lcd1602模块*/#include <reg52.h>#define uchar
22、 unsigned char#define uint unsigned intsbit rs=p27;/液晶使能端口sbit rw=p26;sbit e=p25;sbit p3_6=p36;sbit p1_0=p10;sbit p1_1=p11;/sbit p1_0 = p10;/sbit p1_1 = p11;void delay_ms(uchar ms) /延时 uint i,j; for(i=0;i<ms;i+) for(j=0;j<120;j+);void lcd_wcmd(uchar cmd) /液晶写指令rs=0;rw=0;e=0;p0=cmd;e=1;e=0;dela
23、y_ms(5);void lcd_wdat(uchar dat) /液晶写数据rs=1;rw=0;e=0;p0=dat;e=1;e=0;delay_ms(5);void lcd_dis(uchar post,uchar *p)lcd_wcmd(0x80 | post);/设置数据地址指针显示while(*p!='0')lcd_wdat(*p+);uchar code def_char0=0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00; /字符void lcd_wcgram(uchar adress,uchar tmp)uchar i;for(i=
24、0;i<8;i+)lcd_wcmd(adress+i);lcd_wdat(tmpi);void lcd_inti()delay_ms(15);lcd_wcmd(0x38);/16x2字符,5x7点阵,8位数据接口lcd_wcmd(0x38);lcd_wcmd(0x08);/关闭显示lcd_wcmd(0x01);/清屏lcd_wcmd(0x06);/设置光标工作方式lcd_wcmd(0x0c);/开显示,设置光标显示方式lcd_wcgram(0x48,def_char0); /载入用户自定义字符sbit dq=p37; /18b20数据管脚/*ds18b20延迟子函数(晶振12mhz )*
25、/ void delay_18b20(unsigned int i)while(i-);void reset() uchar x=0; dq = 1; /dq复位 delay_18b20(8); /稍做延时 dq = 0; /单片机将dq拉低 delay_18b20(80); /精确延时 大于 480us dq = 1; /拉高总线 delay_18b20(14); x=dq; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay_18b20(20); unsigned char rbyte()uchar i=0;uchar dat = 0;for (i=8;i>0;i-
26、) dq = 0; / 给脉冲信号 dat>>=1; dq = 1; / 给脉冲信号 if(dq) dat|=0x80; delay_18b20(4); return(dat); void wbyte(uchar dat) uchar i=0; for (i=8; i>0; i-) dq = 0; dq = dat&0x01; delay_18b20(5); dq = 1; dat>>=1; uchar rtempetuare(uchar tmp)uchar a=0,b=0,temp,decimal;uint uival;reset();wbyte(0xc
27、c); /跳过读序号列号的操作wbyte(0x44); /启动温度转?reset();wbyte(0xcc); /跳过读序号列号的操作wbyte(0xbe); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=rbyte(); /读取温度值低位b=rbyte(); /读取温度值高位temp=b;temp&=0xf0;if(temp) /负温if(a=0)a=a+1; /bit7向bit8位产生进位b=b+1; else a=a+1; b=b;tmp0='-'elsetmp0=' 'temp=(b<<4)|(a>>4); /
28、组合decimal=a&0x0f; /将小数点后的数据提取出来uival=decimal*625; tmp0='t'tmp1='='tmp2=0x20; /空格 tmp3=temp/100 | 0x30; /取百位tmp4=temp%100/10 | 0x30; /取十位tmp5=temp%100%10 | 0x30; /取个位tmp6=0x2e; /小数点tmp7=uival/1000 | 0x30; /十分位tmp8=uival%1000/100 | 0x30; /百分位tmp9=uival%1000%100/10 | 0x30; /千分位tmp10=uival%1000%100%10 | 0x30; /万分位tmp11=0x20; /空格tmp12=0x01; /字符tmp13='0'return temp; /十进制温度/*红外解码模块*/#define c(x) (x*110592/120000)sbit ir_pin=p32; /红外数据管脚unsigned char ir_buf4; /用于保存解码结果/=unsigned int ir_get_low() /计数器1,用于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论