数字温度及设计

上传人:微*** 文档编号:72791623 上传时间:2022-04-09 格式:DOCX 页数:15 大小:372.34KB
收藏 版权申诉 举报 下载
数字温度及设计_第1页
第1页 / 共15页
数字温度及设计_第2页
第2页 / 共15页
数字温度及设计_第3页
第3页 / 共15页
资源描述:

《数字温度及设计》由会员分享,可在线阅读,更多相关《数字温度及设计(15页珍藏版)》请在装配图网上搜索。

1、2.1数字温度及设计方案在做数字温度计的单片机电路中,对信号采集是使用传感器DS18B20。此传 感器直接读取被测温度值,进行转换。采集之后通过使用 51系列单片机,可以 对数据进行相应的处理,再有 LED显示电路对其数据进行显示。2.2系统设计框图温度计电路设计总体设计方框图如图 2.1所示,控制器采用单片机AT89S51, 温度传感器采用DS1B20,用六位的LED数码管以串口传送数据实现温度显示。 此外,还添加了报警系统,对温度实时监控。单片机复位报警系统DS18B20温度隹感器JCTAL2RSTPD.IiTADI P0.2/AD2 P -3 P0.4/AD4 PO “AD5 PO 6/

2、AD 6 IP0-7/AD7PltWAfl P2.1lJAdP2 J/A1 0PXNF2 3/A11MEP2 4W2PS J/A1 3P2 Mt 4P27ZMSri nrr/Pl IJjPXDPlPI山2PSHNTOPI BJtEJCDP3.3JIMHP1 4/CEXiipi _5/cexzjiwsoP3./roP3S5IT1Pl aCEX3JSCKPM 6MRPl rS.rmV=gT三音浸3福3福A4ZJ:图2A 字温度计框图三.硬件设计3.1主控器AT89C51芯片各引脚功能:VCC:供电电源。GND:接地。P0P3:输入/输出口线,P3每位还有特殊功能。RST:复位输入。当振荡器复位器件

3、时,要保持RST两个周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允 许的输出电平用于锁存地址的低位字节。在flash 编程期间,此引脚用于输入编程脉冲。/PSEN:外部程序存储器的选通信号。/EA/VPP:当/EA保持低电平时,则在此期间访 问外部程序存储器。XTAL1 :反向振荡放大器的输入及内部时钟工作 电路的输入。XTAL2:来自反向振荡放大器的输出。3.1.1时钟电路80C51时钟有两种产生万式,及内部万式和外部万式。80C51中有一个构成内部振荡器的高增益反向放大器,引脚 XTAL1和XTAL2分别是该放大器的输入输出端。本次采用内部振荡电路,瓷片电容采用22PF

4、,晶振为12HZ9yi卜XT AL 1C222pF叱 TEKT图 3.1.1X1CPYSTAl ._心X.TAL2RST3.1.2复位电路单片机系统的复位电路采用的是上电 10K的电阻值,电容采用 10uF的电容值。+按钮复位电路形式,其中电阻采用3.2温度传感器DS18B20是DALLAS较新单线数字温度传感器,其体积更小,适合多重场 合。其温度测量范围是-55+125摄氏度,可编程9位12位转换精度,测温分辨 率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在 EEPROM中,掉电后依然保存。裹3DS18B20分辩率的定义规定RI分辩率他温度最大转摭时间/rm0993.7

5、50110187.510375112750DS18B20内部结构主要有四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器 TH、TL、配置寄存器。DS18B20的管脚功能:DQ:数据输入输出引脚。GND:接地信号。VDD:为可选择的VDD弓I脚。当工作再寄生电源时, 此引脚接地。DS18B20的初始化: 先将数据线置高电平“1”;延时(该时间要求的不是很严格但是尽可能短一点)数据线拉到低电平“ 0”;延时750微秒; 数据线拉倒高电平“1”;延时等待; 若CPU读到了数据线上的低电平后,还要做延时,其延时时间从发出高电平 起最少要480微秒;将数据线再次拉高到高电平后结束。DS1

6、8B20的写操作: 数据线先置低电平0;延时确定是15微秒;按从低位到高位的顺序发送字节(一次只发送一位);延时间为45微秒; 将数据线拉到高电平;(6)重复到的操作直到所有的字节全部发送完为止;最后将数据线拉高。3.3 显示电路对于数字温度的显示,我们采用 6位LED数码管。足够显示0100中的个 位数,并且还能显示一位小数部分。困土 36位1下D前仍显示首3.4 温度报警电路当设备的温度超过我们所设定的温度值时,系统就会产生报警。我们就能更 好对设备进行处理,避免造成不必要的损失。当温度高于100度时,报警时由单片机产生一定频率的脉冲,由 P3.7引脚 输出,P3.7外接一只NPN的三极管

