基于单片机的温度采集显示电路设计本科论文.docx
《基于单片机的温度采集显示电路设计本科论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的温度采集显示电路设计本科论文.docx(38页珍藏版)》请在冰豆网上搜索。
基于单片机的温度采集显示电路设计本科论文
天津职业技术师范大学电子工程学院
电子信息工程
课程设计报告
同组学生姓名(学号):
班级:
电信1302
任务分工:
设计时间:
2015年12月28日——2016年1月8日
指导教师:
目录
题目:
基于单片机的温度采集显示电路设计
一、课程设计的目的与要求(含设计指标)3
二、方案论证选择3
三、原理设计(或基本原理)4
四、方案实现与测试(或调试)12
五、课程设计小结
六、参考文献
个人总结(姓名)15
一、课程设计的目的与要求(含设计指标)
1.课程设计目的:
(1)利用单片机及相应温度传感器设计单检测点数字温度计
(2)精度误差:
0.5℃以内;测温范围:
-10 ℃~85 ℃
(3)LCD实时显示
(4)完成对设计系统测试
2.课程设计的要求:
(1)以AT89C51单片机为核心
(2)DS18B20温度传感器进行温度的测量
(3)LCD1602液晶显示屏上实时显示
二、方案论证及选择
1方案一
由于是测温电路的设计,所以可以用热敏电阻之类的器件。
利用它的感温效应,在将随被测温度的变化而产生变化的电压或电流采集过来。
并用具有A/D 通道的单片机,再进行A/D 转换之后,就能用单片机来实行数据处理,之后,在显示的电路上,就能将被测的温度显示出来。
但是,这种设计需要使用到A/D转换电路,并且其中还牵涉到了电阻和温度之间对应值的计算。
感温电路不仅比较麻烦。
而且更在对所采集到的信号进行放大的时候容易受到温度的影响从而出现较大的偏差。
2方案二
利用数字式温度传感器DS18B20来进行测量温度。
由于它的输出信号全数字化,所以便于单片机的处理和控制,并且还能省去传统测温方法中很多外围的电路。
而且它的物理和化学性都很稳定,更加适用于做工业测温。
此外它的精确度也很高,在-10 ℃~85 ℃范围内可以精确到±0.5 ℃。
完全满足设计要求。
DS18B20 的最大的特点之一就是它采用了单总线形式的数据传输。
由数字温度传感器DS18B20和单片机AT89C51构成的数字温度计,它可以直接输出温度的数字信号。
使用51 单片机进行控制,软件编程的自由度很大,能通过编程的方式来实现多种的算术算法和逻辑控制。
而且它体积小、硬件实现方便、组合安装简单。
既能单独的对多个DS18B20控制工作,还能够与PC 机联接通信上传数据。
此系统采用AT89C51单片机来控制数字温度传感器DS18B20从而进行实时温度的检测与显示,可以实现快速测量环境温度
这样的设计就能够不使用A/D转换器,从而不仅能令系统提高精确度,还可以大大节约单片机的系统资源。
3方案选择
所以经过上述两种方案的对比,本次设计挑选方案二来作为设计方案。
因为方案二与方案一对比,它不仅硬件系统更为简单,并且实现功能却更加强大,而且方案二本身模块化的设计又让它的系统通用性远远高于方案一。
所以在最终的对比下选择了这个方案。
三、原理设计(或基本原理)
3.1单片机模块
单片机几乎集成了一个完善了的中央处理单元。
它是由CPU、随即存取数据存储器、只读程序存储器、输入输出电路(I/O口),还有可能包括定时/计数器、串行通信口、显示驱动电路(LCD和LED驱动电路)、脉宽调制电路、模拟多路转换器及A/D转换器等多种电路均集成在了同一个单块芯片之上,从而,构成了一个最小但完善的计算机任务。
因此,它的处理功能强。
在中央处理单元之中集成了既方便又灵活的专用寄存器,这让人们使用单片机得到了很大的便利。
它把微型计算机的主要部件都集成在一块芯片之上,从而让数据的传送距离大大的缩短了,运行的速度加快了,可靠性提高了,抗干扰能力加强了。
因为它是属于芯片化的微型计算机,所以每个功能部件在芯片上的布局与结构都得到最优化,使得工作也相对稳定。
此单片机拥有40个引脚与32个外部双向输入/输出(I/O)端口,此外,它还内含2个外中断口和3个16位可编程定时计数器与2个全双工串行通信口外加2个读写口线。
不过区别于AT89S52的是,它只可以用常规的方法来进行程序的编写而不能够在线编程。
为了可以更有效地降低开发的成本,它与通用的微处理器与Flash存储器结合在了一起,尤其是能够反复擦写的Flash存储器。
如图1所示为AT89C51引脚图。
图1AT89C51引脚图
●VCC:
供电电压。
●GND:
接地。
●P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
●P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
●P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
●P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
●RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。
初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指钟写入07H,其它专用寄存器被清“0”。
RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。
然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态。
●ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
●PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
●EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
●XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
●XTAL2:
来自反向振荡器的输出。
3.2温度采集模块
3.2.1温度传感器的介绍
DS18B20数字温度传感器是美国DALLAS公司生产的1-Wire,即单总线器件,它是世界上最早的支持 "一线总线"接口的温度传感器。
它具有体积更小、适用电压更宽、功耗更低、抗干扰能力更高性能、配处理器更容易等优点,它能够直接将温度转化成串行数字信号(按9位二进制数字)给单片机进行处理,还能在同一总线上可以挂接多个传感器芯片.DS18B20可编程温度传感器它包含3个管脚。
DS18B20的外形和引脚排列图如图2所示。
图2DS18B20的外形及管脚图
正如图中所示:
GND引脚为接地线;DQ引脚为数据输入/输出的接口,它经过一个较弱的上拉电阻和单片机相连;VDD引脚为电源接口,它既能够由数据线提供电源,又能够由外部提供电源,范围3.0V~5.5V。
DS18B20具体特性如下:
(1) DS18B20因为采用了单总线技术,可通过串行口线,也可通过其他I/O口线与微机直接连接传感器直接输出被测温度值(二进制数)。
(2) 在DS18B20中的每个器件上都有独一无二的序列号。
(3) 实际应用中不需要外部任何元器件即可实现测温。
(4) 测温范围-55~+125℃,以0.5℃递增(华氏器件-67~+257℉,以0.9℉递增)。
(5) “0”功耗待机。
(6) 数字温度计的分辨率用户可以从9位到12位选择。
(7) 内部有温度上、下限告警设置。
(8) 用户可自设定非易失性的报警上下限值。
(9) 支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。
(10) 负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
DS18B20
DS18B20中的温度传感器能够完成对温度的测量,就拿12位转化为例:
用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。
详情见图3。
图3DS18B20温度值格式表
这个为12位转化后所得到的12位数据,存储于DS18B20的二个8比特的RAM里,二进制里的前面5位为符号位,若测得的温度>“0 ℃”,则该5位是“0”,只须用测得的数值乘于0.0625就能够得到实际的温度;若温度<“0℃”,则该5位是“1”,要将测得的数值取反再加“1”,再乘于0.0625。
才能够得到实际的温度。
比如说:
+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH。
详情见图4。
图4 DS18B20转化温度形式
3.2.3 DS18B20的工作原理
按照DS18B20的通讯协议,主机控制DS18B20要完成温度的转换必须得经过三个步骤才可:
1) 每一次读写之前都必须对DS18B20进行复位。
2)复位成功之后发送一条ROM指令。
3) 最后发送RAM指令,这样才能够对DS18B20进行预定的操作。
复位时,先得要求主CPU对数据线下拉500μs再释放,待DS18B20收到信号,等待15~60μs左右后,再发出60~240μs的存在低脉冲,最后主CPU收到此信号表示复位成功。
它的工作时序有初始化时序和写时序还有读时序。
具体工作方法如图5、6、7所示。
1)初始化时序
图5 初始化时序
总线上的一切传输过程均是以初始化开始的。
主机响应应答脉冲。
应答脉冲让主机知道,总线上有从机设备,并准备就绪。
主机输出低电平,且保持低电平的时间至少480微秒,从而产生复位脉冲。
然后主机释放总线,4.7KΩ上拉电阻将总线拉高,延时15~60微秒后进入接受模式,用来产生低电平应答脉冲。
如果为低电平,就再延时480微秒。
2)写时序
图6写时序
写时序包含写“0”时序与写“1”时序。
一切写时序最少要60微秒,并且在两次独立的写时序当中最少要1微秒的恢复时间。
两者都是从总线拉低开始。
写“1”时序:
主机先输出低电平,延时2微秒后释放总线再延时60微秒。
写“0”时序:
主机先输出低电平,延时60微秒后释放总线再延时2微秒。
3)读时序
图7 读时序
总线器件只在主机发出读时序的时候,才向主机传输数据。
因此,在主机发出读数据命令后,定要马上产生读时序,从而使从机可以够传输数据。
一切读时序至少要60微秒,而在两次独立的读时序当中至少需要1微秒的恢复时间。
每个读时序均靠主机发起,且至少拉低总线1微秒。
主机在读时序的时候一定要释放总线,且在时序开始后的15微秒中采样总线状态。
主机输出低电平延时2微秒后主机转入输入模式,再延时12微秒后读取总线当前电平,然后延时50微秒。
简单的读取温度值的流程如下:
3.3 显示器模块
3.3.1 显示器的介绍
LCD液晶显示器由于它功耗很低,同时体积轻巧,屏幕内容显示非常丰富,且厚度纤薄,等诸多的优点。
所以广泛的被使用在了微型仪表和家用电器等功耗不高的应用系统当中。
根据显示内容和方式的不同可以分为数显LCD、点阵字符LCD、点阵图形LCD。
它是由些许个5×7或5×11等点阵符位组成的。
每一个点阵字符位都可以显示一个字符。
且每一个点阵字符位之间都有一定点距的间隔,从而就能起到了字符间距和行距的作用。
本次设计这次所使用的是1602LCD液晶显示器,它也叫做1602字符型液晶,意思就是显示屏能显示的内容为16×2,也就是能够在屏幕上看到两行字符且每行显示的都是16个字符的。
它是一种专门用来显示字母、数字、符号等而不能显示汉字的点阵型液晶模块。
3.3.2 显示电路的设计
1602LCD液晶显示器引脚如图8所示。
图8 LCD1602液晶显示器
1602LCD液晶显示器功能引脚功能见图9。
图9 1602液晶引脚说明
图10 1602液晶模块内部控制指令
LCD液晶显示器和单片机1602的连接电路非常简单,RS、RW、EN分别接主控单片机的P22、P21、P20脚,DB0~DB7接到主控单片机的P0数据接口。
VSS端接地,VDD供电,如图11所示
图11 LCD液晶显示电路
3.4元件清单
原件名称
数量
参数
备注
AT89C51
1
U1
LCD1602
1
LCD1
DS18B20
1
U2
电容
3
1nF
C1C2C3
电阻
2
10K、200
R1R2
晶振
1
X1
排阻
1
10K
RP1
滑动变阻器
1
10K
RV2
四、方案实现与测试(或调试)
1、烧录程序
2、电路连接(见原理图)
3、方案实现:
(1)初始化AT89C51单片机、温度传感器DS18B20、LCD1602液晶显示屏
(2)温度传感器转化温度,并将数据传送会给AT89C51单片机
(3)AT89C51将发送显示命令给LCD1602,然后将数据发送到1602,显示
基本流程图:
4、测试过程
(1)将编写并没有错误和警告的程序烧录到单片机里
(2)检查电路连线,查看是否有接触不良或原件损坏
(3)上电,查看是否正常工作
LCD不显示解决方法:
(1)检查显示屏是否插好,排除接触不良
(2)调节控制屏幕亮度的电位器
(3)返回查看程序是否编写正确
(4)对比原理图和程序编写接口(检查使能端EN、寄存器选择RS、读写选择RW是否连接错误)
(5)检查DS18B20是否接触良好
5、测试结果
(1)没有插DS18B20时,LCD1602显示+000.00C
(2)插上DS18B20时,LCD1602显示环境温度如+022.35C
五、课程设计总结
两周的时间很长也很短,每一次课程设计都可以让我们收获不同的东西。
课程设计诚然是一门专业课,督促我们去学习专业知识,提高自我的专业技能。
此次课程设计是以温度采集幷实时显示位总目标,以89C51单片机最小应用系统为总控制中心,辅助设计温度采样电路、LCD显示电路。
本次设计的重点、难点是:
1)掌握温度传感器的原理、结构、应用等;
2)考虑从非电量信号到电量信号的电路实现原理以及单片机的接口;
3)熟悉MCS-51编程的技术;
4)整体电路的仿真调试。
本次设计的优点:
采用单片机AT89c51,性价比高;温度传感器DS18B20自带温度转化,精度高,测试范围广。
由于时间精力有限,实现了对温度的采集与显示,没有扩展功能。
六、参考文献
[1]郭天祥,《51单片机C语言教程入门、提高、开发、拓展全攻略》,北京,电子工业出版社,2009年
[2]姜志海、黄玉清、刘连鑫,《单片机原理及应用》,北京,电子工业出版社,2009年
[3]谭浩强,《C程序设计》,北京,清华大学出版社,1998年
中国知识网、慕课网
个人总结
阮玲的个人总结:
这次课程设计让我学会了很多东西,加深的不仅仅是对单片机的了解,也深深的感受合作的力量,得到帮助和帮助别人都是一件很让人愉快的。
课程设计让我意识到许多我以前忽视的东西,通过两周的学习让我的眼界更加开阔,也让我更加体会到所学专业的重要性,明白自己所学的东西是有价值的,同时让我对电子专业产生兴趣,能自己完成属于自己东西。
所谓课程设计,从理论到实践,有很大的间隙,在这段日子里,我们努力的将它填平,可以说真的是话费了许多精力,但是可以学到很多很多的东西。
这个学期开设有单片机课程,课设过程中不仅可以巩固了所学的知识,而且学到了很多在书本上所没有学到过的知识。
特别是我们开设的课程主要使用汇编语言来实现单片机功能,就我自己来说,更喜欢使用C语言,自己觉得C语言更容易理解。
这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正的达到学习的效果,在进行作品调试的过程中,我们也遇到了不少麻烦,不会安装Keil软件、烧录程序等等,通过解决这些问题从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,但高兴的是最终都得到了解决。
此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。
刚准备课程设计是,班里组织分组,于是我们仨自然走到一起,组成一个团队。
我很喜欢我的队友们,我认为他们很有责任心,做事时仔细、认真。
接着我们从三个课题中选取了温度显示,在我们看来,做万年历和计算器比较难,保守的选择了第三个课题。
刚开始我对课题设计的流程毫不了解,于是我们一起去图书馆查阅相关资料,在我们的小组的讨论下我有了初步的认识与了解,根据设计报告的流程,接着两周我们就开始了我们忙碌的课程设计生活。
开始进行编写程序时,确实是无从下手,因为没有很好的C语言基础。
对所用芯片LCD1602、DS18B20的功能都不是很清楚,以前从来没有接触过,只是现在需要的时候才开始用它,它的功能都不很清楚。
因为使用AT89C51单片机作为核心控制部件,要实现温度显示的功能,将显示屏和温度传感器连接起来,编程时最为重要的。
我开始比着课本敲代码,一边敲写代码一边思考每个语句的作用。
编写完程序,开始检查是否有语句、语法错误,但是却读不懂程序编译警告,错误也不知道该怎么修改,经常会遇到一些问题,比如少一个大括号,无意中漏掉了一些语句等,是自己感觉有点力不从心。
就开始不停的查阅芯片手册。
有时候拿着芯片资料也会看不懂,只好去找所谓学霸强人大神等来帮忙解释。
在老师提供的资料包里观看视屏教程,与同伴一起讨论等等,只要能够解决难题,我们都愿意去尝试,学习也是一件很快乐的事情,只要你自己愿意。
怀着这些疑问,就去咨询老师,梅健强老师给了我们很大的帮助。
这次课程设计之后,使我明白了做任何事情都要认真仔细,不然的话,会花更多的时间才能做好。
课程设计有利于提高我们的动手能力,能把我们所学的书本知识运用到实际生活中去,同时也丰富了我们的业余生活,提高我们对知识的理解能力。
这两周也让我意识到了团队合作的精神,以及我们要做一个课题设计需要的严谨步骤与思路,还明白在今后我需要更加注重学以致用的精神,不仅能有利于更好的让我们学到课本知识而且增强我们的动手能力,增加学习的兴趣。
在这感谢我这组的另外的两个同学,我们的默契合作才完成这次课题设计的任务,另外也感谢帮助我的老师与同学。
宋辉的个人总结
课程设计个人总结我们完成了为期两周的课程设计,通过这次课程设计我深深体会到,在已度过的大学时间里,我们大多数接触的是专业课.我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?
如何把我们所学的专业基础课理论知识运用到实践中去呢?
我想做类似的课程设计就为我们提供了良好的实践平台。
虽然在大三开学初我对这门课并没有什么兴趣,觉得那些程序枯燥乏味,但在这次课程设计后我发现自己在一点一滴的努力中对它的兴趣也在逐步的增加。
我们有三位同学一起合作,我们默契的配合使我们组第一个完成了我们的设计,而且设计达到了我们预期的效果。
这次课程设计对我来说学到的不仅是那些知识,更多的是团队和合作。
现在想来,也许学校安排的课程设计有着它更深层的意义吧,它不仅仅让我们综合那些理论知识来运用到设计和创新中,还让我们知道了一个团队凝聚在一起时所能发挥出的巨大潜能巨大力量!
两周来我们一起找资料,选方案,再选方案是大家意见不统一然后我们一起上网进行查阅敲定方案后进行仿真,调试程序,最后我们的单片机的温度采集显示电路设计成功完成。
两个星期后的今天我已明白课程设计对我来说的意义,它不仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手能力和独立思考的能力,更重要的是同学间的团结,使得我们这次比别的同学节省了时间,。
回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
设计过程中,也对团队精神的进行了考察,让我们在合作起来更加默契,在成功后一起体会喜悦的心情。
果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。
在这学期的课程设计中,不仅培养了我们的独立思考、动手操作的能力,在各个其它能力上也都有了提高。
更重要的是,在课程设计中,我们学会了很多学习的方法,而这是今后最实用的,真的是受益匪浅。
要面对社会的挑战,只有不断的学习、实践,再学习、再实践。
这对于我们的将来也有很大的帮助。
以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。
就像中国提倡的艰苦奋斗一样,我们在完成这次课程设计后变的更加成熟,能够面对需要面对的事情
年晓琴的个人总结
通过这次的课程设计,使我学会了很多东西,包括书本上的理论知识及书本上学不到的知识。
中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原,也暴露出了前期我在这方面的知识欠缺和经验不足。
实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。
通过课程设计,使我加深了对所学理论知识的理解与巩固,并能将课本上的纯理论应用到实践中,进一步加深了对知识的认识。
让我明白只有理论是不够的,得要把所学到的理论知识结合实际,同时,也有助于对其他知识的理解。
现在,我对Matlab,单片机有了更深入的理解。
培养了我耐心、仔细谨慎的工作态度。
这次课程设计的内容最多的是单片机。
在调试过程中,对芯片的工作原理以及合理的排版都要有细致的规划,这是最考验一个人的耐心与严谨态度的过程,只有这样才能使仿真更准确、更美观,调试更准确。
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节是对学生实际工作能力的具体训练和考察过程.回顾起此次课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟跟毕业设计差不多,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解不够深刻,掌握得不够牢固,比如说单片机的工作原理,不懂如何画流程图,对如何排版,仿真也掌握得不好…通过这次课程设计之后,一定把以前所学过的知识重新温故。
通过这次课程设计,使我更充分认识了团队合作的重要性。
由于这次课设是以小组为单