欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于DS18B20的水温控制系统课程设计.docx

    • 资源ID:24165905       资源大小:728.45KB        全文页数:20页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于DS18B20的水温控制系统课程设计.docx

    1、基于DS18B20的水温控制系统课程设计郑州华信学院课程设计任务书题 目: 基于DS18B20的水温控制系统设计 专 业: 姓 名: 学 号: 班 级: 完 成 期 限: 2013年1月5日 指导教师签名: 课程负责人签名: 2012年11月20日【任务目的】了解DS18B20智能温度传感器的基本工作原理,掌握系统的软.硬件设计方法,熟悉PROTEUS仿真软件的使用。【任务描述】用DS18B20智能传感器作为检测元件;用LED数码管显示温度;用PROTEUS实现电路设计和程序设计,并进行实时交互仿真。1、功能要求与方案论证1.1功能要求:测温范围:-50+110度,误差在0.5度以内。1.2方

    2、案论证:按照系统设计功能的要求,确定系统有三个模块组成;主控器,测温点路及显示电路。数字温度计总体电路结构框图如图图1 硬件总框图2、硬件设计2.1主控制器:单片机AT89C2051具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要,很适合便携手持式产品的设计使用,系统可以用两节电池供电。2.2显示电路:显示电路采用4位共阳极LED数码管,从P1口输出段码,列扫描用P3.OP3.3口来实现,列驱动用PN4249三极管。2.3 DS18B20工作原理DALLAS半导体公司的数字化温度传感器是支持“一线总线”接口的温度传感器。一线总线独特且经济的特点,使用户可轻松的组建传感器网络,为

    3、测量温度范围为-55+125度,在-10+85度范围内,精度为0.5度。现场温度直接以“一线总线”的数字方式传输,明显提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如环境控制等。DS18B20的测温原理图如下: DS18B20测温原理图图中低温度系数晶振的振荡频率受到温度而影响很小,用于产生固定频率的脉冲信号送给减法计数器1:高温度系数晶振随温度变化其振荡频率明显变化,所产生的信号作为减法计数器2的脉冲输入。当计数门打开时,DS18B20就对低温系数晶振产生的脉冲信号进行计数,进而完成温度测量。计数门的开启,时间由高温度系数晶振来决定,每次测量前,首先将-55度所对应的一个基数分别置入减

    4、法计数器上,温度寄存器中。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置值将重新装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行减法计数,如此循环看,直到减法计数器2计数到0时,停止温度寄存器值得累加,此时温度寄存器中的数值就是所测温度值。图中的斜率累加器用于补偿和修正测温过程中的非线形性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程。直到温度寄存器达到被测温度值。另外,由于DS18B20单线通信功能是分时完成,她有严格的时隙概念,因此读写时序很重要,系统对于DS18B29的各种

    5、操作必按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。3、系统程序设计 系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序等。3.1主程序 主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值,温度测量每1s进行一次。其程序流程图如图所示。3.2读出子程序 读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图所示。3.3温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用1

    6、2位分辨率,时转换时间约为750ms。在本程序设计中采用1s显示程序延时法等待转换的完成。3.4计算温度子程序 计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值的正负判定,其程序流程图如图。3.5显示数据刷新子程序 显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0,将符号显示移入下一位。程序流程图如下图所示。3.6源程序清单TIMEL EQU 0E0HTIMEH EQU 0B1HTEMPHEAD EQU 36HBITST DATA 20HTIME1SOK BIT BITST.1TEMPONEOK BIT BITST.2TEMPL DATA 26H

    7、TEMPH DATA 27HTEMPHC DATA 28HTEMPLC DATA 29HTEMPDIN BIT P3.7 ORG 0000H LJMP START ORG 000BH LJMP T0IT ORG 100HSTART:MOV SP,#60HCLSMEM:MOV R0,#20H MOV R1,#60HCLSMEM1:MOV R0,#00H INC R0 DJNZ R1,CLSMEM1 MOV TMOD,#00100001B MOV TH0,#TIMEL MOV TL0,#TIMEH SJMP INITERROR:NOP LJMP START NOPINIT:NOP SETB ET0

    8、 SETB TR0 SETB EA MOV PSW,#00H CLR TEMPONEOK LJMP MAINT0IT:PUSH PSW MOV PSW,#10H MOV TH0,#TIMEH MOV TL0,#TIMEL INC R7 CJNE R7,#32H,T0IT1 MOV R7,#00H SETB TIME1SOKT0IT1:POP PSW RETIMAIN:LCALL DISP1 JNB TIME1SOK,MAIN CLR TIME1SOK JNB TEMPONEOK,MAIN2 LCALL READTEMP1 LCALL CONVTEMP LCALL DISPBCD LCALL D

    9、ISP1MAIN2:LCALL READTEMP SETB TEMPONEOK LJMP MAININITDS1820:SETB TEMPDIN NOP NOP CLR TEMPDIN MOV R6,#0A0H DJNZ R6,$ MOV R6,#0A0H DJNZ R6,$ SETB TEMPDIN MOV R6,#32H DJNZ R6,$ MOV R6,#3CHLOOP1820:MOV C,TEMPDIN JC INITOUT DJNZ R6,LOOP1820 MOV R6,#64H DJNZ R6,$ SJMP INITDS1820 RETINITOUT:SETB TEMPDIN RE

    10、TREADDS1820:MOV R7,#08H SETB TEMPDIN NOP NOPREADLOOP:CLR TEMPDIN NOP NOP NOP SETB TEMPDIN MOV R6,#07H DJNZ R6,$ MOV C,TEMPDIN MOV R6,#3CH DJNZ R6,$ RRC A SETB TEMPDIN DJNZ R7,READLOOP MOV R6,#3CH DJNZ R6,$ RETWRITEDS1820:MOV R7,#08H SETB TEMPDIN NOP NOPWRITELOOP:CLR TEMPDIN MOV R6,#07H DJNZ R6,$ RRC

    11、 A MOV TEMPDIN,C MOV R6,#34H DJNZ R6,$ SETB TEMPDIN DJNZ R7,WRITELOOP RETREADTEMP:LCALL INITDS1820 MOV A,#0CCH LCALL WRITEDS1820 MOV R6,#34H DJNZ R6,$ MOV A,#44H LCALL WRITEDS1820 MOV R6,#34H DJNZ R6,$ RETREADTEMP1:LCALL INITDS1820 MOV A,#0CCH LCALL WRITEDS1820 MOV R6,#34H DJNZ R6,$ MOV A,#0BEH LCAL

    12、L WRITEDS1820 MOV R6,#34H DJNZ R6,$ MOV R5,#09H MOV R0,#TEMPHEAD MOV B,#00HREADTEMP2:LCALL READDS1820 MOV R0,A INC R0READTEMP21:LCALL CRC8CAL DJNZ R5,READTEMP2 MOV A,B JNZ READTEMPOUT MOV A,TEMPHEAD+0 MOV TEMPL,A MOV A,TEMPHEAD+1 MOV TEMPH,AREADTEMPOUT: RETCONVTEMP:MOV A,TEMPH ANL A,#80H JZ TEMPC1 C

    13、LR C MOV A,TEMPL CPL A ADD A,#01H MOV TEMPL,A MOV A,TEMPH CPL A ADDC A,#00H MOV TEMPH,A MOV TEMPHC,#0BH SJMP TEMPC11TEMPC1:MOV TEMPHC,#0AHTEMPC11:MOV A,TEMPHC SWAP A MOV TEMPHC,A MOV A,TEMPL ANL A,#0FH MOV DPTR,#TEMPDOTTAB MOVC A,A+DPTR MOV TEMPLC,A MOV A,TEMPL ANL A,#0F0H SWAP A MOV TEMPL,A MOV A,T

    14、EMPH ANL A,#0FH SWAP A ORL A,TEMPL LCALL HEX2BCD1 MOV TEMPL,A ANL A,#0F0H SWAP A ORL A,TEMPHC MOV TEMPHC,A MOV A,TEMPL ANL A,#0FH SWAP A ORL A,TEMPLC MOV TEMPLC,A MOV A,R7 JZ TEMPC12 ANL A,#0FH SWAP A MOV R7,A MOV A,TEMPHC ANL A,#0FH ORL A,R7 MOV TEMPHC,ATEMPC12:RETTEMPDOTTAB:DB 00H,01H,01H,02H,03HD

    15、B 03H,04H,04H,05H,06H DB 06H,07H,08H,09H,09HDISPBCD:MOV A,TEMPLC ANL A,#0FH MOV 70H,A MOV A,TEMPLC SWAP A ANL A,#0FH MOV 71H,A MOV A,TEMPHC ANL A,#0FH MOV 72H,A MOV A,TEMPHC SWAP A ANL A,#0FH MOV 73H,A MOV A,TEMPHC ANL A,#0F0H CJNE A,#010H,DISPBCD0 SJMP DISPBCD2DISPBCD0:MOV A,TEMPHC ANL A,#0FH JNZ D

    16、ISPBCD2 MOV A,TEMPHC SWAP A ANL A,#0FH MOV 73H,#0AH MOV 72H,ADISPBCD2:RETDISP1:MOV R1,#70H MOV R5,#0FEHPLAY:MOV P1,#0FFH MOV A,R5 MOV P3,A MOV A,R1 MOV DPTR,#TAB MOVC A,A+DPTR MOV P1,A MOV A,R5 JB ACC.1,LOOP5 CLR P1.7LOOP5:LCALL DL1MS INC R1 MOV A,R5 JNB ACC.3,ENDOUT RL A MOV R5,A AJMP PLAYENDOUT:MO

    17、V P1,#0FFH MOV P3,#0FFH RETTAB: DB 0C0H,0F9H,0A4H,0B0HDB 99H,92H,82H,0F8HDB 80H,90H,0FFH,0BFHDL1MS:MOV R6,#14HDL1:MOV R7,#19HDL2:DJNZ R7,DL2 DJNZ R6,DL1 RETHEX2BCD1:MOV B,#64H DIV AB MOV R7,A MOV A,#0AH XCH A,B DIV AB SWAP A ORL A,B RETCRC8CAL:PUSH ACC MOV R7,#08HCRC8LOOP1:XRL A,B RRC A MOV A,B JNC

    18、CRC8LOOP2 XRL A,#18HCRC8LOOP2:RRC A MOV B,A POP ACC RR A PUSH ACC DJNZ R7,CRC8LOOP1 POP ACC RET END4、系统仿真按电路图在ISIS编辑区中进行设计。首先从PROTEUS库中选取元器件和工具(AT89C2051:单片机;7SEG.MPX4.CA:LED数码管;74HC245:三同相三态缓冲器;DS18B20:数字温度传感器);其次放置元器件、放置电源和地;要特别注意正确连线和正确设置网络标号;最后完成元器件属性设置和电气检测。 4.1执行菜单SourceAdd/Remove Source File,

    19、新建源程序文件WDJ.ASM。4.2执行菜单SourceWDJ.ASM,打开PROTEUS提供的文本编辑器SRCEDIT,在其中编辑源程序,并保存。4.3执行菜单SourceBuild All,编译源程序,生成目标代码文件WDJ.HEX。若编译失败,修改调试直至编译成功。4.4打开单片机的元器件属性窗口,在Program File栏中添加上面编译好的目标代码文件WDJ.HEX;在Clock Frequency栏中输入晶振频率12MHz。4.5启动传真后,LED数码管显示DS18B20的初始温度,可以分别单击DS18B20调试器中的左按钮和右按钮来实现输出温度值的升降,LED数码管的显示温度也随之变化。5、主要参考资料:1李全利,单片机原理及接口技术M,高等教育出版社2王文杰,单片机应用技术M,冶金工业出版社3朱清慧,PROTEUS教程电子线路设计、制版与仿真M,清华大学出版社4单片机实验指导书,天煌教仪5彭伟,单片机C语言程序设计实训100例M,电子工业出版社6、附录6.1 DS18B20测温系统元件清单元件名称数量单片机STC89C52RC112M晶振1瓷片电容30pF2电解电容10uF1电阻10k1电阻4.7k1电阻2k4DS18B201PNP三极管S85504四位共阳数码管LG5641BH1排针1排排孔1排导线2米焊锡丝1米6.2电路图


    注意事项

    本文(基于DS18B20的水温控制系统课程设计.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开