




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学号姓名答辩成绩(30%)实物演示(40%)论文成绩(30%)总成绩评语: 指导教师: 年 月 日 单片机温度检测记录系统2012 年 7 月 17 日摘 要温度参数检测在测控系统、工业控制等场合中占有重要的地位,设计一个具有温度实时显示和动态记录功能的温度检测记录系统就显得非常必要。本文提出了以stc89c52单片机为核心的温度检测与记录系统的设计方法,在这种方法中采用了新型可编程温度传感器ds18b20进行温度检测,这种传感器具有很多的特点,抗干扰能力强、温度采集精度高、稳定性好、电路简单、控制方便等等;时钟显示模块采用了ds1302,它能提供包括秒、分、时、日期、月份、年份信息,可以选择
2、12小时制和24小时制;创造性的采用了24c02与串口的方法来有效得存储数据;lcd液晶显示器用来显示时间温度的数据。这篇文章还给出了系统总体框架、程序流程图和altium designer 6 原理图,并在硬件平台上实现了所设计功能。关键词:stc89c52单片机;温度传感器;时钟显示目 录1. 设计任务11.1 任务描述11.1.1 小任务11.2 技术指标11.3 难点分析12. 方案比较与论证22.1 方案选择22.2 方案论证32.3 小结43. 系统硬件设计53.1 总体设计53.2 硬件模块电路分析63.3 发挥部分设计133.4 电路原理图133.5 小结134. 系统仿真与软
3、件设计144.1 仿真设计与分析144.2 软件设计155. 系统调试与组装185.1 pcb板185.2 样机调试185.3 样机功能185.4 发挥部分测试结果195.5 小结196. 结论20参考文献21附录一22附录二251. 设计任务1.1 任务描述 设计制作一台可检测和记录温度的系统。1.1.1 小任务 温度检测系统可以根据外界的情况在相应的间隔时间显示出对应的温度值。1.2 技术指标(1) lcd显示实时时钟:年、月、日、时、分、秒;(2) 每30秒采样温度,lcd更新显示温度值;(3) 按键触发存储当前温度和时钟信息(年、月、日、时、分);(4) 按键触发串口传输存储的温度和时
4、钟信息;(5) 温度测量精度:1度。1.3 难点分析在本次设计实验中,主要的难点有:满足设计要求的keil c语言程序设计,并且满足protues仿真时也要确保实物电路满足要求,因为仿真电路的晶振频率和延时函数与实际电路有区别,所以在这些细节处我们更应该主要,避免实物电路出不了结果;用altium designer 6画pcb板时,因为没有库文件所以对元器件的封装必须正确,在摆放元器件时要尽量减少交叉线;在做实物板时,必须确保焊接的正确,没有虚焊、漏焊、桥接的情况,确保硬件没有问题;在调试过程中,由于加了稳压器,所以系统的输入电压才3.7v左右,达不到一些元器件的工作电压,到时led显示不稳定
5、,既在设计电路之前就必须先查看所用到的元器件的资料,确保各个元器件都正常工作。2. 方案比较与论证 做任何一件事情并不是只有一种方法,只要勤于思考,不但会有很多不同的途径,还能从中选取最优的那一种,这次的设计,我们这一组的成员对器件的使用也展开了讨论,目的是在众多的具有相同功能的一类器件中选择一款更能达到本次设计任务。以下选择性的介绍一下各类型的器件的比较以及我们选择所用到的器件的原因。2.1 方案选择2.1.1 温度传感器方案1:热电偶传感器是温度测量中最常用的传感器,它是由在一端连接的两条不同金属线构成,当热电偶一端受热时,热电偶电路中就有电势差,可用测量的电势差来计算温度。电压与温度是呈
6、非线性关系,温度变化时电压变化很小,并且需要为参考温度(tref)作第二次测量,并利用测试设备软件和硬件在仪器内部处理电压-温度变换,以最终获得热偶温度(tx)。方案2:热敏电阻是用半导体材料制成,大多为负温度系数,即阻值随温度增加而降低,它的体积非常小,对温度的变化响应也很快,具有结构简单,测量范围广,热惯性小,准确度高,输出信号远的优点,但价格较高。方案3:ds18b20的操作用汇编语言编写的具体程序,测温精度高、分辨率高。具有非易失性上、下限报警设定的功能,成本低,易于采集信号。2.1.2 时钟显示方案1:采用内部时钟计时,利用单片机内部的振荡器,然后在引脚xtal1(18脚)和xtal
7、2(19脚)两端接晶振,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路,外接晶振时,晶振两端的电容一般选择为30pf左右;这两个电容对频率有微调的作用,晶振的频率范围可在1.2mhz12mhz之间选择为了减少寄生电容,更好的保证震荡器稳定、可靠地工作,振荡器和电容应尽可能安装得与单片机芯片靠近。方案2:采用外部时钟芯片ds1302,它是一种。高性能、低功耗、带ram的实时时钟电路,可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5v5.5v。它的主要特点是采用串关闭行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。2.1.3 时间温
8、度数据显示方案1:采用led数码管显示,led数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个,这些段分别由字母a、b、c、d、e、f、g、dp来表示。当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的字样。方案2:采用lcd显示器显示。液晶显示器在当今的生活中随处都可以看到,我们采用的lm016l液晶模块采用了hd44780控制器,hd44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能。lm016l是一种专门用来显示字母、数位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行距的作用。2.1.4
9、 数据的串口传送与储存显示方案1:通过串口将数据传送到另一个单片机系统上显示,采用24c02存储器对数据进行储存。方案2:通过串口将数据传送到pc机上并用vb程序编写的界面显示,采用pc机对数据进行储存。2.2 方案论证2.2.1 温度传感器利用热电偶传感器一般会考虑铂电阻和铜电阻,铂电阻适用于中性和氧化性介质,稳定性好,具有一定的非线性,温度越高电阻变化率越小;铜电阻在测温范围内电阻值和温度呈线性关系,温度系数大,适用于无腐蚀介质,超过150度易被氧化。并且采用热电偶传感器或者热敏电阻作为温度传感器,都需要采用专用的温度补偿导线与仪器连接,但是温度补偿导线的价格很高,同时如果线路太长,会影响
10、测量精度,这是直接以模拟量形式进行采集的不可避免的问题。采用新型可编程温度传感器ds18b20进行温度检测可以避免热电偶或热敏电阻作为温度传感器所造成的测量精度误差过大等问题,它的测温范围-55125,分辨率最大可达0.0625 。ds18b20 可以直接读出被测温度值。而且采用3 线制与单片机相连,减少了外部硬件电路,具有低成本和易使用的特点。 ds18b20 是dallas 半导体公司的数字化温度传感器,它是一种支持 “一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。一线总线将独特的电源和信号复合在一起,并仅使用一条线,每
11、个芯片都有唯一的编码,支持联网寻址,简单的网络化的温度感知,零功耗等待等特点。因此采用方案3。2.2.2 时钟显示单片机的时钟信号可以由外部振荡和内部振荡两种方式取得,在引脚xtal1和xtal2外接晶振振荡器或陶瓷谐振器,就构成了单片机的内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器,并产生振荡时钟脉冲。虽然采用内部时钟计时,可以节省io引脚,降低成本,但是内部振荡器使用阻容震荡,其精度不高,为了防止掉电,还需要备一块电池供电。单片机的外部振荡方式时把已有的时钟信号引入单片机内。这种方式适宜用来使单片机的时钟与外部信号一致。(对于hmos的单片机(803
12、1,8031ah等),外部时钟信号由xtal2引入,对于chmos的单片机(8xcxx),外部时钟由xtal1引入。采用外部时钟芯片ds1302,不仅仅能对时间进行计时还可以对年、月、日、周进行计时,具有闰年补偿功能而且对于使用串口、或者pwm等对时钟比较敏感的功能,不会产生影响。所以选择方案2。2.2.3 时间温度数据显示如果采用数码管动态扫描显示时间温度数据,往往不止一个数码管,一个数码管8段加一个公共端需要9根口线才能完全显示任意字符,为了节省io口线,就需要用到人眼视觉驻留的原理,每一位数码管显示一会儿,然后关掉,再去显示下一个数码管。使用lcd显示时,由于液晶显示器每一个点在收到信号
13、后就一直保持那种色彩和亮度,恒定发光,所以它的画质高且不会闪烁,由于液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作也更加方便。并且液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的液晶显示器每一个点,在质量上也比相同显示面积的传统显示器要轻得多。同时,液晶显示器的功耗主要消耗在其内部的电极和驱动ic上,功耗电量非常少。所以使用方案2。2.2.4 数据的串口传送与储存显示模块 在这一个通过模块中我们考虑到将两种方法结合起来,因为这两种方式各有其优势和劣势,同时采用可以取长补短,也并不会发生矛盾。串口将数据从一个单片机传送到另一个单片机上设置较为简单,将数据存储到24c02
14、存储器上,不易于对任意时间温度数据进行提取,而将数据传送到pc机上并用vb界面显示出来不仅美观而且信息量丰富,但是有可能会丢失,我们将数据储存在“d:温度.txt”目录下不仅存储量大,而且便于直观查看。将两种方法结合起来后,这一个模块的工作情况能够更加的有保障,因此,将方案1与方案2 结合起来。2.3 小结 通过这一部分的讨论,在比较了各种方案对该设计的影响及达到设计的技术指标的保准后,我们就确定了选用单片机stc89c51为核心元件,温度传感器stc89c52,时钟芯片ds1302,存储芯片24c02,传输芯片max232,并且为了保证系统能够更加有保障的传输数据,还采用了串口将数据传送到p
15、c机上并用vb程序编写的界面显示。这样,整个系统的大致所需要的芯片就可以确定了,为单片机添加晶振、保护电阻时所需的器件以及其大小类型,画仿真图的时候可以确定。3. 系统硬件设计3.1 总体设计该系统是以stc89c52单片机为核心,采用了新型可编程温度传感器ds18b20进行温度检测,它具有抗干扰能力强、电路简单、精度高等特点,时钟显示模块采用了ds1302,它能够提供包括秒、分、时、日期、月份、年份信息,闰年可自行调整,还可以选择12小时制和24小时制,并通过串口、24c02与主机进行通信,最后以lcd显示。通过按键开关可对日期年月进行手动选择,单片机通过max232串口传输能实现与pc机直
16、接的存储信息交流。 lcd显示模块 功能 选择max232 串口 温度传感器 ds18b20 s t c 8 9 c 5 2 单 片 机外部时钟 ds1302 温度报 警系统 pc机 图3-1 硬件总体框图根据硬件的总体框图,我们画出了相应的proteus仿真图,将正确的程序在入之后,能够显示出正确的时间与所处环境的温度值,如下图所示,是在2012年7月16日晚上20:13:56时,星期一,所测得温度值为37度。 图3-2 总体设计图3.2 硬件模块电路分析3.2.1 核心系统模块stc89c52是一种带8k字节闪烁可编程可擦除只读存储器的低电压,高性能comos8的微处理器,俗称单片机。该器
17、件采用atmel高密度非易失储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。12时钟/机器周期和6时钟/机器周期可以任意选择。工作电压为5.5v3.3 v(5v单片机)/3.8v2.0v(3v单片机),它的工作频率范围为040mhz,相当于普通8051的080mhz,实际工作频率可达48mhz,用户应用程序空间为8k字节,偏上集成512字节ram,通用i/o口(32个)复位后为:p1、p2、p3、p4是准双口向上/弱上拉,p0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为i/o口用时,需加上拉电阻。它不仅具有eeprom功能,还具有看门狗功能。一共有3个16位定时器
18、/计数器,即定时器t0、t1、t2,外部中断4路,下降沿中断或低电平触发电路,power down模式可由外部中断低电平触发中断方式唤醒。stc89c52管脚图如图3-3(a)所示,仿真图如图3-3(b)所示。 图3-3(a)stc89c52管脚图 图3-3(b)stc89c52仿真图各引脚功能分别为:vcc:电源电压;vss:接地;p0端口:p0口是一个漏极开路的8位双向i/o口。作为输入端口,每个引脚能驱动8 个ttl负载,对端口p0写入每个引脚驱动,写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,p0口也可以提供低8位地址和8位数据的复用总线。此时,p0口内部上拉电阻有效
19、。在flash rom编程时,p0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。p1端口:p1口是一个带内部上拉电阻的8位双向i/o口。p1的输出缓冲器可驱动4个ttl输入。对端口写入“1”时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。p1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。p1.0和p1.1还可以作为定时器/计数器2的外部技术输入(p1.0/t2)和定时器/计数器2的触发输入。p2端口:p2口是一个带内部上拉电阻的8位双向i/o口。p2的输出缓冲器可驱动4个ttl输入。对端口写入“1”时,通过内部的上拉电阻把端口
20、拉到高电位,这时可用作输入口。p2口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。在访问外部程序存储器和16位地址的外部数据存储器时,p2送出高8位地址。在访问8位地址的外部数据存储器时,p2口引脚上的内容在整个访问期间不会改变。p3端口:p3口是一个带内部上拉电阻的8位双向i/o口。p3的输出缓冲器可驱动4个ttl输入。对端口写入“1”时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。p3口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。p3口除作为一般i/o口外,还有其他一些复用功能。rst:复位输入。当输入连续两个机器周期以上高低
21、那平时为有效,用来完成单片机的复位初始化操作。看门狗计时完成后,rst引脚输出96个晶振周期的高电平。特殊寄存器可以auxr上的disrto位可以使此功能无效。disrto默认状态下,复为高电平有效。ale/rog:地址锁存控制信号,ale是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,rog也用作编程输入脉冲。stc89c52的工作模式为:掉电模式:典型功耗vcc1+0.2v时,由vcc2向ds1302供电,当vcc2 vcc1时,由vcc1向ds1302供电。 在实物中,我们将vcc1与一颗3v的钮扣电池相连,从而实现时钟实时更新功能。sclk:串行时钟,输入,控制数
22、据的输入与输出; i/o:三线接口时的双向数据线; ce:输入信号,在读、写数据期间,必须为高。该引脚有两个功能:第一,ce开始控制字访问移位寄存器的控制逻辑;其次,ce提供结束单字节或多字节数据传输的方法。 它的主要工作部件有:移位寄存器、控制逻辑、晶振、时钟和ram。在进行任何数据传输时,必须被制高电平,在每个sclk上升沿时数据被输入,下降沿是数据被输出,一次只能读写一位,适度还是写需要通过串行输入控制指令来实现,通过8个脉冲便可读取一个字节从而实现串行输入与输出。最初通过8个时钟周期载入控制字节到移位寄存器。如果控制指令选择的是单字节模式,连续的8个时钟脉冲可以进行8位数据的写和8位数
23、据的读操作,sclk时钟的上升沿时,数据被写入ds1302,sclk脉冲的下降沿读出ds1302的数据。8个脉冲便可读写一个字节。在突发模式,通过连续的脉冲一次性都写完7个字节的时钟日历寄存器,也可以一次性读写8328位ram数据。 图3-7 ds1302的工作原理图3.2.4 数据的串口传送与储存模块对于数据的传送与存储我们分别选用了max232和24c02c,由前面的介绍可以了解,数据的存储这一部分,为了安全起见,我们还采用了pc机的功能。max232是一款兼容rs232标准的芯片。由于电脑串口rs232电平是-10v +10v,而一般的单片机应用系统的信号电压是0+5v,max232就是
24、用来进行电平转换的,该器件包含2驱动器、2接收器和一个电压发生器提供tia/eia-232-f电平。该器件符合tia/eia-232-f标准,每一个接收器将tia/eia-232-f电平转换成5-v ttl/cmos电平。每一个发送器将ttl/cmos电平转换成tia/eia-232-f电平。它的主要特点是:单5v电源工作;linbicmostm工艺技术;有两个驱动器和两个接收器;正负30v输入电平;低电源电流,典型值是8ma;符合甚至优于ansi标准 eia/tia-232-e及itu推荐标准v.28;esd保护大于mil-std-883标准的2000v。图3-8(a)为max232的管脚图
25、,图3-8(b)为max232的仿真图 图3-8(a)max232管脚图 图3-8(b)max232的仿真图各引脚的功能为:c1+,c1-,c2+,c2-:外接电容端;r1ln,r2ln:2路rs-232电平信号接收输入端;r1out,r2out:2路转换后的ttl电平接收信号输出端,送单片机的rxd接收端;t1ln,t2ln:2路ttl电平发送输入端,接收机的txd发送端;t1out,t2out:2路转换后的发送rs-232电平信号输出端,接传输线;v+:经电容接+5v电源;v-:经电容接地。24c02c是点可擦除prom,采用256*8-bit的组织结构以及两线串行接口。电压可允许低至1.
26、8v,待机电流和工作电流分别为1a和1ma。24c02c具有也写功能,每页分别为8字节。图3-9(a)为24c02c的管脚图,图3-9(b)为它的仿真图。 图3-9(a)24c02c管脚图 图3-9(b)24c02c仿真图各管脚功能为:a0、a1、a2:器件地址选择;sda:串行数据/地址;scl:串行时钟;wp:写保护;vcc:+1.8v6.0v工作电压;vss:接地。3.2.5 时间温度数据显示模块液晶显示器(lcd)具有功耗小、体积小、质量轻、功耗小的特点。点阵字符型液晶显示器把lcd控制器、点阵驱动器、字符存储器集成在一块印刷电路板上,构成便于应用的液晶模块。这类液晶模块不仅可以显示数
27、字、字符,还可以显示各种图形符号及少量自定义符号,并且可以实现屏幕的上下左右滚动,文字的闪烁等功能;人机界面友好,使用操作也更加灵活、方便,使其日益成为各种仪器仪表等设备的首选。lm016l液晶模块采用hd44780控制器,hd44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,lm016l与单片机mcu通讯可采用8位或4位并行传输两种方式,hd44780控制器由两个8位寄存器,指令寄存器(ir)和数据寄存器(dr)忙标志(bf),显示数ram(ddram),字符发生器roma(cgorom)字符发生器ram(cgram),地址计数器ram(ac)。ir用于寄存指令码,只能写入
28、不能读出,dr用于寄存数据,数据由内部操作自动写入ddram和cgram,或者暂存从ddram和cgram读出的数据,bf为1时,液晶模块处于内部模式,不响应外部操作指令和接受数据,ddtam用来存储显示的字符,能存储80个字符码,cgrom由8位字符码生成5*7点阵字符160中和5*10点阵字符32种。lm016l的实物图与仿真图分别如图3-10(a)和3-10(b)所示 图3-10(a)lcd1602管脚图 图3-10(b)lcd1602仿真图各引脚的功能为:vss:接地;vdd:接电源(+5v);v0:液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生
29、“鬼影”,使用时可以通过一个10k的电位器调整对比度);rs:rs为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器;r/w:r/w为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作;e:e(或en)端为使能(enable)端,下降沿使能;db0-db7:双向数据总线 7位(其中db7即最高位,也是busy flag);bla:背光电源正极;blk:背光电源负极。其寄存器选择控制表如下表3-2所示: 表3-2 lm016l寄存器选择控制表rsr/w操作说明00写入指令寄存器(清除屏等)01都busy flag(db7),以及读取位址计数器(db0db6)值10写入数
30、据寄存器(显示各字型等)11从数据寄存器读取数据3.3 发挥部分设计 我们这一组在老师的要求的基础上,加了一个温度报警器的模块,温度报警器广泛应用于工农业生产以及日常生活中:环境温度检测报警、蔬菜大棚、花窖、鱼塘等。这个模块可以在温度过高的时候发出报警的声音,引起人们的注意。3.4 电路原理图 图3-11电路原理图3.5 小结通过对硬件电路进行仿真和电路设计我们发现了很多细小的问题,首先就是单片机的驱动问题,这点在仿真的时候不用外加晶振就可以正常运行,但是实际电路设计的时候一定要注意外接晶振源;在进行仿真测试前一定要多查阅各个芯片的引脚的高低电平的接法,否则会引起芯片不能正常被驱动而导致某个模
31、块不能运行;在设计ds1302的过程中一定要注意添加晶振驱动该芯片工作,这点常常容易被忽略。仿真通过之后我们就要焊接实物电路板,焊接电路的过程也要注意器件的合理摆放,不要浪费板子的面子也不要影响美观。在调试电路板的过程中我们要注意先检查电路是否有短路问题然后再接上电源进行电平检测,在检查短路问题的过程中我们一定要有耐心。检查完电路的线路问题之后我们就要仔细检查上电之后各芯片的引脚电平是否正常,调试电路板是一个漫长的过程,我们在这个过程中一定要做好各种心理准备,因为可能第一次调试的过程什么结果都没有,然后我们通过不断失败不断进步就能保证最终电路板的成功。4. 系统仿真与软件设计4.1 仿真设计与
32、分析本次设计,我们是通过protues仿真,总的来说就是将温度传感器ds1802检测到的温度和ds1302外部时钟传给单片机,再由单片机将数据发给lcd显示出来,利用按键开关来实现时间的设置与存储。 初始化串口、lcd时钟芯片初始化获取温度并显示调节时间模式调节时间是否每隔30秒测温并显示扫描功能键按键保存温度 结束是否 图4-1系统总流程图4.2 软件设计4.2.1温度传感器流程图ds18b20工作时需要接收特定的指令来完成相应的功能,它的指令分为rom指令和ram指令,首先要将温度传感器内存初始化,逐字读取传感器ram中的的温度数据,并将数据转化为十进制的浮点型数据,最后显示出温度值。其流
33、程图如下:nnyy 初始化调用显示子程序发出温度转换命令读出温度值温度计算处理显示数据刷新初次上电?is到? 图4-2 温度传感器流程图4.2.2 时钟芯片流程图ds1302包括时钟/日历寄存器和31字节(8位)的数据暂存寄存器,数据通信仅通过一条输入输出口。实时时钟/日历提供包括秒、分、时、日期、月份、年份信息,闰年可自行调整。初始化之后,进行写操作,并且按照程序供给的初始时间继续走时,并将数据送入到单片机中再根据日历、时间调整指令的情况进行下一步。其流程图如下:无有否无是 初始化 读取当前时间数据按照新时间走时 写操作将数据送入单片机日历、时间调整命令等待初试时间设置命令 图4-3 时钟芯
34、片流程图4.2.3 存储芯片流程图at24c02是美国atmel公司的低功耗cmos串行eeprom,它是内含2568位存储空间,具有工作电压宽 (2.55.5v)、擦写次数多(大于10000次)、写入速度快(小于10ms)等特点。at24c02中带有片内寻址寄存器。每写入或读出一个数据 字节后,该地址寄存器自动加1,以实现对下一个存储单元的操作。所有字节都以单一操作方;读取。为降低总的写入时间,一次操作可写入多达8字节的数据。其工作流程图如下所示: 初始化 启动i2c发送24c02内部地址0x00检测应答信号有应答?读取该地址中的数据加1 数据置1数据置大于9 显示数据否否图4-4 存储芯片
35、流程图5. 系统调试与组装5.1 pcb板本次设计,利用altium designer 6将protues的仿真图画pcb板,在画制pcb的过程中,首先就是元器件的封装,由于altium designer的库函数要自己封装元器件,所以这也是成功制版的关键之处,其次就是对altium designer原理图进行pcb板连线的布局,只做一层的pcb板,所以在布线时要尽量减少飞线,使pcb板总体美观。5.2 样机调试 在样机调试过程中,首先就是检查连线有无虚焊、漏焊、桥接,在上电检查单片机工作是否正常,这次实验中,我们小组检查实物电路没有错误,并且protues仿真也能得到正确结果,但是实物电路的结
36、果与仿真确实有差别,主要的原因就是程序中的延时函数有些问题,因为protues仿真图利用的是内部时钟,在进行程序设计的时候也没有过多的注意,所以我们花费了大部分时间在这方面的调试。5.3 样机功能(1) lcd显示实时时钟:年、月、日、时、分、秒;(2) 每30秒采样温度,lcd更新显示温度值;(3) 按键触发存储当前温度和时钟信息(年、月、日、时、分);(4) 按键触发串口传输存储的温度和时钟信息;(5) 温度测量精度:1度;(6) 实现实时温度监测并增加超温报警。5.4 发挥部分测试结果 实现了温度报警功能,当温度超过了30度后,报警指示灯自动显示报警。5.5 小结 我们在调试硬件的过程一
37、定要十分小心谨慎。因为这些芯片都是很容易被烧坏的,稍有不慎就会导致某块芯片烧坏而导致试验结果出错。其中我们在检查电路的时候一定要注意检查电路板的短路和虚焊问题,要经过反复的用万能表不停地检测,由于电路连线比较复杂,所以在测试电路的问题上花了好多时间。为了进一步减小试验失误给试验造成影响我们最终给电路的电源部分增加了一个稳压电路7805,从而有效地控制了各种情况的不稳定的电压。调试硬件的过程中我们也是按照仿真时的结果来测试各个引脚的电平来判断电路的连接是否正常。在本次试验中我们碰到最多的问题就是lcd显示的不正常问题还有开关按键按下之后显示器显示出错的问题,最终我们通过不断改进电路和程序达到了l
38、cd的稳定显示和解决了开关按键的稳定问题。 6. 结论在本次设计中,我们小组要做的是温度检测记录系统,在严格按照试验要求的前提下我们还新增了温度报警模块,我们试验电路的总体功能主要分为温度传感器模块感测温度变化通过单片机程序显示到lcd,时钟模块通过晶振驱动产生实时时钟信号并通过单片机程序显示到lcd,存储电路模块通过存储器将当前时间和温度信息进行存储。在刚开始的设计时,首先要做的了解所要用到的芯片资料,在本次设计中protues仿真设计相对来说比较简单,利用温度传感器和外部时钟芯片分别进行温度、时间的检测,再将检测到的数据传送单片机经过程序的处理给led显示,在程序的调试过程中,主要注意的就
39、是时间延时函数的设置,因为protues仿真对时间延时函数的要求不高,但这也却是实物调试成功与否的关键之处。在使用altium designer 6制作pcb板时,首先注意的就是元器件的封装,其次就是对pcb板划线的布局,要避免飞线的使用,所以对元器件的布局是至关重要的。本次设计改进地方主要有:时间和温度是通过有线传输的,局限性较大,如果温度检测与从系统距离较远,那使用起来更不方便,所以改进之处就是通过无线传输,这样可以实现远距离的温度检测月报警。其次可以再设计一个降温的系统,当温度达到预置温度上限时就进行降温,使温度在一个安全的范围。本设计应用性比较强,可以应用在仓库温度、大棚温度、机房温度
40、、水池等的监控以及报警。另外,如果把本设计方案扩展为多点温度控制,加上上位机,则可以实现远程温度监控系统,将具有更大的应用价值。此设计的创新点在于详细设计了基于单片机stc89c52 的温度监控系统,设计程序已经.此系统可广泛用于温度在ds18b20 测温范围之内的场合,有良好的应用前景。由于单片机的各种优越的特性,使得它的经济效益显的更加突出,有很好的实用性。参考文献1 胡汉才,单片机原理与接口技术,清华大学出版社,1996。2 黄小波,基于at89c51单片机与ds18b20的温度监控系统j. 单片机开发与应用,2008. 24(10):119-120。3 张盛,李国芳,杨新恩.温室温度自
41、动监控系统j. 电器传动自动化,2009,31(3): 50-53。4 谭静芳,姚善学.温室温度智能测控系统的设计j. 农业装备技术,2009,35(4):15-17。5 赵文博,刘文涛. 单片机语言c51程序设计m. 北京:人民邮电出版社,2005。6 李华等,mcs-51系列单片机实用接口技术,北京航空航天大学出版社,2003。附录一部分程序:#include #include #include lcd1602.h/液晶显示#include ds1302.h/时钟芯片ds1302#include ds18b20.h/温度检测器件#include 24c02.h/flash存储器件#define uint unsigned int#define uchar unsigned charsbit set = p24; /模式切换键sbit up = p25; /加法按钮sbit down = p26; /减法按钮sbit exit = p27; /立刻跳出调整模式按钮sbit save = p23; /存储和发送数据char done,count
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论