7、来驱动扬声器发出声音,以便操作原来维护, 从而达到报警的目的。具电路图如下所示:LS1/SPEAKER wTEXTa/Q1SCO40BSi 国4 (a)当温度低于0度时,亮红灯报警,以便操作人员来 维护,从而达到报警的目的。其电路图如下:用31(b) 打灯报警系统电路图四、软件设计及调试4.1主程序主程序负责温度的实时显示、读出并处理 DS18B20的测量的当前温度 值,温度测量每隔一秒一次。这样可以在一秒之内测量一次被测温度。4.3 读出温度子程序读出温度子程序读出RAM中的9个字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图4.2所示:图42 诙出温度/程序

8、流程图4.4 温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换的时间为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。 4.5计算温度子程序计算温度子程序将RAM值进行BCD码的转换运算,并进行温度值正负的 判定,其程序流程图如图4.3所示。五、系统调制及操作说明六、总结本次课程设计我们做了两方面的工作, 一是单片机的学习与应用; 二是新器件的学习。 在这次课程设计中我们不仅巩固了平时所学的单片机的知识而, 且通过不断查阅相关资料, 学习新的知识。 可以说通过这次单片机的实践学习, 我们学到了很多, 而且对单片机的有关知识以及其在现实生活中

9、的多方面应用有些更深层次的认识。这对于我们以后的学习和步入社会后参加工作都有很大的帮助。在此次课程设计的进程中, 我们遇到了很多问题, 例如, 一开始我们在确定课题后, 在编程序时, 由于思路不太清晰。 而且设计中需要使用新器件 DS18B20智能测温, 而其相关的知识我们很模糊甚至一无所知, 不过后来我们通过查找一些相关的资料以及老师的帮助,终于将程序修改正确。通过本次课程设计, 我明白了很多, 理论指导实践, 但是理论也需要实践给予证明, 不能盲目的相信书本, 凡事都要通过自己的思考推敲, 否则自己不会取得更大的进步。 而且平时的学习生活中应该多和周围的同学相互学习, 交流经验,遇到不懂得

10、东西时,切忌焦躁。首先经过自己的独立思考,有了一定想法后,可可以去查相关的资料书刊或者找同学老师求助, 在解决问题的过程中, 不断加强自我的动脑能力,进而去指导动手能力,也只有这样,在思路清晰、条理顺畅的时候再去进行软件编写和硬件操作工作,才能起到事半功倍的效果。七、参考文献1 .张毅刚、彭喜元、彭宇编 W单片机原理及应用.高等教育出版社.2010.2 .楼然苗编.含FTIli.一 3-E r-d 萋T Tlr/ YAl* fX .r 5n. 占 m.l-fn 吕-.口 占占3 占 r/y 00媪5tTlrr附录B程序清单DQ FLAG FLAG TEMP_L TEMP_H TEMP_INT

11、TEMD_DPTEMD 100BIT P3.0BIT 00HNEGBIT 01HEQU 30HEQU 31HEQU 32HEQU 33HEQU 34H;从DS18B20像8051传送的数据端口;温度正负标志位;所设报警温度最低温度值;所设报警温度最高温度值TEMD_10EQU 35HTEMD_1EQU 36HC0BIT P3.1 ;负温度标志位C1BIT P3.2 ;超过100标志位C2BIT P3.3 ;超过10标志位C3BIT P3.4 ;超过1 标志位C4BIT P3.5 ;超过0标志位*主函数 *? *?START:ORG 0000H LJMP START ORG 1000HMOV S

12、P,#60HMAIN : LCALL READ_TEMP LCALL PROC_TEMP LJMP MAIN;调用函数读DS18B20所示温度;调用函数对温度进行处理 * ? * ?READ_TEMP:LCALL INI_DQ JB FLAGRE_0 RET;读取传感器所示温度;调用 LED 显示程序RE_0: MOV A , #CCH LACALL WRITE_DQ MOV A , #44H LCALL WRITE_DQ LCALL DISP_LED LCALL INI_DQ MOV A , #0CCH LCALL WRITE_DQ MOV A , #0BEH LCALL WRITE_DQ

13、LCALL READ_DQ RET*DS18B20*INI_DQ:SETB DQNOPPC 值加 2NOPCLR DQMOV R1, #3INI_0:MOV R0 , #80DJNZ R0, $DJNZ R1 , INI_0SETB DQNOPNOPNOPMOV R7, #25INI_1: JNB DQ, INI_2DJNZ R7, INI_1LJMP INI_3INI_2: SETB FLAGLJMP INI_4INI_3:CLR FLAGLJMP INI_5INI_4: MOV R0 , #80DJNZ R0, $INI_5: SETB DQRET*DS18B20;空操作 PC 值加 3;

