




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于 STC89C52单片机温度报警器摘要温度的检测与控制是工业生产过程中比较典型的应用之一, 随着 传感器在生产和生活中的更加广泛的应用, 利用新型单总线式数字温 度传感器实现对温度的测试与控制得到更快的开发, 本文设计了一种 基于 STC89C52的温度检测及报警系统。该系统将多个单总线温度传 感器 DS18B20并接在控制器的一个端口上 , 对各个传感器温度进行循 环采集,将采集到的温度值与设定值进行比较 , 当超出设定的上限温 度时, 通过蜂鸣器报警信号。该系统设计和布线简单,结构紧凑,体 积小,重量轻,抗干扰能力强,性价比高,扩展方便,在大型仓库, 工厂,智能化建筑等领域的多点温度检
2、测中有广阔的应用前景。关键词:数字温度传感器; DS18B20; STC89C5;2 蜂鸣器基于 STC89C52单片机温度报警器AbstractTemperature detection and control of industrial production process, one of the more typical applications, with sensors in production and life is more widely used, using a new single-bus digital temperature sensor to achieve the
3、 test and control the temperature more rapidly development, this paper is designed based on STC89C52te mperature detection and alarm systems. The system will be more than a single-bus temperature sensor DS18B20 and connected to a port on the controller, the temperature sensors on each loop collectio
4、n, the temperature will be collected to compare with the set value, when the temperature exceeds the upper limit set , Through the buzzer alarm. The system design and layout simple and compact structure, small size, light weight, anti-jamming capability, cost-effective to expand convenience, in larg
5、e warehouses, factories, construction and other areas of intelligent multi-point temperature measurement in a wide range of applications prospects.Key words: digital temperature sensor; DS18B20; STC89C52; alarm signal. 矚慫润厲钐瘗睞枥庑赖。基于 STC89C52单片机温度报警器毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果
6、。据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人 已经发表或撰写过的研究成果。对本论文(设计)的研究做出重要贡献的个人和集体, 均已在文中作了明确说明并表示谢意。 聞創沟燴鐺險爱氇谴净。作者签名: 日期:毕业论文(设计)授权使用说明本论文(设计)作者完全了解 *学院有关保留、 使用毕业论文 (设 计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设 计)的电子版和纸质版。有权将论文(设计)用于非赢利目的的少量 复制并允许论文(设计)进入学校图书馆被查阅。学校可以公布论文 (设计)的全部或部分内容。保密的论文(设计)在解密后适用本规 定。 残骛楼諍锩瀨濟溆塹籟。作者签
7、名:指导教师签名:日期: 日期:基于 STC89C52单片机温度报警器注意事项1. 设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要( 300 字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论) 、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2. 论文字数要求:理工类设计(论文)正文字数不少于1 万字(不包括图纸、程序清单等)文科类论文正文字数不少于 1.2 万字。 酽锕极額閉镇桧猪訣锥。3. 附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4. 文字、图表要求:1)文字通顺,语言
8、流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准 请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符 合国家技术标准规范。图表整洁,布局合理, 文字注释必须使用工程字书写,不准用徒 手画 彈贸摄尔霁毙攬砖卤庑。3)毕业论文须用 A4 单面打印,论文 50 页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5. 装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订3)其它基于 STC89C52单片机温度报警器目录一、绪论1.1 设计的意义及目标 4謀荞抟箧飆鐸怼类蒋薔。
9、1.2 单片机的概述 4厦礴恳蹒骈時盡继價骚。1.3 设计方案的论证 5茕桢广鳓鯡选块网羈泪。二、硬件的设计(一)、主要器件的选择2.1.1 主控制器的选择 6鹅娅尽損鹌惨歷茏鴛賴。2.1.2 DS18B20温度传感器 7籟丛妈羥为贍偾蛏练淨。2.1.3 蜂鸣器的报警原理 13預頌圣鉉儐歲龈讶骅籴。2.1.4 1602LCD 显示原理 14渗釤呛俨匀谔鱉调硯錦。(二)、电路的设计2.2.1 最小系统电路设计 18铙誅卧泻噦圣骋贶頂廡。2.2.2 温度传感器 DS18B20电路图设计 18擁締凤袜备訊顎轮烂蔷。2.2.3 显示电路设计 19贓熱俣阃歲匱阊邺镓騷。三、软件设计(一)、 主程序设计
10、20坛摶乡囂忏蒌鍥铃氈淚。(二)、部分程序设计基于 STC89C52单片机温度报警器3.2.1 获取温度子程序 22蜡變黲癟報伥铉锚鈰赘。3.2.2温度计算 BCD 码转换子程序 22買鲷鴯譖昙膚遙闫撷凄。3.2.3DS18B20初始化子程序 26綾镝鯛駕櫬鹕踪韦辚糴。3.2.4LCD1602 液晶显示程序 29驅踬髏彦浃绥譎饴憂锦。四、调试4.1 硬件调试 30猫虿驢绘燈鮒诛髅貺庑。4.2 软件调试 30锹籁饗迳琐筆襖鸥娅薔。五、总结 3構1氽頑黉碩饨荠龈话骛。六、致谢 3輒2峄陽檉簖疖網儂號泶。七、参考文献 3尧2侧閆繭絳闕绚勵蜆贅。八、附录 33识饒鎂錕缢灩筧嚌俨淒。绪论1.1 选题的意
11、义与内容 防潮、防霉、防腐、防爆是仓库日常工作的重要内容,是衡量 仓库管理质量的重要指标。 它直接影响到储备物资的使用寿命和工作 可靠性。为保证日常工作的顺利进行, 首要问题是加强仓库内温度与基于 STC89C52单片机温度报警器湿度的监测工作。但传统的方法是用与湿度表、毛发湿度表、双金属 式测量计和湿度试纸等测试器材, 通过人工进行检测, 对不符合温度 和湿度要求的库房进行通风、 去湿和降温等工作。 这种人工测试方法 费时费力、效率低,且测试的温度及湿度误差大,随机性大。因此, 研究温度的测量方法和装置具有重要意义, 温度测控技术也在各个领 域应用越来越广泛。采用单片机对温度进行控制 , 不
12、仅具有控制方便 和组态简单的优点 , 而且可以提高被控温度的技术指标。我们设计了 这种造价低廉、 使用方便且测量准确的温湿度测量仪 。 凍鈹鋨劳臘锴痫婦胫籴。 1.2 单片机的概述单片机自 1976年由 Intel 公司推出 MCS-48 开始,迄今已有三十 多年了。由于单片机集成度高、 功能强、可靠性高、 体积小、功耗低、 使用方便、 价格低廉等一系列优点, 目前已经渗入到人们工作和生活 的方方面面。单片机的应用领域已从面向工业控制、通讯、交通、智 能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、 PC 机 外围以及网络通讯等广大领域, 对各个行业的技术改造和产品更新换 代起着重要的推
13、动作用 。 恥諤銪灭萦欢煬鞏鹜錦。目前使用的 MCS-51 系列单片机及其兼容产品通常分成以下几 类:基本型、增强型、低功耗型、专用型、超 8 位型、片内闪烁存储 器型。其中 ATMEL 公司的标准型 AT89 单片机因其与 MCS-51 的完 全兼容性、优良的工作性能、使用的灵活性以及较高的性能价格比, 成为 AT89 系列单片机的主流机型,在嵌入式控制系统中获得广泛应 用。 鯊腎鑰诎褳鉀沩懼統庫。基于 STC89C52单片机温度报警器1.3 设计方案的论证方案一由于本设计实现的是测温电路, 首先我们可以使用热敏电阻之类 的器件,利用其感温效应, 将其随被测温度变化的电压或电流值采集 过来,
14、进行 A/D 转换后,就可以用单片机进行数据的处理,通过显 示电路就可以将被测温度显示出来,这种设计需要用到 A/D 转换电 路,感温电路比较麻烦。因此,我们引出第二种方案。 硕癘鄴颃诌攆檸攜驤蔹。方案 二我们可以采用技术成熟、操作简单、精确度高的温度传感器,在 此,可以选用数字温度传感器 DS18B20,根据它的特点和测温原理, 很容易就能直接读取被测温度值并进行转换, 这样就可以满足设计要 求。 阌擻輳嬪諫迁择楨秘騖。从以上两种方案,很容易看出,采用方案二,电路比较简单,软 件设计也比较简单,故在本设计中采用了方案二。通过方案二设计的温度计总体电路图如附录图 C 所示,控制器 采用单片机
15、STC89C52,温度传感器采用 DS18B20,用 4 位 LED 数 码管以串口并行输出方式传送数据实现温度显示。 氬嚕躑竄贸恳彈瀘颔澩。单片机复位蜂鸣器报警时钟震荡单片机主控制8LCD1602 显 示基于 STC89C52单片机温度报警器图 1.1 方案二的总体设计框图二、硬件的设计(一)、主要器件的选择2.1.1 主控制器的选择STC89C52是 低电压,高性能 CMOS8 位单片机,片内含 8k bytes 的可反复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数 据存储器( RAM),器件采用高密度、非易失性存储技术生产,与标准 MCS-51 指令系统及 80
16、52产品引脚兼容,片内置通用 8 位中央处理器 (CPU)和 Flash 存储单元, 功能强大 STC89C52 单片机适合于许多 较为复杂控制应用场合。 STC89C52单片机为 40 引脚双列直插芯片 , 有四个 I/O 口 P0、P1、P2、P3, 每一条 I/O 线都能独立地作输出或输 入。 STC89C52 PDIP管脚封装,如图 2.1.1 所示 。 釷鹆資贏車贖孙滅獅赘。基于 STC89C52单片机温度报警器图 2.1 STC89C52 PDIP 管脚封装STC89c52包含以下部分:(1)一个 8 位微处理器 CPU( 2)片内数据存储器 RAM和特殊功能寄存器 SFR( 3)
17、片内程序存储器 ROM(4)两个定时 / 计数器 T0、T1,可用作定时器,也可用以对外部脉 冲进行计数(5)四个 8 位可编程的并行 I/O 端口,每个端口既可作输入,也可 作输出(6)一个串行端口,用于数据的串行通信(7)中断控制系统(8)内部时钟电路2.1.2 DS18B20 温度传感器10基于 STC89C52单片机温度报警器(1) DS18B20 的主要特征: 全数字温度转换及输出 先进的单总线数据通信。 最高 12 位分辨率,精度可达土 0.5 摄氏度。 12 位分辨率时的最大工作周期为 750 毫秒。 可选择寄生工作方式。 检测温度范围为 55C +125C ( 67F +257
18、F) 内置 EEPRO,M限温报警功能。 64 位光刻 ROM,内置产品序列号,方便多机 挂接。图 2.2(2) DS18B20 内部结构 :图 2.3 DS18B20 内部结构框图11 多样封装形式,适应不同硬件系统。基于 STC89C52单片机温度报警器温度传感器 DS18B20的内部存储器还包括一个高速暂存 RAM和一 个非易失性的可电擦除的 EERA。M高速暂存 RAM的结构为 8 字节的存 储器,结构如图 2.4 所示 。 怂阐譜鯪迳導嘯畫長凉。图 2.4 高速暂存 RAM结构图其中,前 2个字节包含测得的温度信息, 第 3和第 4字节 TH和 TL的拷贝,是易失的,每次上电复位时被
19、刷新。第 5 个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。 DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。 谚辞調担鈧谄动禪泻類。暂存存储器的第 5个字节是配置寄存器, 可以通过相应的写命令 进行配置,其内容如下:0R1R0111111MSBLSB其中 R0和 R1 是温度值分辨率位,可按表 2.1 进行配置12基于 STC89C52单片机温度报警器表 2.1 温度值分辨率配置表R1R0分辨率最大转换时间(ms)93.75ms(t conv /8009位)183.50ms(t conv0110 位/4)1011 位375ms(t conv /2)1112 位7
20、50ms(t conv)当 DS18B20接收到温度转换命令后, 开始启动转换。 转换完成后 的温度值就以 16 位带符号扩展的二进制补码形式存储在高速暂存存 储器的第 1、2 字节。单片机可通过单线接口读到该数据,读取时低 位在前、高位在后,数据格式以 0.0625 /LSB 形式表示。温度值格 式如下: 嘰觐詿缧铴嗫偽純铪锩。低232221202-12-22-32-4高SSSSS262524MSBLSB这是 12位转化后得到的 12 位数据,存储在 DS18B20的两个 8比特的RAM中,二进制中的前面 5 位是符号位,如果测得的温度大于 0,这13基于 STC89C52单片机温度报警器5
21、 位为 0,只要将测到的数值乘于 0.0625 即可得到实际温度; 如果温 度小于 0,这 5位为 1,测到的数值需要取反加 1再乘于 0.0625 即可 得到实际温度。格式中, S 表示位。对应的温度计算:当符号位 S=0 时,表示测得的温度植为正值,直接将二进制位转换为十进制;当 S=1时,表示测得的温度植为负值,先将补码变换为原码,再计算十 进制值。例如 +125的数字输出为 07D0H, +25.0625 的数字输出为 0191H, -25.0625 的数字输出为 FF6FH, -55 的数字输出为 FC90H. 熒绐譏钲鏌觶鷹緇機库。表 2.2 部分温度的二进制数表示温度数字输出(二
22、进制)数字输出( 16 进制)+12500000111 1101000007D0H+8500000101 010100000550H+25.062500000001 100100010191H+10.12500000000 1010001000A2H+0.500000000 000010000008H000000000 000000000000H-0.5 11111111 11111000FFF8H-10.125 11111111 01011110FFE5H-25.0625 11111110 01101111FF6FH-5511111100 10010000FC90H14基于 STC89C52
23、单片机温度报警器(3) DS18B20 测温原理DS18B20的 测温原理如图 2.5 所示,图中低温度系数晶振的振 荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计 数器 1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的 信号作为减法计数器 2 的脉冲输入,图中还隐含着计数门, 当计数门 打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数, 进而完成温度测量 . 计数门的开启时间由高温度系数振荡器来决定, 每次测量前,首先将 -55 所对应的基数分别置入减法计数器 1 和温 度寄存器中,减法计数器 1 和温度寄存器被预置在 -55 所对应的一 个基数值。 鶼
24、渍螻偉阅劍鲰腎邏蘞。莶驅藥悯骛。图 2.5 DS18B20 测温原理图减法计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数, 当减法计数器 1的预置值减到 0 时温度寄存器的值将加 1,减法计数 器 1 的预置将重新被装入,减法计数器 1 重新开始对低温度系数晶 振产生的脉冲信号进行计数, 如此循环直到减法计数器 2计数到 0时,15基于 STC89C52单片机温度报警器停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。 颖刍莖蛺饽亿顿裊赔泷。(2-1)在正常测温情况下, DS18B20的测温分辨力为 0.5 ,可采用下述 方法获得高分辨率的温度测量结果: 首先用 DS18B2
25、0提供的读暂存器 指令(BEH)读出以 0.5 为分辨率的温度测量结果,然后切去测量结 果中的最低有效位 (LSB),得到所测实际温度的整数部分 Tz,然后再 用 BEH指令取计数器 1 的计数剩余值 Cs 和每度计数值 CD。实际温度 Ts可用式 (2-1) 计算: 濫驂膽閉驟羥闈詔寢賻。 Ts=(Tz-0.25 ) +(CD-Cs)/CD+5V2.1.3 蜂鸣器的报警原理 (1)三极管驱动的蜂鸣器报警电路STCP. 1.0 89S52图 2.6 三极管驱动的蜂鸣器报警电路压电式蜂鸣器约 10mA 的驱动电流, 可以使用 TTL 系列 集成电路 7406 或 7407 低电平驱动,这里我选用
26、了一个三极 管来做驱动。 銚銻縵哜鳗鸿锓謎諏涼。P1.0接三极管输入端。 当 P1.0 输出低电平时, 三极管导16基于 STC89C52单片机温度报警器通,压电式蜂鸣器两端获得的 +5V 电压而鸣叫: 当 P1.0 输出 高电平,三极管截止,蜂鸣器停止发音。 挤貼綬电麥结鈺贖哓类。2.1.4 LCD1602 显示原理( 1) LCD1602的控制原理:1602 液晶模块内部的控制器共有 11 条控制指令,如下表所示表 2.3 LCD1602 控制指令序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS
27、4显示开 / 关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到 CGRAM或DDRA)M10要写的数据内容11从 CGRAM或 DDRAM11读出的数据内容17基于 STC89C52单片机温度报警器读数LCD1602 液晶模块的读写操作,屏幕和光标的操作都是通过指令 编程来实现的。(说明 1为高电平, 0为低电平) 赔荊紳谘侖驟辽輩袜錈。指令 1:清显示,指令码 01H,光标复位到地址 00H位置指令 2:光标复位
28、,光标返回到地址 00H指令 3:光标和显示位置设置 I/D ,光标移动方向,高电平右移,低 电平左移, S:屏幕上所有文字是否左移或右移,高电平表示有效, 低电平表示无效。 塤礙籟馐决穩賽釙冊庫。指令 4:显示开关控制。 D:控制整体的显示开与关,高电平表示开 显示,低电平表示关显示。 C:控制光标的开与关, 高电平表示有光标, 低电平表示无光标 B :控制光标是否闪烁,高电平闪烁,低电平不闪 烁。 裊樣祕廬廂颤谚鍘羋蔺。指令 5:光标或显示移位 S/C :高电平时显示移动的文字,低电平 时移动光标。指令 6:功能设置命令 DL:高电平时为 4 位总线,低电平时为 8位 总线 N:低电平时为
29、单行显示,高电平时为双行显示, F:低电平时 显示 5X7的点阵字符,高电平时显示 5X10 的显示字符 。 仓嫗盤紲嘱珑詁鍬齊 驁。指令 7:字符发生器 RAM地址设置18基于 STC89C52单片机温度报警器指令 8: DDRAM地址设置。指令 9:读忙信号和光标地址 BF:忙标志位,高电平表示忙,此时 模块不能接收命令或数据,如果为低电平表示不忙 。 绽萬璉轆娛閬蛏鬮绾瀧。读写操作时序如图所示:图 2.7 LCD1602读时序图图 2.8LCD1602写操作时序19基于 STC89C52单片机温度报警器( 2) LCD1602的 RAM地址映射及标准字库表: 液晶显示模块是一个慢显示器件
30、, 所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在,哪里显示字符,图 2.9 是 1602 的内部显示地址 。 骁顾燁鶚巯瀆蕪領鲡赙。图 2.9 LCD1602 内部显示地址(二)、电路的设计2.2.1 最小系统电路设计 本系统使用儿的基于单片机的温度计的设计所以首先设计单片 机的最小系统,所谓最小系统是一个真正可用的单片机的最小配置系 统。由于本次设计所是用的 stc89c52 单片机片内不能集成始终电路所 需的晶体振荡器, 也没有复位电路, 在构成最小系统时必须外接这些 部件。电路设计如图 2.10 其中电
31、容为 30PF, 10UF ,晶振为20基于 STC89C52单片机温度报警器11.0592MHZ。瑣钋濺暧惲锟缟馭篩凉2.10单片机最小系统图2.2.2 温度传感器 DS18B20电路图设计主要由四部分组成: 64 位光刻 ROM、温度传感器、非挥发的温度 报警触发器 TH和 TL、配置寄存器。 DS18B20的管脚排列、各种封装 形式如图 3.4 所示。其中, DQ 为数据输入 / 输出引脚,也可用作开 漏单总线接口引脚, 当被用在寄生电源工作方式下, 可以向器件提供 电源; GND为地信号; VDD为可选择的电源引脚,当工作于寄生电源 时,此引脚必须接地。其电路图 2.11 所示 。 鎦
32、诗涇艳损楼紲鯗餳類。21基于 STC89C52单片机温度报警器图 2.11 温度传感器 DS18B20 电路图2.2.3 显示电路设计1602LCD 采用标准的 14 脚(无背光)或 16 脚(带背光)接口,各引脚接口说明如表:表 2.4 LCD1602 引脚说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/ 命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极22基于 STC89C52单片机温度报警器 第 1 脚: VSS为地电源。
33、第 2 脚: VDD接 5V正电源。第 3 脚:VL 为液晶显示器对比度调 整端,接正电源时对比度最弱,接 地时对比度最高,对比度过高时会 产生“鬼影”,使用时可以通过一 个 10K 的电位器调整对比度。 栉缏歐锄棗鈕种鵑瑶锬。第 4 脚: RS为寄存器选择, 高电平 时选择数据寄存器、低电平时选择 指令寄存器。第 5 脚: R/W为读写信号线,高电平时进行读操作,低电平时进行写 操作。当 RS和 R/W共同为低电平时可以写入指令或者显示地址,当 RS为低电平 R/W为高电平时可以读忙信号,当 RS为高电平 R/W为低 电平时可以写入数据。 辔烨棟剛殓攬瑤丽阄应。第 6 脚:E 端为使能端,当
34、 E端由高电平跳变成低电平时,液晶模块 执行命令。第 714 脚: D0D7为 8 位双向数据线。第 15 脚:背光源正极。 图 2.11 LCD1 602 连接电路 图第 16 脚:背光源负极。23基于 STC89C52单片机温度报警器三、软件设计(一)、 主程序设计24基于 STC89C52单片机温度报警器图 3.1 主体流程图设计25基于 STC89C52单片机温度报警器二)、部分程序设计3.2.1 获取温度子程序图 3.2 读出温度子程序流程图3.2.2温度计算 BCD 码转换子程序;=将从 DS18B20中读出的温度数据进行转换TEMPER_COV :MOV A,#0F0HANL A
35、, TEMPER_LSWAP AMOV TEMPER_NUM,AMOV A,TEMPER_LJNB ACC.3,TEMPER_COV126基于 STC89C52单片机温度报警器INC TEMPER_NUMTEMPER_COV1:MOV A, TEMPER_HANL A, #07HSWAP AORL A,TEMPER_NUMMOV TEMPER_NUM,AMOV A ,#0FHANL A ,TEMPER_LMOV TEMPER_D,ACLR CSUBB A ,#10JC JIANLOMOV TEMPER_D , AINC TEMPER_NUMJIANLO: LCALL BIN_BCDBCD码RE
36、T;= 将 16 进制的温度数据转换成压缩BIN_BCD: MOV DPTR ,#TEMP_TABMOV A ,TEMPER_NUMMOVC A ,A+DPTRMOV TEMPER_NUM,ARET27基于 STC89C52单片机温度报警器TEMP_TAB :DB 00H,01H,02H,03H,04H,05H,06H,07HDB 08H,09H,10H,11H,12H,13H,14H,15HDB 16H,17H,18H,19H,20H,21H,22H,23HDB 24H,25H,26H,27H,28H,29H,30H,31HDB 32H,33H,34H,35H,36H,37H,38H,39H
37、DB 40H,41H,42H,43H,44H,45H,46H,47HDB 48H,49H,50H,51H,52H,53H,54H,55HDB 56H,57H,58H,59H,60H,61H,62H,63HDB 64H,65H,66H,67H,68H,69H,70H,71HDB 72H,73H,74H,75H,76H,77H,78H,79HDB 80H,81H,82H,83H,84H,85H,86H,87HDB 88H,89H,90H,91H,92H,93H,94H,95HDB 96H,97H,98H,99H28基于 STC89C52单片机温度报警器图 3.4 计算温度子程序流程图29基于 ST
38、C89C52单片机温度报警器3.2.3DS18B20初始化子程序对于 DS18B20来说,它的初始化是很重要的, 没有初始化, 它根本就不能工作。下面是它的初始化子程序:INIT_1820:SETB DQNOPCLR DQMOV R0,#80HTSR1: DJNZ R0,TSR1SETB DQMOV R0,#25HTSR2: DJNZ R0,TSR2JNB DQ,TSR3LJMP TSR4TSR3:SETB FLAG1LJMP TSR5TSR4: CLR FLAG1LJMP TSR7TSR5:MOV R0,#06BHTSR6:DJNZ R0,TSR6TSR7:SETB DQRET30基于 ST
39、C89C52单片机温度报警器3.2.4LCD1602 液晶显示程序DISPLAY1:LCALL LCD_CSMOV R0,#11MOV 50H,#0MOV R1,#08HA1: MOV A, R1MOV P0,AACALL ENABLEMOV DPTR,#TABLE1MOV A ,50HMOVC A ,A +DPTR LCALL WRITE_EINC 50HINC R1DJNZ R0,A1RETDISPLAY2 ; LCALL LCD_CSMOV P0,#0C1HCALL ENABLELCALL WRITE1RETWRITE1:MOV R1,#431基于 STC89C52单片机温度报警器MOV
40、 R0,#37HMOV DPTR,#TABLE2B1: MOV A,R0MOVC A,A+DPTRCALL WRITE_EINC R0DJNZ RI,B1RETDISPLAY3:LCALL LCD_CSMOV R0,#16MOV 50H,#0MOV RI,#80HC1: MOV A,R1MOV P0,AACALL ENABLEMOV DPTR ,#TABLE3MOV A ,50HMOVC A,A+DPTRLCALL WRITE_EINC 50HINC R1DJNZ R0,C132基于 STC89C52单片机温度报警器RETENABLE :CLR RSCLR RWCLR E ACALL DELA
41、Y3 SETB ERETWRITE_E:CALL DELAY3 SETB RS CLR RWSETB EMOV P0,ACLR ERETLCD_CS : MOV P0,#01H ACALL ENABLE MOV P0,#38H ACALL ENABLE MOV P0,#0CH ACALL ENABLE MOV P0,#06H ACALL ENABLE33基于 STC89C52单片机温度报警器DELAY3:MOV R7 ,#20D1:MOV R6,#250D2:DJNZ R6,D2DJNZ R7,D1RETTABLE1:DB D,S,1,8,B,2,0,O,K峴扬斕滾澗辐滠兴渙藺。TABLE2:
42、DB 0,1,2,3,4,5,6,7,8,9,詩叁撻訥烬忧毀厉鋨骜。TABLE3:DBD,S,1,8,B,2,0,E,R,R,O,R 则鯤愜韋瘓賈晖园栋泷。END四、调试4.1 硬件调试(1)排除器件的损害主要有两种原因:一是在商店就是坏的, 被被我们买回来了,而是由于我们自己焊接不当,导致的器件烧坏: 尤其是电烙铁, 我们使用时尽量不要长时间将器件与电烙铁接触, 而 且要把电烙铁接地, 可以用替换法来检测可以元器件 。 胀鏝彈奥秘孫戶孪钇賻。(2)排除逻辑故障 这主要是靠我们的细心,要认真对照我们的设计电路图去焊 接,不要接错线接漏线,尤其是地线和 +5V 线不要接到一起 。 鳃躋峽祷紉 诵
43、帮废掃減。4.2 软件调试34基于 STC89C52单片机温度报警器本次设计电路原理图时还有一个错误,这一错误导致电路不 能正常工作,在看报警器的 PDF文档后,发现报警器供电电压为 12V, 所以我不假思索就把电源供电设为 5V。电路板制作完成后调试发现 报警温度不准确。后来才发现报警器是与 39R的电阻并连,当温度 上升到 30 摄氏度时电阻两端的电压为 3V而供电电压为 5V。故去掉 电阻才工作正常 。 稟虛嬪赈维哜妝扩踴粜。用 PROTUE仿S 真时我发现温度报警电路不起作用,当温度超过 30度或小于 10 度都不能报警。刚开始以为是程序的问题,经过检 查简化了报警程序,才发现是电路及
44、喇叭的电压不正确 。 陽簍埡鲑罷規呜 旧岿錟。软硬件联合调试 时数码管显示有效,但有两数码管 g段显示不了。 开始将 200R的电阻短接,数码管显示更亮。但仍不行,后用万用表检 测发现STC89C5管2 脚P06接数码管 g段处虚焊,不能导通。焊好后正常 显示。应该吸取教训,下次焊接要更小心,要是电路再复杂一点就不 易找出问题了 。 沩氣嘮戇苌鑿鑿槠谔應。五、总结和体会本设计利用 89S52 芯片控制温度传感器 DS18B2,0 再辅之以部分 外围电路实现对环境温度的测控,性能稳定,精度教高,而且扩展 性能很强大。 由于DS18B20的测量精度只有 0.5 度,往往很多场合 需要更加精确的温度
45、,在所测温度精度不变的基础上必须对数据进 行校正。由于DS18B20 是基于带隙结构的数字式温度传感器, PN 结35基于 STC89C52单片机温度报警器增量电压正比于 IC 绝对温度( PTAT),它的测温精度较高 , 但存在 着一定的误差 . 不过, 其误差在时间和外部环境变化的条件下 , 保持 相当高的稳定性。它充分利用监控计算机的处理能力,在监控计算 机上用线性插补的数学方法对其进行误差校正补偿,能轻易地将其 提高其精度 。 钡嵐縣緱虜荣产涛團蔺。在本次设计的过程中,我发现很多的问题,虽然以前还做过这 样的设计但这次设计真的让我长进了很多,单片机汇编语言课程设 计重点就在于软件算法的
46、设计,需要有很巧妙的程序算法,有好多 的东西,只有我们去试着做了,才能真正的掌握 。 懨俠劑鈍触乐鹇烬觶騮。六、致 谢 在此要感谢我们的指导贺新民老师和王玉之老师对我们悉心的 照顾,感谢老师给我们的帮助。在设计过程中,我通过查阅大量有关 资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了 不少知识,也经历了不少艰辛,但收获同样巨大。在整个设计中我懂 得了许多东西, 也培养了我独立工作的能力, 树立了对自己工作能力 的信心, 相信会对今后的学习工作生活有非常重要的影响。 而且大大 提高了动手的能力, 使我充分体会到了在创造过程中探索的艰难和成 功时的喜悦。 虽然这个设计做的也不太好,
47、但是在学习过程中所学到 的东西是这次培训的最大的收获和财富,使我终身受益。 謾饱兗争詣繚鮐癞 别瀘。七、参考文献36基于 STC89C52单片机温度报警器1 马家辰 .MCS-51 单片机原理及接口技术【 M】 . 哈尔滨:哈尔 滨工业大学出版社, 1998 呙铉們欤谦鸪饺竞荡赚。2 王武江 . 常用集成电路速成手册 【 M】. 北京:冶金工业出版 社, 20043 杨振江 . 新型集成电路使用指南和典型应用【 L】 . 西安:西 安电子科技大学出版社, 20004 童本敏 . 集成电路数据手册 TTL 集成电路【 L】 . 北京: 电子工业出版社, 19895 江太辉, 邓展威 .DS18B
48、20 数字式温度传感器的特性与应用 【G】 . 电子技术 2003 年第 12 期 莹谐龌蕲賞组靄绉嚴减。6 陈涛, 王仲东 . DS18B20 在粮情监控系统中的应用【 G】 . 昆 明: 昆明理工大学学报 ( 理工版) . 2003 年10月 第5期 第28卷麸肃鹏镟 轿騍镣缚縟糶。7 边春远、王志强 .MCS-51 单片机应用开发实用子程序 【 M】 . 北京:人民邮电出版社, 2005 納畴鳗吶鄖禎銣腻鰲锬。8 马忠梅 . 单片机的 C 语言应用程序设计 【M】 . 北京:北京航 空航天大学出版社, 20039 谭博学 . 集成电路原理及应用 【M】 . 北京:电子工业出版社, 200
49、310 National Semiconductor Data Book, 1992-199437基于 STC89C52单片机温度报警器11 刘建华 , 亢海伟 , 刘旭东 , 陈东阳 . DSP 与数字温度传感器DS18B20的接口设计 【G】 . 河北 : 河北省科学院学报 第21卷 第2 期 2004 年6月 風撵鲔貓铁频钙蓟纠庙。八、附录附录 1:设计成品图38基于 STC89C52单片机温度报警器附 2:设计全程序; 采用 LCD1602显示测温度,显示 精度 0.1 度,测温范围 -55 +125; 用 STC89C52单片机,12MHZ晶 振; DS18B20 温度计 ;=自定义
50、管脚内存TEMPER_L EQU 36HTEMPER_H EQU 35H= TEMPER_D EQU 61HTEMPER_NUM EQU 60HFLAG1 BIT 00HBAI_C EQU 37HSH_C EQU 38HDOT EQU 39HG_C EQU 3AHDQ BIT P3.7RS BIT P3.5RW BIT 01HE BIT P3.439基于 STC89C52单片机温度报警器BCD:JB FLAG1,S22ORG 0000HLJMP START1START1: MOV SP ,#70H MOV DOT ,#0AH LCALL LCD_CSSTART: LCALL INIT_1820
51、LCALL GET_TEMPERLCALL TEMPER_COV CLR FLAG1MOV A,TEMPER_NUMANL A,0F0HSWAP AMOV BAI_C ,AMOV A ,TEMPER_NUMANL A,0FHMOV SH_C,AMOV G_C,TEMPER_DLPLP: LCALL DISPLAY2LJMP START=获取温度子程序GET_TEMPER:SETB DQLCALL DISPLAY3MOV P0,#08HACALL ENABLELCALL YS125MSLCALL INIT_1820LJMP BCDS22:LCALL DISPLAY1MOV A,#0CCHLCALL WRITE_1820MOV A,#44HLCALL WRITE_1820NOPCBA:LCALL INIT_1820JB FLAG1,ABCLCALL DISPLAY3MOV P0,#0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 手工活动糖果制作与推广全流程
- 商铺房租改造方案(3篇)
- 别墅家政清洗维护方案(3篇)
- 声乐学生专业汇报
- 水上协会培训方案(3篇)
- 医院宿舍收费计划方案(3篇)
- 屋面构件施工方案(3篇)
- 数学活动:彩旗飘飘
- 卫生法规核心要点解读
- 元数据轻量化分析技术-洞察及研究
- 2025年静宁县城区学校选调教师考试笔试试卷【附答案】
- 2025年乒乓球二级裁判考试题及答案
- 2025年乐清辅警考试题库及答案
- 血标本采集考试试题附有答案
- 浙江省温州市龙湾区2024-2025学年七年级下学期学业水平期末检测数学试题
- 北京卷2025年高考语文真题
- 2025年工业和信息化部所属事业单位招聘28人笔试模拟试题及答案详解一套
- GB/T 45938-2025医疗保障信息平台便民服务相关技术规范
- 养老护理员培训课件模板
- 2024-2025学年北京市西城区统编版三年级下册期末考试语文试卷【含答案】
- DB31∕T 444-2022 排水管道电视和声呐检测评估技术规程
评论
0/150
提交评论