目录。一.摘要。二.课程设计目的。
三.课程设计内容和要求。
(1)设计内容。
(2)设计要求。
四.总体设计思想。
五.框图设计。
六.系统的硬件选择及设计。
1.+5v电源原理及设计。
2.核心处理器的设计。
1)复位电路的设计。
2)晶振电路的设计。
3.温度采集电路的设计。
1)ds18b20的测温原理。
2)温度采集电路。
4.温度显示电路的设计。
1)le数码管的操作。
2)温度显示电路设。
七。 流程图设计。
八.系统的软件设计。
1. 18b20的驱动程序。
2.数码管上温度显示程序。
3. 74hc595的驱动程序。
九.接线及显示结果图:
十、课程设计总结。
一.摘要。随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测与显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。
热敏电阻的成本低,需要外加信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。与传统的温度计相比,这次设计的是基于ds18b20的数字温度计,它具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。
在本设计中选用at89c51型单片机作为主控制器件,采用ds18b20数字温度传感器作为测温元件,通过4位共阳极led数码显示管并行传送数据,实现温度显示。本设计的内容主要分为两部分,一是对系统硬件部分的设计,包括温度采集电路和显示电路;二是对系统软件部分的设计,应用c语言实现温度的采集与显示。通过ds18b20直接读取被测温度值,送入单片机进行数据处理,之后进行输出显示,最终完成了数字温度计的总体设计。
其系统构成简单,信号采集效果好,数据处理速度快,便于实际检测使用。
关键词:单片机at89c51;温度传感器ds18b20;led数码管;数字温度计。
二.课程设计目的
1. 培养学生文献检索的能力,如何利用internet检索需要的文献资料。
2. 培养学生综合分析问题、发现问题和解决问题的能力。
3. 培养学生综合运用知识的能力和工程设计的能力。
4. 培养学生理论联系实际的能力。
三.课程设计内容和要求。
1设计内容。
数字温度计的设计要能实现温度的实时采集与显示,以at89s51单片机为核心芯片,使用ds18b20数字温度传感器采集环境温度,并通过一组4位共阴极数码管将温度显示出来,也可用lm1602液晶显示屏。
方案:使用定时控制温度的采集与显示,时间间隔1s。
2 设计要求。
设计单片机最小系统(包括复位按钮、晶振电路等);
ds18b20应用电路设计。
按键电路设计。
可使用实验室的实验箱实物实现,也可使用**软件proteus实现。
绘制实现本设计内容的硬件电路(原理图),系统的组成框图。
编写本课程设计内容的软件设计(包含程序流程图和对程序注释),汇编或c语言都以。
四总体设计思想。
ds18b20为串行输出,可将其输出接于p3.7上,用字节码移位程序实现其读写功能。
五.框图设计。
基于at89s51单片机的温度控制系统有电源电路、单片机主控电路、按键控制电路和信号灯显示电路组成,如图1所示:
图1 基于at89s51单片机的温度控制系统框图。
六.系统的硬件选择及设计。
1.+5v电源原理及设计(图2)
图2 +5v电源原理及设计。
2.核心处理器的设计。
1)复位电路设计。
单片机复位电路的设计如图3所示。该复位电路采用手动复位与上电复位相结合的方式。当按下按键s1时,vcc通过r1电阻给复位输入端口一个高电平,实现复位功能,即手动复位。
上电复位就是vcc通过电阻r2和电容c构成回路,该回路是一个对电容c充电和放电的电路,所以复位端口得到一个周期性变化的电压值,并且有一定时间的电压值高于cpu复位电压,实现上电复位功能[7]。
图3单片机复位电路。
2)晶振电路的设计。
单片机晶振电路的设计如图4所示。xtal1(x1)为反向振荡放大器的输入及内部时钟工作电路的输入。xtal2(x2)是来自反向振荡器的输出。
按照理论上at89c51使用的是12mhz的晶振,但实测使用11.0592mhz。所以设计者通常用的是11.
0592mhz
图4 单片机晶振电路。
3.温度采集电路的设计。
1)ds18b20测温原理。
ds18b20的测温原理如图5所示,图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其**频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,ds18b20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
图5 ds18b20测温原理图。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器 1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图8中的斜率累加器用于补偿和修正测温过程中的非线性其输出用,于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是ds18b20的测温原理。
另外,由于ds18b20单线通信功能是分时完成的,它有严格的时间概念,因此读写时序很重要。系统对ds18b20的各种操作必须按协议进行。操作协议为:
初始化ds18b20(发复位脉冲)→发rom功能命令→发存储器操作命令→处理数据。
在正常测温情况下,ds18b20的测温分辨力为0.5℃,可采用下述方法获得高分辨率的温度测量结果:首先用ds18b20提供的读暂存器指令(beh)读出以0.
5℃为分辨率的温度测量结果,然后切去测量结果中的最低有效位(lsb),得到所测实际温度的整数部分tz,然后再用beh指令取计数器1的计数剩余值cs和每度计数值cd。实际温度ts可用式下式计算:
ts=(tz-0.25℃)+cd-cs)/cd
2) 温度采集电路。
设计的温度采集电路如图6所示。
图6 温度采集电路图。
四。温度显示电路的设计。
1)led数码管的操作。
led数码管,也叫led数码显示器,由于它具有很高的性能**比、显示清晰、亮度高、使用方便、电路简单、寿命长等诸多优点,长期以来一直在各类电子产品和工程控制中得到非常广泛的应用。在单片机控制系统中,因为单片机的硬件简单、灵活等特点,非常适合使用led数码管作为其输出设备,这样既满足了控制系统硬件简单,又能如实地显示被控系统的温度、压力、流量、高度等一些单片机的处理结果。
led数码管的基本组成是半导体发光二极管,它是将若干个发光二极管,按照一定的笔段组合起来构成的一个整体。led数码管能显示0~9十个数字及部份英文字母。常见的八段led数码管结构如图7所示。
图7 数码管的内部结构。
它由8个发光二极管组成,其中7个长条形的发光二极管排列成”日”字形,另一个发光二极管在整个数码管的右下角,用来显示小数点。根据8个发光二极管的不同连接形式,可以将led数码管分成共阳极和共阴极两种。将8个发光二极管的阳极都连在一起的,称之为共阳极led数码管;将8个发光二极管的阴极都连在一起的,称之为共阴极led数码管。
共阴极和共阳极结构的led数码管各笔段名和安排位置是相同的(如图10所示)。
当发光二极管导通时,相应的笔段发亮,由发亮的笔段组合成0~9十个数字及部分英文字母。这里我们以共阴极led数码管为例,当让其显示数字”3”时,只要a、b、c、d、g段的发光二极管点亮,e、f、dp段的发光二极管不亮,即a、b、c、d、g段发光二极管的阳极加上高电平”1”, e、f、dp段发光二极管的阳极加上低电平”0”,同时使led数码管的公共阴极接低电平”0”,则led数码管此时就能显示数字”3”。
如果加到各笔段对应发光二极管阳极上的**不同,则就能控制led数码管显示不同的字符和数字,这个**称为段码。通常将这个段码用单片机系统中的一个字节进行存储,正好这个字节中的8个二进制位(d7、d6、d5、d4、d3、d2、d1、d0),依次对应led数码管的8个笔段dp、g、f、e、d、c、b、a。
2)温度显示电路。
显示电路采用4个共阴极led数码管,从p1口并行输出温度段码,用p3.0~p3.3四个端口输出选择脉冲,控制数码管的点亮。其具体电路图如图8所示。
图8 显示电路。
其工作过程如下:
1、并行数据由p1口送至4个数码管。
2、这时p3.0、p3.1、p3.2、p3.3轮流输出低电平,led数码管依次被点亮,显示p1传送来的数据。
由于数码管余辉效应和人眼的视觉延迟,当数码管每秒点亮50次时,就会出现静止显示的温度值。
七。 流程图设计。
系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。
1)主程序。
主程序的主要功能是负责温度的实时显示、读出并处理ds18b20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图9所示。
图9图102)读出温度子程序。
读出温度子程序的主要功能是读出ram中的9字节,在读出时需进行crc校验,校验有错时不进行温度数据的改写。其程序流程图如图10:
图11 温度转换流程图。
3)温度转换命令子程序。
温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图11所示。
4 )计算温度子程序。
计算温度子程序将ram中读取值进行bcd码的转换运算,并进行温度值正负的判定,其程序流程图如图12所示。
图12 计算温度流程图图13 显示数据刷新流程图。
5 )显示数据刷新子程序。
显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。程序流程图如图13。
单片机课程设计
可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...
单片机课程设计
目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...
单片机课程设计
1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...