14、 DQ 为 0 则转;延时;标志位;时序要求延时一段时间写命令WRITE_DQ:MOV R6, #8CLR CTLOOP: CLR DQMOV R2 , #6DJNZ R2, $RRC AMOV DQ , CMOV R2 , #23DJNZ R6, TLOOPSETB DQ;最低位移到C中RET * ?读DS18B20数据函数*READ_DQ:MOV R5 , #2MOV R0 , #30HREAD_0: MOV R6 , #8READ_1: CLR CSEDB DQNOPNOPCLR DQNOPNOPNOPNOPSETB DQMOV R2 , #9DJNZ R2, $MOV C , DQMO

15、VR3 , #23DJNZ R3, $RRC ADJNZ R6, READ_1MOV R0, AINC R0DJNZ R5, READ_0SETB DQRET; * 温度数据处理程序 *PROC_TEMP:CLR FLAG_NEGMOV A , TEMP_LSWAP A; A 中的高低四位互换ORG A, #0FOHMOV TEMP_INT , AMOV TEMP_HSWAP AORL A , #0FHANL TEMP_INT , AMOV A , TEMP_HCLR P3.6CLR P3.7JB ACC.7 , BAOJING1 ;低于零度亮红灯报警JB ACC.7, NEGTIVEMOV

16、A , TEMP_LANL A , #0FHMOV DPTR , #TAB3MOVC A , A+DPTRMOV TEMP_DP , ALJMP PRO_0; * 报警函数 *BAOJING1 : SETB P3.6RETNEGTIVE: ;温度值为负时处理程序,按实际情况,处理过程比较复杂SETB FLAG_NEGMOV A , TEMP_LCPL AANL A , #0FHMOV R1 , ACJNE R1, #0FH, PRO_1 ;低于零度则调用报警函数PUSH ACCMOV A , TEMP_INTSUBB A , #1MOV TEMP_INT , APOP ACCMOV TEMP_

17、DP , #00HLJMP PRO_2PRO_1: ADD A , #1MOV DPTR , #TAB3MOVC A , A+DPTRMOV TEMP_DP , APRO_2:MOV A , TEMP_INTCPL AMOV TEMP_INT , APRO_0:MOV A , TEMP_INTMOV B , #100DIV ABMOV TEMP_100 , AMOV A, BMOV B , #10DIV ABMOV TEMP_10 , AMOV TEMP_1 , BRET*LED初始化 *CLR_LED:CLR C0CLR C1CLR C2CLR C4 RET*LED显示 *DISP_LED:

18、LCALL CLR_LEDSETB C0JNB FLAG_NEG , DL_0MOV P1 , #0BFHLLCALL DELAY_10MSLJMP DL_1DL_0:MOV P1 , #0FFHLCALL DELAY_10MS;显示百位;超过一百度启动扬声器报警;显示十位;显示个位;显示小数点后的数DL_1: LCALL CLR_LEDSETB C1MOV A , TEMP_100MOV DPTR , #TAB4MOVC A , A+DPTRMOV P1, ACJNE A, #0F9H, CESHILCALL BAOJING2CESHI:LCALL DELAY_10MSLCALL CLR_L

19、EDSETB C2MOV A, TEMP_10MOV DPTR , #TAB4MOVC A , A+DPTRMOV P1 , ALCALL DELAY_10MSLCALL CLR_LEDSRTB C3MOV A , TEMP_1MOV DPTR , #TAB5MOVC A , A+DPTRMOV P1 , ALACALL DELAY_10MSLCALL CLR_LEDSETB C4MOV A , TEMP_DPMOV DPTR , #TAB4MOVC A , A+DPTRMOV P1 , A RET;BAOJING2: SETB P3.7RET; * 延时函数 *DELAY_10MS:MOV

20、R3 , #20DEL_1: MOV R4 , #248DJNZ R4, $DJNZ R3, DEL-1RET; * 小数位转换*TAB3:DB 00H , 01H, 01H, 02HDB 02H , 03H , 04H, 04HDB 05H , 06H , 06H, 07HDB 07H , 08H , 09H, 09H * ?无小数点位的段码*TAB4: DB 0C0H , 0F9H, 0A4H , 0B0H , 99H, 92H, 82H, 0F8H, 80H,90H*有小数点 *TAB5: DB 40H , 79H, 24H , 30H, 19H, 12H, 02H, 78H , 00H, 10H END

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!