基于单片机的温度警报器_第1页
基于单片机的温度警报器_第2页
基于单片机的温度警报器_第3页
基于单片机的温度警报器_第4页
基于单片机的温度警报器_第5页
免费预览已结束,剩余39页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机课程设计题 目 温度报警器设计学生姓名专业班级学号院 (系) 电气工程学院指导教师 王继红完成时间 2014 年 11 月 14 日郑州科技学院单片机课程设计任务书一、设计题目 温度报警器设计二 、设计任务与要求利用蜂鸣器作为电声元件,当温度在10至 30 范围内不发声,超出此范围便发声,温度传感器输出电压由直流信号源模拟。三、主要参考文献1 皮大能 . 单片机课程设计指导书 M. 北京:北京理工大学出版社, 2010,10.2 何利民 . 单片机高级教程应用与技术 M. 北京:北京航空航天大学出版社, 2000,9.3 张毅刚 . 单片机原理及接口技术 M. 哈尔滨:哈尔滨工业大学出版

2、社, 1990,1.4 李秀华 . 单片机原理及实践 M. 东北:东北大学出版社, 2006,4.5 李广第 . 单片机基础 M. 北京:北京航空航天大学出版社, 2002,3.6 王承发 . 微型机接口技术 M. 北京 :高等教育出版社, 2005,12.四、设计时间2014 年 11 月 3 日 至 2014 年 11 月 14 日指导教师签名:年月日目录1 绪论 02 系统设计 12.1 设计任务与要求 12.1.1 设计任务 12.1.2 设计要求 12.2 方案的选择与论证 12.2.1 总体设计方案 12.2.2 显示部分 23 系统硬件设计 23.1 主控器模块 33.2 数码管

3、显示模块 53.3 A/D 转换模块 73.4 硬件元件清单 84 软件设计与仿真 94.1 主程序设计 94.2 仿真软件简介 104.3 仿真结果 124.3.1 正常情况 124.3.2 低于温度下限 124.3.3 高于温度上限 134.4 系统调试 144.5 误差分析 14总结 15参考文献 16附录 1 :实物图 18附录 2 :元件清单 19附录 3 :程序清单 201 绪论目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没 有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的 网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使 用的各种智能 IC

4、 卡,民用豪华轿车的安全保障系统,录象机、摄象机、 全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单 片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此, 单片机的学习、开发与应用必须重视。温度是一个十分重要的物理量,对它的测量与控制有十分重要的意 义。随着现代工农业技术的发展及人们对生活环境要求的提高,人们也 迫切需要检测与控制温度。在控制领域中,对温度的控制有着举足轻重 的作用。例如陶瓷的烧烤,只有控制住温度的适度,才能制作出一件完 美的艺术品,否则只是一件废品;还有如酿酒的过程,也需要对温度进 行控制。可见,在生活的许多方方面面都有着对温度进行感知和控制的 需要

5、。本次设计的目的就是基于 AT89C51 单片机设计一个温度检测 ,报警 的系统,该系统能实时采集周围的温度信息进行显示,程序内部设定有 报警上下限,根据应用环境不同可设定不同的报警上下限。该系统实现了对温度的自动监测,为设备的正常运行提供了条件,在工业中具有一 定的实用价值和广泛的应用前景。2 系统设计2.1 设计任务与要求2.1.1 设计任务基于 AT89C51 单片机设计温度检测报警,可以实时采集周围的温 度信息进行显示,并且可以根据应用环境不同设定不同的报警上下限。2.1.2 设计要求(1)实时温度检测并显示其对应的值。( 2 ) 具有温度报警功能。( 3 )可以设报警置温度上下限。2

