网站大量收购独家精品文档,联系QQ:2885784924

发烧报警器解决方案.docx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设计题目:发烧报警器院系:电气工程系专业:电子测控年级:姓名:指导教师:年月日课程设计任务书专业姓名学号开题日期:年月日完成日期:年月日题目发烧报警器一、设计的目的为了让人们发烧时能够立即发现,于是设计了一个发烧报警器,以方便人们及时就医,避免不应该的病痛。该报警器就是基于AT89C51单片机设计一个温度检测,报警的系统,该系统能实时采集周围的温度信息进行显示,程序内部设定有报警上下限,越出则报警。很好的实现了发烧则报警的特点,充分满足了人们的日常生活的需要,大大解决了人们的需求。二、设计的内容及要求本文主要是用51单片机来实现温度的控制,实现到达发烧温度时自动报警,提醒人们发烧了,应该及时就医。该报告中给出了系统中各个模块的原理图,并简单描述了个模块的功能;给出了软件实现的流程图,并给出了运行程序和各模块所实现的功能。三、指导教师评语四、成绩指导教师 (签章) 年月日一发烧报警器系统组成框图本系统由主控模块、温度检测模块、喇叭报警模块、灯光报警模块和设定报警温度5各模块组成,组成框图如图所示。二硬件设计2.1主控器模块AT89C51是一种带4K字节闪烁可编程可擦除只读存储器,是低电压,高性能CMOS8位微处理器,俗称单片机。本系统控制器芯片采用AT89C51单片机,其单片机电路连接图如图所示。2.2灯光报警模块由两个发黄色光的LED小灯组成如图所示:2.3 A/D转换模块(包括设定温度模块和检测温度模块)A/D转换电路图如图所示:ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。2.4喇叭报警模块如图所示:由一个喇叭报警装置组成:控制报警器的响声报警。2.5硬件元件清单系统元器件清单见表器件数量器件数量AT89C511LED2蜂鸣器1三极管90131排阻(10k)1电容(33p)2电阻(330)2滑动变阻器(1K)1晶振器1电阻(10k)1电容(10uF)1ADC080812.5系统总体电路原理图系统总体电路原理图如图所示3.软件设计与仿真本系统程序包括主程序、键盘扫描子程序、发送键码子程序、发送数据子程序、接收命令子程序等。主程序用于系统初始化,子程序调度等。键盘扫描子程序用于扫描键盘状态,将被按键的位置号存入缓冲器中。发送键码子程序用于将缓冲区键的接通码或断开码发送给单片机接口。发送数据子程序用于将数据发给单片机接口。接收命令子程序用于接收单片机接口发来的键盘命令。仿真利用Proteus和Keil C51软件Proteus是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势3.1主程序设计主程序流程图如图所示:低于不低于低于启动AD转换为ADC0808提供时钟读取AD转换结果判断是否低于上限判断是否低于下限报警不报警报警设置初值系统初始化3.2程序清单LED_0EQU 30HLED_1 EQU 31HLED_2 EQU 32HADCEQU35HTCNTAEQU36HTCNTBEQU37HH_TEMPEQU38H;温度上限L_TEMPEQU39H;温度下限FLAGBIT00HH_ALMBITP3.0L_ALMBITP3.1SOUNDBITP3.7CLOCKBITP2.4ST BIT P2.5EOC BIT P2.6OE BIT P2.7ORG 00HSJMPSTARTORG0BHLJMPINT_T0ORG1BHLJMPINT_T1START:MOVLED_0,#00HMOVLED_1,#00HMOVLED_2,#00HMOVDPTR,#TABLEMOVH_TEMP,#153MOVL_TEMP,#77MOVTMOD,#12HMOVTH0,#245MOVTL0,#0MOVTH1,#(65536-1000)/256MOVTL1,#(65536-1000)MOD 256MOVIE,#8aHCLRCSETBTR0;为ADC0808提供时钟WAIT:SETBH_ALMSETBL_ALMCLR STSETB STCLR ST;启动转换JNB EOC,$SETB OE MOV ADC,P1;读取AD转换结果CLR OEMOVA,ADCSUBBA,#77;判断是否低于下限JCLALMMOVA,H_TEMPMOVR0,ADCSUBBA,R0;判断是否高于上限JCHALMCLRTR1LJMPPRO

文档评论(0)

过各自的生活 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档