版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理与应用课程设计报告题 目:花卉温室温控系统设计学 院:工程技术学院班 级:学 号:姓 名:联系方式:指导教师:报告成绩:2015年01月03日、户 、.刖百在某些工业生产过程中,如自动控制系统、恒温炉、花卉种植、小型温室等 领域都对温度有着严格的要求,需要对其加以检测和控制。传统的温度测量方法 是将温度传感器输出的模拟信号放大后送至远端 a/d转换器,最后单片机对a/d 转换后的数据进行分析处理。这种方法的缺点是模拟信号在传输的过程中存在损 耗并且容易受到外界的干扰,导致测量的温度精度不高。而采用数字温度传感器ds18b20因其内部集成了 a/d转换器,使得电路结 构更加简单,而且减
2、少了温度测量转换时的精度损失,使得测量温度更加准确。数字温度传感器ds18b20r用了个引脚即可与单片机进行通信,大大减少了接线 的麻烦,使得单片机更加具有扩展性。采用单片机控制不仅具有控制方便, 简单 和灵活性大等优点,从而能够大大的提高产品的质量和数量。关键性元件:80c51, ds18b20按键等元件。尽管如此,我认为设计一个花卉温室温控系统, 不论是从学习还是实践的角 度,对一名电子信息工程专业的大学生都会产生一些积极地作用, 有利于提高对 学习的热情。兰州城市学院电信专业目录第一章绪论1.1 课题的背景和意义 11.2 单片机的前景与未来 11.3 温度测控技术的应用 3第二章温度传
3、感器的介绍2.1 传感器原理及前景简介 82.2 温度一体化传感器在现实生活中的应用 92.3 温度传感器 ds18b20 102.3.1 ds18b20 简介 112.3.2 ds18b20的引脚结构及说 12第三章硬件设计3.1 方案设计 133.2 硬件电路设计 133.3 基于80c51的单片机小系统 143.4 温度采集模块 153.5 显示模块 16第四章软件部分设计4.1 软件设计4.2 主程序及各模块程序4.3 系统仿真4.4 主程序第五章设计总结 35第六章参考文献 36第一章 绪论1.1 选题背景和意义:经过这几天的课程设计及在网上的查询了解到,温度控制系统在国内各行各业的
4、应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高, 同美国,日本,德国等先进国家相比,仍然有较大的差距。目前,在精密测量和精密加工中,环境因素是影响精度的主要因素之一,其中的温度是环境的主要指标。当前,已经开发了很多的温度测量系统,一些高精度温度传感器的精度可达到土 0.01 c, 然而价格非常昂贵一般只作为高分辨力的精度测量和用作测温仪器的标准。而对于生产应用中的较低精度温度测量系统,现有的系统多采用了与计算机直接结合的工作模式,增加了系统的成本。鉴于目前的情况,我们提出以价格低廉的单片机作为控制核心,以多个温度传感器作为测量元件,构成了低成本的智能温度测量系统。在该
5、系统中,根据测量空间或设备的实际需要,由多路温度传感器对关键温度点进行测量,由安装于仪器内的单片机对各路数据进行循环检测、存储,实现温度的智能测量。 该系统具有与计算机的通讯功能,在长时间数据采集完成后, 可以将数据在传送到计算机进行相关的研究分析。因此,该系统即具有现有的计算机控制的智能测量功能,又节省硬件成本。 另外,我们所设计的智能温度测量系统外形尺寸小,即可用于实验室环境温度的测量,又可用于仪器、大型设备等的内部环境测量。1.2 单片机的前景与未来:单片机现在可以说是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自 己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与
6、主流c51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了。所以,学习单片机在我国是有着广阔前景的。1.3 温度测控技术的应用 :温度自动测控系统借助于温度传感器,测量大楼,大棚内等的温度数据, 并对大棚等实现温度控制。系统采用以可编程序控制器为核心,配置以各类温度传感器,外围接口电路, 由可编程序控制器检测个传感器的信号,完成实时数据采集,开关量处理,超限报警信号检
7、测与输出等,并根据采集的信号来控制前端设备的运转。可编程序控制器是一种工业环境下应用的智能控制器件。可用于执行逻辑运算,顺序控制,定时,计数和算术操作等指令,并 通过数字或模拟的输入输出方式控制各种类型的仪器设备。可编程序控制器还具有通信,联网等功能,它的应用范围大致介于继电器控制装置与过程控制的计算机之间,它也可在一个大型的集散控制系统中,作为前端控制装置,在上位机的统一调度下工作。测量温度时,温 度传感器把温度信号转变为电量,为与可编程序控制器连接,测量的电信号应转化为工业标准信号0-5v或4-20ma=4 兰州城市学院电信专业第二章温度传感器的介绍2.1传感器原理及前景简介:兰州城市学院
8、电信专业传感器是能感受(或响应)规定的被测量并按照一定规律转换成可用信号输出的器件或 装置。通常由直接响应于被测量的敏感元件和产生可用信号输出的转换元件以及相应的电子 线路所组成。传感器的前景可以从以下几方面来看:采用新原理,开发新型传感器;大力开发物性 型传感器;传感器的集成化;传感器的多功能化;传感器的智能化(smart sensor)2.2 温度一体化传感器的应用:适用于通讯机房,办公室,厂矿,车间,仓库,医院,档案馆,博物馆,暖通空 调,楼宇自控等环境的温度测量。温度一体的传感器节省资源,便于温度的测量和对 湿度补偿,同时为保证结果真实可靠。2.3 温度传感器本设计利用单片机结合传感器
9、技术而开发设计了这一温度控制系统,文中传感器与单片机实际应用有机结合,简单讲述了利用新芯片探测环境温度的过程,以及实现模数转换的原理过程。2.3.1 ds18b20 简介(1)独特的单线接口方式:ds18b20微处理器连接时仅需要一条口线即可实现微处理 器与ds18b20的双向通讯。(2)在使用中不需要任何外围元件。(3)可用数据线供电,电压范围:+3.0 +5.5 v。(4)测温范围:-55 +128 c。固有测温分辨率为 0.5 c。(5)通过编程可实现 912位的数字读数方式。(6)用户可自设定非易失性的报警上下限值。(7)支持多点组网功能,多个ds18b20可以并联在惟一的三线上,实现
10、多点测温。(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。2.3.2 ds18b20引脚结构及说明引脚说明:gnd接地。dq:数据输入/输出脚。vdd外接供电电源输入端(在寄生电源接线方式时接地)。ds1820通过一个单线接口发送或接收信息,因此在中央微处理器和ds1820之间仅需一条连接线(加上地线)。用于读写和温度转换的电源可以从数据线本身获得,无需外部电源。因为每个ds1820都有一个独特的片序列号,所以多只ds1820可以同时连在一根单线总 线上,这样就可以把温度传感器放在许多不同的地方。这一特性在hvac环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制
11、等方面非常有用。第三章 硬件设计3.1 方案设计:本系统采用了单片机 80c51,利用数字温度传感器 ds18b20对环境进行测温,同时采用 max7219动六位4段共阴极数码管,同时还对温度上下限进行存储,此外还有键盘设备来 实现温度上下限值的设置,红灯报警温度的越线。总体硬件结构框图如图1.1所示。晶振及复位仁89c51二报警电路图1.1系统硬件结构3.2 硬件电路设计(1)最小化电路设计主控芯片要能正常工作,首先要提供电源,除其次要有晶振电路提供时钟脉冲信号,除此之外还要有复位电路使单片机或系统其它部件处于某种确定的初始状态,最后还要是单片机有程序。(2)单片机工作需要3个基本条件:接电
12、源、接石英晶体振荡器和复位电路、单 片机内装入程序,如下图 2.2所示。接石英晶体振荡器:将单片机第19脚(xtal1)与18脚(xtal2)分别接外部晶体的两个引脚,由石英晶体 组成振荡器,保证单片机内部各部分有序工作。 单片机运行程序的速度与振荡器的频率有关。 单片机在读、写操作时都需要消耗一定的时间。机器周期是指单片机完成一个基本操作所用的时间,当外接石英晶体为12mhz时,1个机器周期为1ms;当外接石英晶体为 6mhz时,1个机器周期为1ms。复位电路:9脚接复位电路,在实际应用中,复位电路有两种基本形式:一种是上电复位,另一种是上电与按键均有效的复位。上电复位要求接通电源后,单片机
13、自动实现复位操作。 常用的上电复位电路如图 2.4 (a)所示。上电瞬间rst引脚获得高电平, 随着电容c1的充电,rst引脚的高电平将逐渐下降。 rst引脚的高电平只要能保持足够的时间 (2个机器周期),单片 机就可以进行复位操作。该电路典型的电阻和电容参数为:晶振为12mhz时,c1为10uf,r1为8.2kq;晶振为6mhz时,电容 c1为22uf, r1为1kq。图2.2单片机的基本电路上电与按键均有效的复位电路如图2.4 (b)所示。上电与按键均有效的复位电路原理与上电复位原理相同,不同的是上电与按键均有效的复位电路在单片机运行期间,能用按键来控制复位操作晶振为 6mhz时,电容 c
14、1为22uf, r2为200a 。图2.4 (a)上电复位电路图2.4 (b)按键与上电复位本设计中使用后者电路复位,就是可以在单片机运行期间可以人工的复位。这样是比较方便。3.3 基于80c51的单片机小系统80c51单片机属于mcs-51系列单片机,由intel公司开发,其结构是 8048的延伸,改 进了 8048的缺点,增加了如乘(mul、除(div)、减(subb、比较(cmp、16位数据指 针、布尔代数运算等指令,以及串行通信能力和5个中断源。采用40引脚双列直插式dip(dual in line package),内有128个ramli元及4k的rom 80c51有两个16位定时计
15、数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口。 80c517内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用12mhz的晶振频率。由于80c51的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也 很成熟,故采用其来作为控制核心。 引脚功能:p0 口: p0 口是一个8位漏极开路的双向i/o 口。作为输出口,每位能驱动8个ttl逻辑电平。对p0端口写“ 1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,p0口也被作为低8位地址/数据复用。在这种模式下,p0具有内部上拉电阻。 在flash编程时, p0 口也用来接收指令字节;
16、在程序校验时,输出指令字节。程序校验时,需要外部上拉电 阻。p1 口: p1 口是一个具有内部上拉电阻的8位双向i/o 口,pl输出缓冲器能驱动 4个ttl逻辑电平。对p1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(ttl)。此外,p1.0和p1.2分别作定时器/计数器2的外部计数和定时器/计数器2的触发输入。p2 口: p2 口是一个具有内部上拉电阻的8位双向i/o 口,p2输出缓冲器能驱动 4个ttl逻辑电平。对p2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的
17、引脚由于内部电阻的原因,将输出电流(ttl)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行movxa,dptr时,p2 口送出高八位地址。p3 口: p3 口是一个具有内部上拉电阻的 8位双向i/o 口,p3输出缓冲器能驱动 4个 ttl逻辑电平。对 p3端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使 用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(ttl)。rst复位输入。当振荡器工作时,rst引脚出现两个机器周期以上高电平将使单片机复位。ale/prog当访问外部程序存储器或数据存储器时,ale (地址锁存允许)输出脉冲用于锁存地址的低
18、8位字节。一般情况下,ale仍以时钟振荡频率的1/6输出固定的脉冲信 号,因此它可对外输出时钟或用于定时目的。如有必要,可通过对特殊功能寄存器(sfr)区中的8eh单元的d0位置位,可禁止 ale操作。该位置位后,只有一条mov*口 movc旨令才能将ale激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ale禁止位无效。psen程序储存允许(psen输出是外部程序存储器的读选通信号,当at89c52由外部程序存储器取指令(或数据)时,每个机器周期两次psenw效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次psen言号。ea/vpp外部访问允许,欲使 cpu仅访问外
19、部程序存储器(地址为0000h-ffffh), ea端必须保持低电平(接地)。需注意的是:如果加密位lb1被编程,复位时内部会锁存 ea端状态。如ea端为高电平(接 vcc端),cpu则执行内部程序存储器的指令。flashy储器编程时,该引脚加上+12v的编程允许电源 vpp,当然这必须是该器件是使用12v编程电压vpp。ploevccp1,lt2 expoqadopijpo,1ad1pl3p02/ad2pl4p0j/ad3p1.5mosipm ad4p03ad5p1j/sckp0.6ad6rst叱aitp 工 o/rxdeappps.btxd ale/progp3.2/int0psenp3.
20、3/int1p2.7/a15p3.4 厅 0p26 ahp3.5ti_p2.5/a1jp3,加承p2.4/aup3j/rdp23/a11xtal2p2.2.a10xtal1gndp2.0/as80c51引脚分布图3.4温度采集模块跟以往的采用a/d转换器进行温度测量不同的是,本系统采用的是一线协议器件ds18b20进行温度测量,测量的方法不同,温度采集不同。(1)测温原理测温原理如下图1所示。预置低温度系数振荡器计数器斜坡累加器比较预置停止计数器=0高温度系数振荡器温度存储器lsb置位清令图1测温原理(2) ds1820工作过程及时序初始化:初始化rom操作命令存储器操作命令处理数据单总线上的
21、所有处理均从初始化开始。总线主机检测到 ds18b20的存在便可以发出 rom操作命令之一这些命令如下:rom操作品令指令名称代码功能读rom33h在口线上接一个器件时读其 rom码匹配rom55h找出某个指定rom码的器件跳过romcch对口线上所有器件的操作搜索romf0h口线上有多个器件时,找出每个器件rom码告磐搜索ech找出各器件是否超限存储器操作命令指令名称代码功能写暂存存储器4eh主机向存储器中 th、tl和配置寄存器写数据读暂存存储器beh主机连续读08存储器中内容复制暂存存储器48h复制th、tl和配置寄存器内容到 eeprom中温度变换44h启动温度转换重新调出b8h从ee
22、prom中调出th、tl和配置寄存器数据到存储器中读电源b4h器件向主机发送它的供电方式时序主机使用时间隙来读写ds1820的数据位和写命令字的位。初始化初始化时序见图2主机总线to时刻发送一复位脉冲(最短为480us的低电平信号)接着在 tl时刻释放总线并进入接收状态 ds1820在检测到总线的上升沿之后等待15-60us接着ds1820在t2时刻发出存在脉冲(低电平持续60-240 us)如图中虚线所示10itf48011s图2初始化时序图写时间隙当主机总线t o时刻从高拉至低电平时就产生写时间隙见图3图4从to时刻开始15us之内应将所需写的位送到总线上ds1820在t0后15-60us
23、间对总线采样若低电平写入的位是0见图3,若高电平写入的位是1,见图4,连续写2位间的间隙应大于1us。图3写。时序图4写1时序图5读时序读时间隙见图5主机总线t0时刻从高拉至低电平时总线只须保持低电平 l7us之后在 t1时刻将总线拉高产生读时间隙,读时间隙在t1时刻后t2时刻前有效t2距t0为 15us也就是说t2时刻前主机必须完成读位并在t0后的60us-120us内释放总线。 读位子程序(读得的位到c中)主机起作用ds18勰蚱用上拉电阻起作用温度采集电路ds18b20工作可采用两种供电方式,外接供电电源供电和寄生电源供电。当 ds18b20 处于写存储器操作和温度 a /d变换操作时,总
24、线上必须有强上拉。11(1)采用寄生电源供电采用寄生电源供电,如图+5v6所示。p2.0 口接单线总线,为保证在有效ds18b20时钟周期内提供-0|+5vds18b20ds18b20足够的电流,可用一个mosfet 管和 at89s52 的p2.0来完成对总线的上p2.0拉。采用寄生电源供电方4.7kgndvdd | gndv vdd图6寄生电源供电时vdd和cnd端均接地。由于单线制只有一根线,因此发送接收口必须是二态的o(2)采用外部电源供电的方式采用寄生电源供电,外部电源部连接到vdd ,引脚如图7所示。图7外部电源供电3.5显示模块本系统显示电路用来显示温度上下限的值和通过ds18b
25、20采集进来的实时温度值。1显示器简介数码管具有:低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易一于维护,同时其精度高,测量快,精确可靠,操作简单。数码显示是采用bcd编码显示数字,程序编译容易,资源占用较少。(1) 4段led数码led是近似于恒压的元器件,到导电时(发光)的正向压降一般约为1.6v 或 2.4v,反12向击穿电压一般5v。工作电流通常在10-20ma ,故电路中需要串联适当的限流电阻。 发 光强度基本上与正向电流成正比。 发光效率和颜色取决于制造的材料, 一般常用红色,偶尔 也用于黄色或绿色。(2)发光二级管显示驱动(点亮)的方法
26、静态驱动方法:即给欲点亮的led通过恒定的定流。这种驱动方法需要显示的位数增加时,所需的逻辑部件及连线也相应增加,成本也增加。动态驱动方法:是给欲点亮的led通过脉冲电流,此时led的脉冲电流倍数于其额定电流值。利用动态驱动方法可以减少需要的逻辑部件和连线。最常用的一种数码显示器是由7段条形的led组成,如图8所示。点亮适当的字段,就可以出不同的数字。此外不少于7段数码管显示器在右下角带有一个圆形的led作小数点用,这样一共有 8段,恰好适用于8位的并行系统。图8 (a)为共阴极接法,公共阴极接地。当各段阳极上的电平为“1”时,该段点亮;电平为“ 0”时,段就熄灭。图 8 (b)为共阳极接法+
27、5v电源。当各段阴极上的电平为“ 0” 时,该段就点亮;电平为“1”时,段就熄灭。图中的电阻是限流电阻。图8 (a)共阴极接法图8 (b)共阳极接法而本设计才用的是 4段条形的led组成。2驱动芯片简介respack-8 (排阻)是maxmi公司生产的一种串行接口方式7段共阴极led显示驱动器。其片内包含有一个 bcd码到b码的译码器、多路复用扫描电路、 字段和字位驱动器, 以及存储每个数字的 8x8ram。每位数字都可以被寻址和更新,允许对每一位数字选择b码译码或不译码。采用三线串行方式与单片机接口。电路十分简单,只需要一个10k 左右的外接电阻来设置所有 led的段电流。respack-8
28、 (排阻)的引脚排列如下图所示。13排阻的功能是:起到上拉作用,上拉就是将不确定的信号通过一个电阻嵌位在高电平, 电阻同时其限流作用,下拉同理。上拉是对器件注入电流,下拉是输出电流,强弱只是上拉电阻的阻值不同。第二是给单片机i/o 一个高电平所学要的电流,起驱动能力。排阻引脚图谓.r风,排阻respack-附 80c51单片机接口 第四章软件部分设计4.1.1ds18b20温度采集流程如图4.1所示,ds18b2眦复位,然后跳过 rome配,启动温度转换,准备读温度前再 次复位ds18b20然后再跳过 rome配,读取温度值,返回。图4.1 ds18b20温度采集流程图144.2 主程序及各模
29、块程序4.2.1 报警装置程序设计(蜂鸣器及灯)当温度值设置在温度上下限范围内(2035摄氏度之间)时。报警模块(即蜂鸣器及报警灯)处于断开状态,即不发生报警;当温度高于所设定的温度上限值。报警模块蓝色指示灯亮同时蜂鸣器响、 且显示灯红灯 亮,表示花卉温室温度值过高(已超于设定值35摄氏度);当温度低于所设定的 温度下限值。报警模块蓝色指示灯亮同时蜂鸣器响、 且显示灯黄灯亮,表示花卉 温室温度值过低(已低于设定值 20摄氏度)。void beep()if(r=high)beep=!beep;led1=0;led2=1;else if(rlow)15beep=0;led1=1;led2=1;el
30、se if(rlow)beep=!beep;led1=1;led2=0;复位函数4.2.2 复位子程序:ow_reset(void)ds18b20char presence=1;while(presence)while(presence)16dq=1;_nop_();_nop_();从高拉倒低dq=0;delay(50); /550 usdq=1;delay(6); 66 uspresence=dq; /presence=0 复位成功,继续下一步delay(45); 延时 500 uspresence=dq;dq=1; /拉高电平4.3 系统仿真本系统采用proteus仿真软件进行仿真。4.3
31、.1 仿真软件简介protues软件是英国 labcenter electronics 公司出版的 eda工具软件。它不仅具有 其它eda工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真17单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事 单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。proteus是世界上著名的eda工具(仿真软件),从原理图布图、 代码调试到单片机与外围电路协同仿真, 一键切换到 pcb设计,真正实现了从概念到产品的完整设计。仿真软件功能特点:作为一款eda仿真软件,proteus与同类软件有着很多的相似之处。 相比之下
32、,其主要的特点有两个:(1)实时动态仿真:对动态元件的实时仿真,它对“人机对话”的模拟增强了系统的真实性;与多数仿真软件相似,proteus有着数量庞大的元件库。labcenter公司与相关的第三方软件阵容共同开发 了 6000多个模拟和数字电路中常用的spice模型以及各种动态元件,基本元件如电阻、电容、各种二极管、三极管、 mos管、555定时器等;74系列ttl元件和4000系列cmos 元件;存储芯片包括各种常用的rom,ram , eeprom,还有常见i2c器件等。在丰富的库元件的支持下,原理布图时只要进行相应的调用和连线,通过对每个元件的属性设置完成绘图,然后即可进行仿真和虚拟测
33、量。(2)虚拟工具箱的功能:虚拟工具箱,它能与仿真同时进行,测量方便而准确。proteus的虚拟工具箱提供了电路测试中的常用工具和仪器,主要用于在实时仿真同时的电路参数观测,测量结果随仿真动态变化并显示,可以满足精度要求不是很高的测量分析,对于电路特性的定性分析可以起到事半功倍的效果,大大节约了测试时间和开发成本。4.3.2 仿真过程(1)绘制原理图绘制原理图要在原理图编辑窗口中的蓝色方框内完成。原理图编辑窗口的操作是不同于常用的windows应用程序的,正确的操作是:用左键放置元件;右键选择元件;双击右键删 除元件;右键拖选多个元件;先右键后左键编辑元件属性;先右键后左键拖动元件;连线用左键
34、,删除用右键;改连接再左键拖动;中键放缩原理图。(2)加载仿真文件在protues软件中画好原理图后,然后双击主芯片at89s52就会弹出如图4.1所示的对话框。然后再选才i上面生成的 *.hex文件。最后进行运行。18图4.1程序加载的界面4.3.3 仿真结果状态一:当前温度在设置的温度上下限范围内(2035摄氏度之间)。报警模块(即蜂鸣器及报警灯)处于断开状态的电路图如图4.2所示。图4.2本系统状态一电路图19状态二:当前温度高于所设定的温度上限值。报警模块蓝色指示灯亮同时蜂鸣器响、且高于设定温度值时显示灯红灯亮,表示花卉温室温度值过高(已超于设定伯:35摄氏度),电路图如图4.3所示。
35、 123 4矽,量33, dudun-bn-namjthll 1l1. 13噩累需一鼠 口口 口口口 口口口 f r j z j z j z图4.3本系统状态二电路图状态三:当前温度低于所设定的温度下限值。报警模块蓝色指示灯亮同时蜂鸣器响、且低于设定温度值时显示灯黄灯亮,表示花卉温室温度值过低(已低于设定值 20摄氏度),电路图如图4.4所示。tc1fzfaid fzja11hz -. hi.p3dnpl:d ra.inxt fjjsnnti f33ffltt p3*rrnf3 wjp p3u/itf图4.4本系统状态三电路图204.4主程序#include #include /_nop_()
36、;延时函数用#define dm p0 / 段码输出 口#define uchar unsigned char#define uint unsigned intsbit dq=p2a7; sbit w0=p2a0;/ sbit w1=p2a1;/ sbit w2=p2a2;/ sbit w3=p2a3;/ sbit beep=p1a7; / sbit set=p2a6; / sbit add=p2a4; / sbit dec=p2a5; / sbit led1=p1a0;sbit led2=p1a3;温度输入口数码管4数码管3数码管2数码管1蜂鸣器和指示灯温度设置切换键温度加温度减int te
37、mp1=0;/显示当前温度和设置温度的标志位为0时显示当前温度uint h;uint temp;uchar r;uchar high=35,low=20;uchar sign;uchar q=0;uchar tt=0;uchar scale;uchar code ditab16=0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09;/小数断码表uchar code table_dm12=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x
38、00,0x40;共阴 led 段码表0 1 2 3 4 5 67 8 9不亮-uchar table_dm1口=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef; /个位带小数点的断码表uchar data temp_data2=0x00,0x00; /读出温度暂放uchar data display5=0x00,0x00,0x00,0x00,0x00;/显示单元数据,共 4 个数据和一个运算暂用void delay(uint t) for (;t0;t-);21void scan()int j;for(j=0;j0;i-)dq=1;_nop_
39、();_nop_();/ 从高拉倒低dq=0;_nop_();_nop_();_nop_();_nop_(); 5 usdq=val&0x01; / 最低位移出delay(6); /66 usval=val/2; 右移 1 位22dq=1;delay;uchar read_byte(void) 从总线上取 1个字节 uchar i;uchar value=0;for(i=8;i0;i-)dq=1;_nop_();_nop_();value=1;dq=0;_nop_();_nop_();_nop_();_nop_(); 4 us dq=1;_nop_();_nop_();_nop_();_nop
40、_(); 4 us if(dq)value|=0x80;delay(6); /66 usdq=1;return(value);read_temp()/ 读出温度函数ow_reset(); 总线复位delay(200);write_byte(0xcc); / write_byte(0x44); / ow_reset();delay;write_byte(0xcc); / write_byte(0xbe);发命令发转换命令发命令temp_data0=read_byte(); temp_data1=read_byte(); temp=temp_data1;temp6348) 温度值正负判断tem=6
41、5536-tem;n=1;/负温度求补码,标志位置123display4=tem&0x0f; /取小数部分的值display0=ditabdisplay4; 存入小数部分显示值display4=tem4; 取中间八位,即整数部分的值取百位数据暂存取后两位数据暂存取十位数据暂存个位数据display3=display4/100; display1=display4%100; / display2=display1/10; display1=display1%10; /r=display1+display2*10+display3*100;/符号位显示判断/if(!display3) display3=0x0a; 最高位为0时不显示if(!display2) display2=0x0a; 次高位为0时不显示 if(n) display3=0x0b;/负温度时最高位显示-void beep()if(r=high)beep=!beep;led1=0;led2=1;else if(rlow) beep=0;led1=1;led2=1;else if(r128) horl=2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教部编版八年级语文上册《“飞天”凌空-跳水姑娘吕伟夺魁记 》示范公开教学课件
- 一年级生命安全教育教案(湖北版)
- 六年级下册-生命生态安全-教案汇编
- 会议中心装修项目协议
- 2024年正式的服务合同
- 2024年青海道路客运运输从业资格证模拟考试题
- 2024年泉州客运驾驶员考试题库
- 2024年天津客运从业资格证都考些什么
- 2024年个人房屋自愿装修合同
- 2024年山南申请客运从业资格证版试题
- 解一元一次方程-合并同类项
- 炊事知识讲座
- 企业运用贸易知识培训课件
- 智能制造系统的优化与控制
- 中国银联行业报告
- 《linux操作系统应用》课程标准
- 唐卡行业现状分析
- 2024食品安全法ppt培训课件全新
- 《中国古代神话》教学课件
- 交通事故车辆安全技术鉴定性质与方法
- 《创业投资财富》课件
评论
0/150
提交评论