6、.2 方案的选择与论证2.2.1 总体设计方案方案一:基于 STC89C51 单片机通过读取温度传感器 DS18B20测量温度后存储的数据,之后送去数码管显示。当高于或低于一定温度 将分别利用红黄灯报警。此方案由于 DS18b20 测量温度范围为55 +125 ,在工业生产中此范围较小。而且由于编程时采用 I2C通信,因此读取数据是时序要求较高,程序编写复杂。本方案电路复杂, 灵活性不高,效率低,不利于系统的扩展,对信号处理比较困难。方案二: 采用 51 系列单片机作为整机的控制单元, 将 0-5V 模拟电 压信号通过 AD0808 模数转换成模拟温度值 0-255 ,然后通过数码管 显示其温

7、度值。此方案设计简单,编程容易,并且增宽了测量温度范围。本设计采用第二种方案。为了能够使系统具备检测温度的大小,利 用 51 系列单片机为主控制器,通过 AD0808 检测由电位器分压输出的 的电压值,从而输出模拟温度值 0255 送入单片机,并且由其送去 数码管显示,其中数码管通过 74HC573 驱动显示。2.2.2 显示部分采用了键盘 / 显示器接口控制器。 不仅简化接口引线, 而且减小了软 件对键盘/显示器的查询时间,提高了 CPU 的利用率。采用三位半的数 字电压表直接对输出电压采样并显示输出实际电压值,一旦系统工作异 常,出现预制值与输出值偏差过大,用户可以根据该信息予以处理。3

8、系统硬件设计本系统由主控模块、彩屏显示模块、温度检测模块、报警模块和设 定报警温度 5 个模块组成,系统硬件组成框图如图 1 所示。系统总体电路原理图如图 3-1 所示图 3-1 系统电路原理图3.1 主控器模块本系统控制器芯片采用 AT89C51 单片机,其管脚图如图 3 所示AT89C51 单片机AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器, 是低电压,高性能 CMOS8 位微处理器,俗称单片机。如图 3-1-2 单片机电路连接图图 3-1-2 单片机电路连接图AT89C51 管脚介绍:VCC :供电电压。 GND :接地。P0 口: P0 口为一个 8 位漏级开路双向

9、I/O 口,每脚可吸收 8TTL 门电流。P1 口: P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口 缓冲器能接收输出 4TTL 门电流。P2 口: P2 口为一个内部上拉电阻的 8 位双向 I/O 口, P2 口缓冲 器可接收,输出4个TTL 门电流,输出4个TTL 门电流,当P2口被写 “1”时,其管脚被内部上拉电阻拉高, 且作为输入。 并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。P3 口: P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出4个TT

10、L 门电流。 P3口也可作为 AT89C51 的一些特殊功能口。RST :复位输入。ALE/PROG :当访问外部存储器时, 地址锁存允许的输出电平用于 锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。/PSEN :外部程序存储器的选通信号。在由外部程序存储器取指期 间,每个机器周期两次 /PSEN 有效。 但在访问外部数据存储器时, 这两 次有效的 /PSEN 信号将不出现。XTAL1 :反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2 :来自反向振荡器的输出。3.2 数码管显示模块图 3-2-1 为液晶显示电路模块,图中为一个四位八段数码管,其接 法为共阴极接

11、法。图 3-2-1 数码管显示电路图图 3-2-2 转换电路图。图 3-2-3ADC0808 引脚图A/D 转换电路图、 ADC0808 引脚图分别如图 3-2-2,3-2-3 所示3.3 A/D 转换模块ADC0808 各引脚功能ADC0808 是采样分辨率为 8 位的、以逐次逼近原理进行模 / 数转换 的器件。其内部有一个 8 通道多路开关,它可以根据地址码锁存译码后 的信号,只选通 8 路模拟输入信号中的一个进行 A/D 转换。ADC0808 芯片有 28 条引脚,采用双列直插式封装,如右图所示。 各引脚功能如下:15 和26 28 (IN0 IN7 ):8 路模拟量输入端。8、14、1

