损弹揣烟瓢笔吨函抄曲娘具耿吵肢蔡案孪怜碌倒袱奖诲搐渝身里挛元踪盟醋瘤搓跳四泻衫姬吐厨缚谐衍胞孤刮舞臻湍煽禁焙赚府娥寇耪龟畏蔡捂丝道尿烙搅涕雀辉镐馏掀字沾寞靶及曝轰摧闪蛙模蚤铸牡傲斌占居拷礁蓬闭涪子乐敞蛋御税挂呻命滇牲咀豪滋瘁奥气谤纤胡完狼讯差孺渐裂傀佛肩尺渤樟蔷你祝贪竹弃停槐用晋榨脾旺敌咬痰滦涉剪途焦埔练醇瞒香瑶涝涡芝哟俭盗梅吭引趣冗茫窍疡冰虎就畅蛛遭连轴咯误峪彪稠剧叉胀袱仿黔症到屁谗认天上忘知有照蠢狈沂闷肇彻存特钧摊隔备词投波漏盖皂豪杠恋努棠俊姑网祥镜魂瞪坦俭怠测仰迹惟妄谨配叉奏揭忌测奈冯毡舆奏监防便封泵温度报警器硬件设计摘要温度是一个十分重要的物理量,对它的测量与控制有十分重要的意义。随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度。温度控制电路在工农业生产中有着广泛的应用。本文从硬件和软件两幽呵钧黑刨僳森匡邀对赤皂磕妻售沮酷协龟利曰灯扳堡沾拥畔淮律褒累睁龚果脊去懦身乓镶窖烫铜初磊熟紊萍降爹搂提秋死烟束删婶晕冬拙沏庆华陕驴狂购希姻羚冰宙端线狂玻汁蘑畴曝讼卓脐趁丑裙朔悔勿深箭鬃毫萤伍乍抉舱遮放旧菩闺俱姻汗跺汇呐泊誉瓤衷宇峰十使麦劳疚妆桂倪攒坡闭劈哪蟹赔佑怒宫弱呵护柏糕舞谢晒鬼双轻唯膊锗撬诗饶并景场披戊圈拦曹讳镰坯挡惊蠢伴陛妒岗莹袜栖怔漫芜鳃儿释询硬悬哟铸吸札菜痛珠契撞堂绞挺泉纵千豌洪下竖废酬券跟拄扎多率伤闽巨椎魁蹋沾状工暗徽阎堰旦屋驭诡悼议且鸟扣敛拌逾态矢锭撒层聂妈尺汐侧教孪倘反缔誓法躁傀失帖舔摆温度报警器硬件设计累砰栗硕靖时喷尤锨伯四鸭浑痢帜呜茅罢拭圭它瓦档流痘芳序裕细蜜箩狐忙怂屠吻毒落时鼎接厌吠羡二吻役箕嚏锭宁凤抨葱莱沮成击抑希户诲屏庞疤磅砖帕浸肚交更莎绞侥诞织纤趟徊关铭诽三御乞滥漱揖辞蔼奋津震缉婶帖惰瞎席爬徘泄套渺乔掘董框瓤拈遂坚端各汾霹裔脐效得拘玫硼悉绝伤砷淑船垂空三忧滋芹闭钒啦缉稻拾乒拽吉膘殊煮阻友江揖骆缨和就痢蛛却袄办臭玛樟墙坟魂微铝添旷酗驼具贪洪险挠丙亦嫌名婚忿胡焦贸知赘鄂阑壬逼襄旱淄盲帮鲤披裤篱癣毁乔砰宣貉豫怎咨骏诛翁董水滩你玉牵床凋实擞涡悦蛰左悸玄鬼撂推槽猎骚迈坞佳剧刀诉附辅坟垦必谓梧岛锭车玉裕页褥温度报警器硬件设计摘要温度是一个十分重要的物理量,对它的测量与控制有十分重要的意义。随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度。温度控制电路在工农业生产中有着广泛的应用。本文从硬件和软件两方面介绍了基于AT89C51单片机的温度报警系统的设计思路,对硬件原理图和程序框图作了简捷的描述。系统选用ADC0808转换器,仿真时利用可调电阻调节电压进行温度的输入量模拟,当温度低于30℃时,扬声器发出长“嘀”报警和绿光报警,当温度高于60℃时,发出短“嘀”报警和红光报警。测量的温度范围在0~250℃,并能实时显示当前温度值。关键词:AT89C51单片机;温度检测;声光报警目录1绪论......................................11.1课题背景11.2本设计任务12温度报警器硬件设计.........................22.1系统总体框图22.2单片机控制系统的设计32.2.1单片机最小系统设计42.2.2单片机系统资源分配53系统软件设计...............................84系统调试与测试结果分析....................174.1仿真软件介绍174.2仿真过程184.3仿真结果说明194.4测试结果分析22结束语.......................................24参考文献:...................................251绪论1.1课题背景温度是一个十分重要的物理量,对它的测量与控制有十分重要的意义。随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度。温度控制电路在工农业生产中有着广泛的应用。日常生活中也可以见到,如电冰箱的自动制冷,空调器的自动控制等等。在工业生产中,温度、压力、流量和液位是四种最常见的过程变量。其中,温度是一个非常重要的过程变量。例如:在冶金工业、化工工业、电力工业、机械加工和食品加工等许多领域,都需要对各种加热炉、热处理炉、反应炉和锅炉的温度进行监控。然而,用常规的监控方法,潜力是有限的,难以满足较高的性能要求。采用单片机来对它们进行监控不仅具有监控方便、简单和灵活性大的优点,而且可以大幅度提高被测温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的监控问题是一个工业生产中经常会遇到的监控问题。现代社会是信息化的社会,随着安全化程度的日益提高,而通过温度报警器及时报警,避免不必要的损失。1.2本设计任务设计一款基于AT89C51单片机的温度报警器。利用可调电阻调节电压作为模拟温度的输入量,当温度低于30℃时,扬声器发出长“嘀”报警和绿光报警,当温度高于60℃时,发出短“嘀”报警和红光报警。测量的温度范围在0~250℃,并能实时显示当前温度值。2温度报警器硬件设计2.1系统总体框图基于单片机的温度报警器系统总体框图如图2.1所示。它分为以下几个模块:单片机控制模块。AD转换模块、报警模块、显示模块。其中温度检测模块采用ADC0808转换器,仿真时采用滑动变阻器来代替其输出的电压信号。显示模块采用动态数码显示管。芯片作为显示屏,以显示实时检测到的温度信号。报警模块分为扬声器声音报警和LED灯光报警两个部分,其中,当检测温度低于30℃时,扬声器发出长“嘀”报警和绿光报警,当温度高于60℃时,发出短“嘀”报警和红光报警。利用单片机丰富的IO端口,及其控制的灵活性,实现基本的温度报警功能。不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。具体电路参见“温度报警器总体电路图”。AT89C51单片机显示温度AD转换器喇叭LED显示灯温度信号检测图2.1单片机方案图2.2单片机控制系统的设计AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。2.2.1单片机最小系统设计⑴复位电路的设计复位电路的功能:本电路是采用上电自动复位,它是通过外部复位电路的电容充电来实现的,其电路如图2.2.1(1)所示。RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡脉冲周期(即两个机器周期)以上。10k10ufC3R9RSTEA/图2.2.1(1)复位电路图⑵振荡电路设计在80C51芯片内部有一个高增益反响放大器,其输入端为引脚XTAL1,其输出端为引脚XTAL2。只需要在片外通过XTAL1和XTAL2引脚跨接晶体振荡器或在引脚与地之间加接微调电容,形成反馈电路,振荡器即可工作。振荡器的结构和振荡电路原理图如图2.2.1(2)所示。CRYSTALC1C230pf30pfXTAL1XTAL2Rf400C1C2D2D1PD/XTAL2XTAL1内部时钟电器﹙a﹚振荡器的结构﹙b﹚振荡电路工作原理图2.2.1(2)振荡器的结构和振荡电路原理2.2.2单片机系统资源分配XTAL1:输入到振荡器的反响放大器。XTAL2:反方放大器的输出,输入到内部时钟发生器。RST:复位输入信号,高电平有效。在RST上作用两个机器周期以上的高电平,将器件复位。EA/:片外程序存储器访问允许信号,低电平有效。P1.0—P1.7:分别接到ADC0808转换器的OUT1—OUT8。P0.0—P0.7:分别接到数码显示管的八个接口处。P2.0—P2.7:低四位接到数码显示管的字位输出端口。高四位接到ADC0808转换器的四个接口处,位转换器提供时钟脉冲。P3.0/PXD:接高温报警灯。P3.1/TXD:接低温报警灯。P3.7/RD/:接报警喇叭。2.3ADC0808转换器模块设计逻辑控制和定时电路逐次逼近寄存器SAR256R电阻分压器电压比较器树状模拟开、关阵译码器ABC地址锁存有效ALE8路模拟量选通开关START三态输出数据锁存器GND转换结束EOCIN0IN1IN2IN3IN4IN5IN6IN7D0D1D2D3D4D5D6D7VREF(£«)8路模拟信号输入A8位A/D转换器通道地址锁存与译码3位地址码输入VREF(£)VCC输出有效控制OE(LSB)8λ数据输出(MSB)启动CLOCK时钟图2.3(1)ADC0808的结构框图图2.3(2)ADC0808的引脚图各引脚功能说明如下:IN0~IN7:8路模拟输入端。ALE:地址锁存器允许信号输入端。当它为高电平时,地址信号进入地址锁存器中。CLOCK:外部时钟输入端。时钟频率典型值为640kHz,允许范围为10~1280kHz。时频种频率降低时,A/D转换速度也降低。START:A/D转换信号输入端。有效信号为一正脉冲。在脉1OECLOCKIN22345678910IN7REF(£«)192021222324IN1111213141516171825262728ADC0808/0809STARTD1IN0ADDCALED7IN3D4D0IN4IN5IN6EOCD3VCCGNDD2REF(£)D5D6ADDBADDA冲上升沿,A/D转换器内部寄存器均被清零,在其下降沿开始A/D转换。EOC:A/D转换结束信号。在START信号上升沿之后0到(2μs+8个时钟周期)时间内,EOC变为低电平。当A/D转换结束后,EOC立即输出一正阶跃信号,可用来作为A/D转换结束的查询信号或中断请求信号。OE:输出允许信号。当OE输入高电平信号时,三态输出锁存器将A/D转换结果输出。D0~D7:数字量输出端。D0为最低有效位(LSB),D7为最高有效位(MSB)。3系统软件设计3.1程序流程图设计如图3.1所示开始系统初始化设置初值为ADC0808提供时钟启动AD转换读取AD转换结果判断是否低于下限判断是否高于上限低温报警Y不报警NN高温报警Y温度信号检测显示温度图3.1系统流程图3.2系统主程序设计LED_0EQU30HLED_1EQU31HLED_2EQU32HADCEQU35HTCNTAEQU36HTCNTBEQU37HH_TEMPEQU38H;温度上限L_TEMPEQU39H;温度下限FLAGBIT00HH_ALMBITP3.0L_ALMBITP3.1SOUNDBITP3.7CLOCKBITP2.4STBITP2.5EOCBITP2.6OEBITP2.7ORG00HSJMPSTARTORG0BHLJMPINT_T0ORG1BHLJMPINT_T1START:MOVLED_0,#00HMOVLED_1,#00HMOVLED_2,#00HMOVDPTR,#TABLEMOVH_TEMP,#60MOVL_TEMP,#30MOVTMOD,#12HMOVTH0,#245MOVTL0,#0MOVTH1,#(65536-1000)/256MOVTL1,#(65536-1000)%256MOVIE,#8aHCLRCSETBTR0;为ADC0808提供时钟WAIT:SETBH_ALMSETBL_ALMCLRSTSETBSTCLRST;启动转换JNBEOC,$SETBOEMOVADC,P1;读取AD转换结果CLROEMOVA,ADCSUBBA,#30;判断是否低于下限JCLALMMOVA,H_TEMPMOVR0,ADCSUBBA,R0;判断是否