下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1、设计功能1.基本范围0C-100C2.精度误差小于1C3. LED数码直读显示4可以任意设定温度的上下限5.具有报警功能6可以保存每次设定的温度的上下限值,断电后不会消失,避免了在每次开机时都要 重新设定温度的上下限值,使用更方便。7.使用两个发光二极管来显示当前的状态2、方案论证2.1方案一因为本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测 温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。2.1方案二进而考虑到用温度传感器,在单片机电路设计中,大
2、多都是使用传感器,所以这是非 常容易想到的,所以可以采用一只温度传感器DS18B2Q此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单, 故采用了方案二。3、电路结构框图温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89S52,温度传感器采用DS18B2Q,用2位LED数码管传送数据实现温度显示。单片机复位4、电路原理图时钟振荡主控制器LED显示温度传感器图1体设计方框报警点按键调整图2数字温度计原理图5、工作原理系统整体硬件电路包括,传感器数据采集电路,温度显示电路,上下限报警调整电 路
3、,状态显示电路,报警电路,单片机主板电路等,如图2所示。5.1温度传感器部分温度传感器用DS18B20 DS18B20温度传感器是美国DALLAS半导体公司最新推出的一 种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度, 并且可根据实际要求通过简单的编程实现912位的数字值读数方式。本设计电路的DS18B20采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。在使用DS18B20时, 首先初始化温度传感器。 然后将已保存的温度的上下限值从EEPRA碉到RAM中。再读取温度。读取温度后,将温度的值发送到单片机中,并检查温度 是否在设置的范围内。
4、如果在,不发出报警信号。如果不在,就发出报警信号到单片机 中。随后,再读取温度,然后将温度的值发送到单片机中,并检查温度是否在设置的范围 内。最后,不断地循环此过程。5.2单片机部分单片机为此次电路的核心,它起到了控制整个电路的作用。第一,它能够控制温度传 感器还能够读取温度传感器的相关信息。第二,他能够控制数码管显示温度,两个发光二 极管显示状态,并在异常状态下发出报警。最后,单片机能够扫描按键,并处理按键信 息。单片机先将温度传感器初始化。然后发送重调EEPRAM命令。将已保存的温度的上下限值从EEPRAM到RAM中。这样就可以根据上次已经设定好的温度的上下限值进行报警,而 且设定好的温度
5、的上下限值关机后不会消失。各项准备做完后,发送温度转换命令,并读 取温度。读完温度后,就将十六进制的温度值转换成是十进制的温度值。最后将温度的值 从P0口传递给数码管显示出来。而且单片机还时刻判断接收到了报警信号没有。如果没 有,则判断为正常状态,绿色发光二极管亮。如果接收到了,则判断为异常状态。此时,红色发光二极管亮,并且发出报警信号。如果确认键按下后,程序就跳到温度的上下限值调整程序。当温度的上下限值调整完后,能将调整的数值保存到存储单元中。然后,单片 机向温度传感器发出指令,将数值发送到DS18B20的RAM中,再将数值从DS18B20的RAM中复制到DS18B20的EEPRO中。使调整
6、好的温度的上下限值关机后不消失。5.3显示部分本电路采用两位数码管静态显示。因为每个数码管都接了译码器7447,节省了接口资源。5.4状态显示部分电路中的两个发光二极管为状态显示电路。如果状态正常,则绿色发光二极管亮。如果状态异常,则红色发光二极管亮。扬声器为报警电路。但状态为异常时,发出报警。因为电路中接了集成运放LM386,可以报警声更洪亮。5.5按键扫描电路但确认键按下后,可以调整温度的上下限值。6、单片机资源分配引脚名称用途P1.0DS18B20温度传感器P0两位数码管显示温度P2.7LEDRED异常状态显示P2.6LEDGREEN正常状态显示P2.5报警装置当温度异常时发出报警P2.
7、2确认按键进入温度上下限调整,并确认P2.1减一按键温度调整时,减一P2.0加一按键温度调整时,加一7、程序设计框图按键扫描子 程序J1-加一按键扫描重调EEPRAM按键按下 没有循环 两次写温度的上下 限值到 循环两细 复制温度的上 _下限值到8 程丿序设计AM*。文件名:tempp nzd.asm功能:数字温度计。说明:此程序在Proteus软件上进行硬件仿真*TEMPEREQU35H。存放读出温度咼位数据TEMPER_LEQU36H。存放读出温度低位数据TEMPER_NUMEQU 37H。存放转换后的温度值H_TEMPEQU 30H。存放温度的上限值L_TEMPEQU31H。存放温度的下
8、限值LCDEQUP0。数码管入口地址FLAG1BIT20H.0。标志位地址DQBITP1.0。一线总线控制端口SOUBITP2.3。报警电路的入口地址LED_GREENBIT P2.4。绿色发光二极管的入口地址LED_RED BIT P2.5。红色发光二极管的入口地址S2BITP2.2。按键S2的入口地址,按键S2为确认键S3BITP2.0。按键S3的入口地址,按键S3为加1键S4BITP2.1。按键S4的入口地址,按键S4为减1键ORG0000HLJMPMAINORG0030HMAIN:MOV SP,#60H没按下转换读出的温度畔 确认键数据把那个保存按键没有按键扫描按键子程序调用显示子程序
9、按下-I-调用报警程序MOVLCD,#88H。数码管检查程序,发光二极管全亮LCALL DELAY1S。调用1S延时子程序MOVLCD,#0FFH。发光二极管全灭LCALL DELAY1SMOVLCD,#88HLCALL DELAY1SMOVLCD,#0FFHLCALL DELAY1S。-温度测量程序LCALL RECOVER。重调EEPRAMLJMPLOOPSTART:LCALL RE_CONFIG。写温度的上下限值LCALL COPYTEMP。复制温度的上下限值到暂存器LOOP:。LCALLGET_TEMPER。从DS18B20读出温度数据LCALL TEMPER_COV。转换读出的温度数
10、据并保存LCALL SHOW。调用显示子程序LCALL LARM。调用报警程子序JBS2,LOOP。进行按键扫描LCALL DELAY。调用按键去抖延时子程序JBS2,LOOPLCALL SS1。当确认键按下后,调用按键子程序SJMPLOOP。完成一次数字温度采集读出转换后的温度值GET_TEMPER:SETBDQ。 定时入口BCD:LCALLINIT_1820JBFLAG1,S22LJMPBCD。 若DS18B20不存在则返回S22:LCALLDELAY1MOVA,#0CCH。 跳过ROM匹配 -0CCLCALLWRITE_1820MOVA,#44H。 发出温度转换命令LCALLWRITE_
11、1820NOPLCALLDELAYLCALLDELAYCBA:LCALLINIT_1820JBFLAG1,ABCLJMPCBAABC:LCALLDELAY1MOVA,#0CCH。 跳过ROM匹配LCALLWRITE_1820MOV A,#0BEH。 发出读温度命令LCALLWRITE_1820LCALLREAD_18200。READ_1820RET读DS18B20的程序,从DS18B20中读出一个字节的数据READ_1820:R2,#8MOVRE1:CLRCSETBNOPNOPDQCLRNOPNOPNOPDQSETBDQMOVR3,#7DJNZR3,$MOVC,DQMOVR3,#23DJNZR
12、3,$RRCADJNZRETR2,RE1。-写DS18B20的程序WRITE_1820:MOVR2,#8CLRCWR1:CLRDQMOVR3,#6DJNZR3,$RRCAMOVDQ,CMOVR3,#23DJNZR3,$SETBNOPDQDJNZR2,WR1SETBDQRET。 读DS18B20的程序,从DS18B20中读出两个字节的温度数据READ_18200:MOV R4,#2。 将温度高位和低位从DS18B20中读出MOV R1,#36H。 低位存入36H(TEMPER_L,高位存入35H(TEMPER_HRE00: MOVR2,#8RE01: CLRCSETBNOPNOPDQCLRNOP
13、NOPNOPDQSETBDQMOVR3,#7DJNZR3,$MOVC,DQMOVR3,#23DJNZR3,$RRCADJNZR2,RE01MOVR1,ADECR1DJNZRETR4,RE00。-将从DS18B20中读出的温度数据进行转换TEMPER_COV:MOVA,#0F0HANLA,TEMPER_L。 舍去温度低位中小数点后的四位温度数值SWAP AMOVTEMPER_NUM,AMOVA,TEMPER_LJNBACC.3,TEMPER_COV1。 四舍五入去温度值INCTEMPER_NUMTEMPER_COV1MOVA,TEMPER_HANLA,#07HSWAP AADDA,TEMPER_
14、NUMMOVTEMPER_NUM,A。 保存变换后的温度数据LCALLRETBIN_BCD。-将16进制的温度数据转换成压缩BCD码BIN_BCD:MOVDPTR,#TEMP_TABMOVA,TEMPER_NUMMOVC A,A+DPTRMOVTEMPER_NUM,ARET显示温度SHOW:MOV A,TEMPER_NUMMOV LCD,ARET。-输出报警LARM:LCALL INIT_1820JNBFLAG1,LARMMOVA,#0ECH。告警搜索LCALL WRITE_1820LCALL READ_1820。读告警CJNEA,#0FEH,LARM1。判断是温度是否超过温度的上下限SETB
15、LED_GREEN。是,红灯亮,绿灯灭,发出报警CLRLED_RED。否,绿灯亮,红灯灭,不发出报警LJMP SOUNDLJMP SOUNDLJMP SOUNDLJMP SOUNDLJMP LARM2LARM1:CLR SOU。使P3.7脚为低电平,不发出报警CLR LED_GREENSETB LED_REDLARM2: RET。-DS18B20初始化程序INIT_1820:SETBNOPDQCLRDQMOVR0,#00TSR1:DJNZR0,TSR1。 延时SETB DQMOVR1,#30TSR2:DJNZR1,TSR2JNBDQ,TSR3LJMPTSR4。 延时TSR3:SETBFLAG1
16、。 置标志位,表示DS1820存在LJMP TSR5TSR4:CLRFLAG1。 清标志位,表示DS1820不存在LJMP TSR7TSR5:MOVR2,#78H。240USTSR6:DJNZR2,TSR6。 延时TSR7:SETBDQRET重新写DS18B20暂存存储器设定值RE_CONFIG:LCALL INIT_1820JNB FLAG1,RE_CONFIGMOV A,#0CCH。 发SKIP ROM命令LCALL WRITE_1820MOV A,#4EH。 发写暂存存储器命令LCALLWRITE_1820MOV A,H_TEMP。TH(报警上限中写入00HLCALLWRITE_1820
17、MOV A,L_TEMP。TL(报警下限中写入00HLCALLWRITE_1820MOV A,#7FH。 选择12位温度分辨率LCALLWRITE_1820RET。-复制温度的上下限的值到暂存器COPYTEMP:LCALL INIT_1820JNB FLAG1,COPYTEMPMOV A,#0CCH。发SKIP ROM命令LCALLWRITE_1820MOV A,#48H。复制暂存器LCALLWRITE_1820。-重调EEPRAM,将EEPRAM中的内容恢复到RAM中RECOVER:LCALL INIT_1820JNB FLAG1,RECOVERMOV A,#0CCHLCALL WRITE_
18、1820MOVA,#0B8H。重调EEPRAMLCALL WRITE_1820RET。-按键子程序,设置温度的上下限的值SS1:JNBS2,$。防止按键重复处理CLRRS1。使用工作寄存器1SETBRS0MOVR2,#2。按键扫描两次,保存温度的上下限的值MOVR1,#30H。温度上限值地址LOOP1:MOVR0,#00H。数码管显示00MOVA,R0MOVDPTR,#TEMP_TABMOVC A,A+DPTRMOVLCD,ASS2:JNBS3,SS3。按键加1子程序JNBS4,SS4。按键减1子程序JBS2,SS2。按下确认键,推出扫描,并将设定的温度的值存入地址中LCALL DELAYQD
19、JBS2,SS2JNBS2,$MOVA,R0MOVR1,AINCR1。R1加1,变为温度下限值地址DJNZR2,LOOP1CLRRS1。恢复工作寄存器0CLR RS0LJMPSTART。-按键加1子程序SS3:LCALL DELAYQDJBS3,SS2INCR0JNBS3,$MOV A,R0MOV DPTR,#TEMP_TABMOVC A,A+DPTRMOV LCD,ALJMP SS2。- -按键减1子程序SS4:LCALL DELAYQDJBS4,SS2DEC R0JNBS4,$MOV A,R0MOV DPTR,#TEMP_TABMOVC A,A+DPTRMOV LCD,ALJMP SS2T
20、EMP_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,39HDB 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,6
21、8H,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,99H。-延时子程序DELAY: MOV R7,#00HMIN: DJNZ R7,YS500RETYS500: LCALLYS500USLJMP MINYS500US:MOVR6,#00HDJNZ R6,$ RETDELAY1:MOV R7,#20HDJNZ R7,$ RET。-按键去抖延时子程序DELAYQD:MOV R7,#10DS
22、1:MOV R6,#248DJNZ R6,$DJNZ R7,DS1RET。-1S延时子程序DELAY1S:MOV R5,#20D1: MOV R6,#100D2: MOV R7,#248DJNZ R7,$DJNZ R6,D2DJNZ R5,D1 RET。发音子程序SOUND:MOV R2,#200DV:CPL SOULCALL DEL Y500LCALL DEL Y500DJNZR2,DVMOVR2,#200DV1:CPLSOULCALL DEL Y5DJNZR2,DV1RETDELY500:MOVR7,#250DELY:NOPDJNZ R7,DEL YRETEND9、仿真调试此程序在Prot
23、eus软件上仿真,成功。 在调试时,第一次,没有成功。一开始出现乱码,并不断地发出报警。然后,修改程 序,只实现最基本的功能。只显示85度。到二次调试,我用实验箱程序,只显示2度。我以为程序的时序错了,然后改了程序 的时序,在进行调试,出现了乱码。我认真的对比了以上几个实验现象。发现,只能显示85度,说明程序是对的,能进行初始化和读写。而且能显示温度和发出报警,按键能正常响应,说明显示模块,报警模 块,按键模块和单片机的硬件没有问题。又因为温度只显示85度,我查了相关的资料,认为是DS18B20坏了。在第三次调试时,我换了一块新的DS18B20,调试成功。首先,我先加载温度显示程序,调试成功。然后在添加报警程序,调试成功。再添加按键设置上下限程序,调试成 功。从而我可以认定是温度传感器坏了,程序没有问题。从这次课程设计中,我也学到了 很多知识。首先温度传感器很容易损坏,所以一定要接好电源线,数据线,地线。如果接 反了,就会损坏DS18B20。其次,当调试不成功时,应从最简单的功能入手,根据实验现 象找到问题所在。然后一步步的加载功能,逐步调试,就能调试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中数学教师数字化教学策略与课程设计实证研究教学研究课题报告
- 2025年儿科住院医疗服务合同协议
- 2025年电商平台流量合作协议
- 生成式AI在中学历史课堂中的时空认知与地图教学研究教学研究课题报告
- 基于生成式AI的探究式教学在小学数学课堂中的数学问题解决策略生成研究教学研究课题报告
- 2026年福建华南女子职业学院冬季人才招聘10人备考题库及答案详解1套
- 义乌市卫生健康系统面向2026届毕业生校园招聘176人备考题库完整参考答案详解
- 2025年重医附二院皮肤与医疗美容中心技师(编外)岗位招聘备考题库及一套答案详解
- 2026年西安高新区第十初级中学招聘教师备考题库及参考答案详解
- 北京中关村科技融资担保有限公司2026年校园招聘备考题库及参考答案详解一套
- 酒店情况诊断报告
- GB/T 45795-2025大气颗粒物PM10、PM2.5质量浓度观测光散射法
- 2025年夏季山东高中学业水平合格考地理试卷试题(含答案)
- 爆破备案工作报告
- 企业现金流管理课件
- 旧电梯拆除合同协议书
- 燃气行业工作危害分析(JHA+LEC)评价记录表
- 山东省济南市钢城区(五四学制)2024-2025学年八年级上学期1月期末考试数学试卷
- 【苏州工学院智能建造研究院】2025中国低空经济产业链全面解析报告
- 个人与团队管理-形考任务3(客观题10分)-国开-参考资料
- 车间现场管理岗位职责模版(2篇)
评论
0/150
提交评论