12、5 和 17 21 :8位数字量输出端。22 (ALE ):地址锁存允许信号,输入,高电平有效。6 (START ):AD 转换启动脉冲输入端,输入一个正脉冲(至少 100ns 宽)使其启动(脉冲上升沿使 0809 复位,下降沿启动 A/D 转 换)。9(OE ):数据输出允许信号,输入,高电平有效。当 AD 转换结 束时,此端输入一个高电平,才能打开输出三态门,输出数字量。10 (CLK ):时钟脉冲输入端。要求时钟频率不高于 640KHZ12 (VREF (+)和 16(VREF(-):参考电压输入端11 (Vcc ):主电源输入端。13 (GND ):地。3.4 硬件元件清单系统元器件清

13、单见表 3-1 。表 3-1 系统元器件清单器件数量器件数量AT89C511LED2四段八位数码管1ADC08081蜂鸣器1三极管 90131排阻( 10k )1电容( 33p )2电阻( 330 )2滑动变阻器 (1K )1晶振器1电阻( 10k )1电容( 10uF )1开关14 软件设计与仿真本系统程序包括主程序、键盘扫描子程序、发送键码子程序、发送 数据子程序、接收命令子程序等。主程序用于系统初始化,子程序调度 等。键盘扫描子程序用于扫描键盘状态,将被按键的位置号存入缓冲器 中。发送键码子程序用于将缓冲区键的接通码或断开码发送给单片机接 口。发送数据子程序用于将数据发给单片机接口。接收

14、命令子程序用于 接收单片机接口发来的键盘命令。4.1 主程序设计主程序流程图如图 4-1 所示图 4-1 主程序流程图4.2 仿真软件简介Proteus 是英国 Labcenter 公司开发的电路分析与实物仿真软件。 它运行于 Windows 操作系统上, 可以仿真、分析 (SPICE) 各种模拟器件 和集成电路,该软件的特点是:( 1)实现了单片机仿真和 SPICE 电路仿真相结合。具有模拟电路 仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、 RS232 动态仿真、 I2C 调试器、 SPI 调试器、键盘和 LCD 系统仿真的功能;有 各种虚拟仪器,如示波器、逻辑分析仪、信号发生器

15、等。(2)支持主流单片机系统的仿真。目前支持的单片机类型有:ARM7(LPC21xx) 、 8051/52 系列、 AVR 系列、 PIC10/12/16/18 系列、 HC11 系列以及多种外围芯片。(3)提供软件调试功能。在硬件仿真系统中具有全速、单步、设置 断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此 在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编 译和调试环境,如 Keil C51 uVision2 、MPLAB 等软件。(4)具有强大的原理图绘制功能。总之,该软件是一款集单片机和 SPICE 分析于一身的仿真软件, 功 能极其强大。Proteus7.

16、5 是目前最好的模拟单片机外围器件的工具,可以仿真51 系列、 AVR 、PIC 等常用的 MCU 及其外围电路(如 LCD 、RAM、 ROM 、键盘、马达、LED 、AD/DA 、部分 SPI 器件、部分 IIC 器件等) 。软件编译采用 KEIL C51 软件, Keil C51 是美国 Keil Software 公 司出品的 51 系列兼容单片机 C 语言软件开发系统,与汇编相比, C 语 言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易 用。用过汇编语言后再使用 C 来开发,体会更加深刻。Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具, 全 Win

17、dows 界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到 Keil C51 生成的目标代码效率非常之高, 多数语句生成 的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。4.3 仿真结果4.3.1 正常情况数码管显示的数字在 77 153 范围内,且报警等都不亮, 蜂鸣器不 发出声音,结果如图 4-3 :图 4-3 正常情况时电路图4.3.2 低于温度下限数码管显示温数字低于 77 ,P3.1 为低电平,故在这路上的 LED 灯亮,蜂鸣器发出声音,结果如图 4-3-14)转换位数不高图 4-3-1 低于下限时电路图4.3.3 高于温度上限LED 灯数码管显示

18、数字高于 153 ,P3.0 为低电平,故在这路上的 亮,蜂鸣器发出声音,结果如图 4-3-2 。.图 4-3-2 高于上限时电路图4.4 系统调试在调试过程中主要是对程序的修改,特别是延时子程序。开始延时 较短时,三个数码管同时显示但不稳定的显示这些温度。如果延时较长 则温度数字不会同时显示出来。通过修改程序,将延时调到适中,系统 正常工作。4.5 误差分析产生误差的因素主要有一下几点:1)在参数选择的时候没有完全匹配;2)数字电压表只能读出 3 位有效数字;3)基准电压设定不适中;总结回顾起此次单片机课程设计,我仍感慨颇多,从理论到实践,在接 近一月的日子里,可以说得是苦多于甜,但是可以学

