简易温度检测系统的设计 1 设计目的 (1)本实验要实现的是通过DS18B20温度传感器读回温度并在4位数码管上显示,并学会使用单片机控制DS18B20此类单总线器件,并对数字温度传感器DS18B0进行时序分析; (2)学会绘制硬件原理电路图,软件程序框图; (3)掌握Proteus仿真调试。 2 设计的主要内容和要求LED数码直读显示当前温度值; (2)温度检测范围-55°到125°(注:-1°到-55°用数值255-201表示)。 3 整体设计方案 本系统的设计分硬件系统的设计和系统软件的设计。硬件系统包括单片机、LCD显示电路、时钟、温度采集电路;系统软件主要包括温度采集和数据处理的相应子程序以及LCD显示温度值的等相关子程序。温度计电路设计总体设计方框图如下图1所示,控制器采用单片机AT89C2051,温度传感器采用DS18B20,用4位LED数码管以串口传送数据实现温度显示。 图3.1 整体设计方框图 4 硬件电路的设计 系统整体硬件电路包括,传感器数据采集电路,温度显示电路,单片机主板电路等,如图4.1 所示: 图4.1系统的硬件电路原理图 5 软件设计 一个应用系统,要完成各项功能,首先必须有较完善的硬件作保证。同时还必须得到相应设计合理的软件的支持,尤其是微机应用高速发展的今天,许多由硬件完成的工作,都可通过软件编程而代替。系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。图5.1为主程序流程图: 图5.1主程序流程图 主要程序设计: ORG 0000H TEMPER_L EQU 41H TEMPER_H EQU 40H FLAG1 EQU 38H A_BIT1 EQU 31H B_BIT1 EQU 32H D_BIT1 EQU 35H DQ EQU P3.2 MOD7: MOV SP,#60H LCALL GET_TEMPER LCALL TEMPCOV LCALL DISPLAY AJMP MOD7 TEMP0: INC A AJMP TEMP1 TEMPCOV:MOV A,TEMPER_L MOV B,#16 DIV AB JB B.3,TEMP0 TEMP1: MOV 34H,A MOV A,B MOV B,#10 MUL AB MOV B,#16 DIV AB MOV 30H,A MOV A,TEMPER_H6 MOV B,#16 MUL AB ADD A,34H MOV B,#10 DIV AB MOV 31H,B MOV B,#10 ; DIV AB ; MOV 32H,B MOV B,#10 ; DIV AB ; MOV 35H,B MOV A,TEMPER_H MOV 33H,#10H ; JB ACC.7,EXIT7 MOV 33H,#00H EXIT7: RET INIT_1820: SETB DQ NOP CLR DQ MOV R1,#3 TSR1: MOV R0,#107 DJNZ R0,$ DJNZ R1,TSR1 SETB DQ NOP NOP NOP MOV R0,#25H TSR2: JNB DQ,TSR3 DJNZ R0,TSR2 LJMP TSR4 ;延时 TSR3: SETB FLAG1 LJMP TSR5 TSR4: CLR FLAG1 LJMP TSR7 TSR5: MOV R0,#117 TSR6: DJNZ R0,TSR6 TSR7: SETB DQ RET GET_TEMPER: SETB DQ LCALL INIT_1820 JB FLAG1,TSS2 RET TSS2: MOV A,#0CCH LCALL WRITE_1820 MOV A,#44H LCALL WRITE_1820 LCALL DISPLAY LCALL INIT_1820 MOV A,#0CCH LCALL WRITE_1820 MOV A,#0BEH LCALL WRITE_1820 LCALL READ_18200 RET WRITE_1820: MOV R2,#8 CLR C …… DJNZ R0,DPL1 RET D1MS: MOV R7,#0FFH DJNZ R7,$ DJNZ R7,$ RET TAB: DB 07DH DB 018H DB 06EH DB 03EH DB 037H DB 01BH DB 077H DB 01CH DB 07FH DB 03FH ; END 6 系统仿真 本设计在Proteus的ISIS 7.1sp2或者更高版本的软件环境下打开电路仿真图,下面6.1。接下来将设计好的程序在Keil C51 μVision3开发集成环境上编译成机器语言,生成.hex文件,进入Proteus的ISIS,将KeilC下编程生成的.hex文件导入到AT89C51中,可在Proteus中单击全速仿真运行按钮, 图6.1显示仿真图 7 使用说明2)将程序的.HEX文件导入AT89C2051芯片中; (3)按开始进行仿真,此时LCD上将会显示温度传感器当前温度值。 8 设计总结 通过此次课程设计,对硬件电路的工作原理有了进一步的学习,进一步的认识;软件方面,在程序的设计,程序的调试方面都学到了很多东西,这是第一次编写单片机的大程序,很有成就感。在这几天课设的时间里,实验室的氛围对我们的影响很大,大家一起努力,这也是我们能完成课设的动力。另外在编程中出现问题时,一定要戒骄戒躁,脚踏实地,认真看书,仔细分析,仔细调试,就一定会发现错误,克服困难,我们也是这么做的,这在课设中十分重要。[1
单片机简易温度检测.doc
下载此电子书资料需要扣除0点,