19、到很多的的东西, 不仅是学习上的,而且是关于做人做事方面的感悟。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有 理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从 理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力 和独立思考的能力。我在设计的过程中遇到了许多问题,同时也发现了 自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢 固,比如说不懂一些元器件的使用方法,对汇编语言掌握得不透彻。还有,这次的设计让我明白了求人不如求己, 虽然我们要讲究合作,但更重要的是自己,只有自己懂,自己做,才不会在关键时刻掉链子。 别人终究是一个陪衬,路总是要自己走

20、,属于自己的任务就要自己搞。 所以,我们必须要时刻强大自己,别人终究是别人。这个过程虽然不是 很平坦,肯定会遇到各种各样的问题,但一旦征服了它那它就是你的东 西了,当这样的厚积达到一定程度那你就能享受到薄发那刻的辉煌。参考文献1 皮 大 能 . 单 片 机 课 程 设 计 指 导 书 M. 北 京 : 北 京 理 工 大 学 出 版 社 , 2010,10:20-232 何利民 . 单片机高级教程应用与技术 M. 北京:北京航空航天大学出版社, 2000,9:54-553 张毅刚 . 单片机原理及接口技术 M. 哈尔滨:哈尔滨工业大学出版社, 1990,1:17-254 李秀华 . 单片机原理

21、及实践 M. 东北:东北大学出版社, 2006,4:89-915 李广第 . 单片机基础 M. 北京:北京航空航天大学出版社, 2002,3:65-656 王承发 . 微型机接口技术 M. 北京 :高等教育出版社, 2005,12:71-78附录 1 :实物图附录 2 :元件清单序号编号名称型号数量1R1电阻4.7K12R2电阻100K13R3电阻5K14RP1排阻5K15C1 、 C2电容33P26C3电容100u17S1按键开关18X1晶振12M19Q1三极管PNP110LS1蜂鸣器111U151 单片机AT89C52112U2温度传感器DS18B20113U3集成芯片74HC245114

22、U44位 7段数码管共阳1附录 3 :程序清单LED_0EQU30HLED_1EQU31HLED_2EQU32HADCEQUTCNTAEQU36HTCNTBEQU37HH_TEMPEQUL_TEMPEQU39HFLAGBIT00HH_ALMBITP3.0L_ALMBITP3.1SOUND BITP3.7CLOCK BITP2.4STBITP2.5EOCBITP2.6OEBITP2.7ORG00H35H38HSJMP;温度上限;温度下限ORG0BHLJMPINT_T0ORG1BHLJMPINT_T1STARTSTART: MOVMOVMOVMOVMOVMOVMOVMOVMOVMOVMOVMOVC

23、LRSETBWAIT: SETBSETBCLRSETBCLRJNBSETBMOVCLRMOVLED_0,#00HLED_1,#00HLED_2,#00HDPTR,#TABLEH_TEMP,#153L_TEMP,#77TMOD,#12HTH0,#245TL0,#0TH1,#(65536-1000)/256TL1,#(65536-1000)MOD 256IE,#8aHCTR0;为 ADC0808 提供时钟H_ALML_ALMSTSTST;启动转换EOC,$OEADC,P1;读取 AD 转换结果OEA,ADCSUBBA,#77;判断是否低于下限JCLALMMOVA,H_TEMPMOVR0,ADCSUBBA,R0;判断是否高于上限JCHALMCLRTR1LJMPPROCLALM:;低温报警CLRL_ALMSETBTR1CLRFLAGLJMPPROCHALM:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论